2016년 12월 25일 일요일

12월 소식들..

소프트웨어

자신이 구현한 암호화 관련 기능의 베이스라인을 잡는데 도움을 주는 구글의 Project Wycheproof에 대한 소식.. 현재는 Java 코드만 제공 되지만 다른 언어로 포팅된 버전도 나올 가능성이.. 링크 링크

구글의 Public NTP 서버에서 지구의 자전과 관련해 시간에 오차가 발생하는 Leap second와 관련해 leap-smeared time을 지원 한다는 소식.. 대신 일반 NTP와 혼용하지는 말라고.. 링크

VM 중립적인 Node.js API에 대한 소식.. 구글의 V8 뿐만 아니라 MS의 ChakraCore를 지원하면서 노드 모듈을 사용하기 위해 별도의 컴파일 과정이 필요하지 않게 될거라는 이야기가.. 링크

크롬의 시만택 SSL 인증과 관련한 버그 소식.. 크롬 53에서 버그로 인해 안드로이드의 WebView 컴포넌트를 포함해 인증오류를 보이는 경우가 있다고.. 6월 1일 이후로 적용된 인증서 투명성 정책이 적용되면서 발생한 버그라고 하며 크롬의 버전을 55이후로 업데이트 하길 권장한다고.. 링크

하드웨어

AMD의 딥러닝 대응 제품군인 Radeon Instinct 소식.. 기존의 파이어프로 제품군은 더이상 나오지 않을 거라고 하며 그래픽 부문의 프로슈머 카드는 Radeon Pro 컴퓨트 영역은 Instinct 카드로 대체가 된다고.. 폴라리스와 피지 기반의 카드는 경쟁사 대비 낮은 정밀도의 연산에서 추가적인 가속 기능이 없기 때문에 가격적인 면에서 메리트를 제공할 것으로 예상되고 본격적인 경쟁은 베가 기반의 제품에서 이뤄질 것으로 예상이.. cuDNN에 대응해 ROCm의 상위 레이어에서 동작하는 MIOpen 라이브러리를 제공할 것이라고.. 링크

Bluetooth 5에 대한 소식.. 스펙은 확정된 상태지만 제품을 볼 수 있는건 2017년 2월에서 6월 사이가 될 것이라고 하며 특징으론 기존대비 4배의 유효거리, 2배의 전송속도 8배의 브로드캐스트 메시지 용량 그리고 건물 전체를 커버할 정도의 안정적이고 강한 연결을 보장할 것이라는데.. 링크

AMD의 Radeon 소프트웨어의 ReLive 에디션 소식..  특이점으론 프로 라인업과의 소프트웨어 통합으로 프로슈머용 소프트로 개편 되었고 Raptr를 대체할 ReLive 캡쳐 기능 추가, 인수한 HiAlgo의 기술이 전성비 개선을 위한 Radeon Chill이란 기능으로 탑제 되었고 현재는 DX9, 10, 11에만 대응중인.. 그밖에도 WattMan의 R9 200이후 칩셋 지원과 리눅스에서 FreeSync 지원이라던가 VP9 코덱의 하이브리드 가속 같은 기능들이 추가된.. 드라이버에는 포함되지 않았지만 DX12나 Vulkan에서 FRAPS를 대체할 OCAT이라는 오픈소스 소프트웨어도 추가됨.. 링크 링크

보안

전자 상거래 사이트들 간에 요구하는 결재를 위한 카드 정보 필드가 다른 점을 착안해 이렇게 분산된 정보를 크롤링 봇을 이용해 수집해 온전한 카드 정보를 만들어내는 공격 방식에 대한 소식.. 개인적으론 결재 정보는 저장하지 않고 그때 그때 새로 입력하는 편인; 링크 

AWS의 DDoS로 부터의 위협을 경감시켜주는 Shield 서비스 발표에 대한 소식.. 링크

NO MORE RANSOM!이라고 불리는 사이트에 대한 소식.. 여러 보안업체들의 참여로 랜섬웨어에 대한 정보와 복호화 툴을 제공하는.. 링크

페이스북 내부에서 사용되던 의심스러운 SSL 인증을 찾는 툴이 외부에 공개 되었다는 소식이.. Certificate Transparency Monitoring 툴이라고 불리는데 누구라도 특정 도메인의 인증과 관련된 로그를 받아 볼 수 있도록 하는 툴이다. 링크

소니의 보안용 IP 카메라의 백도어와 관련된 보안 업데이트에 대한 소식.. 하드코드 된 인증서와 암호를 이용해 텔넷 서비스를 활성화 시키고 루트 권한을 취득할 수 있는 문제가 발견 됐는데 원래 소니의 개발자들이 이용하던 백도어 였다는 이야기가.. 현재 보안 패치가 나온 상태이고 공격의 타겟이 되기전에 빠른 패치를 권장한다고.. 링크

2016년 12월 4일 일요일

11월 4주차 소식들..

기타

1세대 원자로의 반응 조절 장치로 사용 되었던 흑연 블럭을 이용해 다이아몬드 배터리를 만드는 방법을 발견했다는 소식.. 탄소-14 가스를 추출해 인공 다이아몬드로 만드는  방식인데 이렇게 만들어진 방사성 다이아몬드에 비방사성 다이아몬드로 코팅해서 이용할 수 있다고.. 링크

소프트웨어

macOS 10.12의 Darwin 소스코드 공개 소식.. 링크

보안

독일과 아일랜드의 IPS가 제공하는 라우터 장비에서 발견된 결함에 대한 소식.. 외부에서 하드웨어 제어를 위해 7547포트를 열어두는데 공격 방식은 해당 포트를 통해 TR-069에 기반하고 TR-064 프로토콜과 연관된 명령어를 사용한다고.. 결함을 이용한 공격 코드가 공개 되어있고 80 포트를 열어 라우터의 원격 제어가 가능해지게 만들어 대규모 봇넷 공격에 이용될 가능성이 있다고.. 링크

NTP 프로토콜을 이용한 DDoS 공격 빈도가 빈번해 짐에 따라 패치와 권고안에 대한 소식이.. 패키지를 ntp-4.2.8p9로 업데이트 하고 공격자들은 보통 위조된 IP를 이용하기 때문에 이를 막을 수 있는 BCP-38을 통해 입구와 출구에 대한 필터링을 적용하길 권장한다고.. 다른 권고안에 대한 내용 또한 원문에 게시된.. 링크

2016년 11월 21일 월요일

자신의 앱이 셀프 DDoS를 가하는 상황을 피하기 위한 방법들..

참고 : http://www.infoworld.com/article/3138018/security/developers-dont-ddos-your-own-apps.html ,
https://cloudplatform.googleblog.com/2016/11/how-to-avoid-a-self-inflicted-DDoS-Attack-CRE-life-lessons.html

앱의 기본 데이터 리프레시 주기와 서버의 장애시 재시도 주기가 고정된 값을 갖는 경우 둘이 겹치는 상황에서 트래픽이 배가 되어 앱 스스로 자신의 서비스에 DDoS 공격과 유사한 상황을 야기하고 이러한 좋지않은 주기가 반복되는 문제에 대한 이야기인데..

구글 엔지니어가 이야기하는 3가지 해법은 다음과 같다.

지수의 형태로 증가하는 지연시간(exponential backoff)

고정된 짧은 재시도 주기를 사용할 경우 로드벨런서에 요청이 쌓이고 서버가 정상으로 돌아왔을 때 과부하 상황을 야기하기 좋기 때문에 고정된 재시도 주기가 아닌 1, 2, 4, 8, 16과 같은 형태로 재시도 주기를 증가 시키고 정상적인 상황의 동기화 주기가 15분이라면 재시도 주기는 최대 16 정도로 잡을 수 있다. 하지만 이역시 다수의 장비들의 재시도 주기가 동기화 되는 현상을 해결하기엔 부족하다..

무작위 주기를 더하거나 빼기(a little jitter)

장시간 서버의 다운타임을 겪게 되면 지수의 형태로 증가하는 지연시간을 이용하더라도 재시도 주기가 맞물리는 현상은 발생하며 이를 피하기 위해 지연시간에 +/- 고정 비율의 주기에서 랜덤하게 시간을 선택할 수 있다. 예를 들면 다음 재시도 주기가 4분에 30% 비율을 이용하기로 했다면 최소 2.8분 최대 5.2분 사이의 값을 랜덤하게 적용하도록 하는 것이다.

이 방법은 실생활에서 폰과 컴퓨터 사용자들의 수면과 기상 패턴과 같은 점을 고려 했을 때 일반적인 동기화 주기에 적용해도 효과가 있다고 한다.

재시도 횟수 기록하기(retry marking)

대규모 분산 시스템의 경우 장애에서 전체 처리량이 완전히 복구 되기 까지 어느정도 시간이 걸리기 때문에 앞의 두가지 방법 만으로는 충분하지 않다.

이를 해소하기 위한 손쉽고 효과적인 방법으로 클라이언트에서 정상적인 연결과 재시도 횟수의 비율을 기록해 백엔드에서 접속의 우선순위를 두는 것이며 이에대한 판단은 사업의 성격에 따라 다를 수 있다.

2016년 11월 20일 일요일

11월 3주차 소식들..

소프트웨어

 AMD의 HSA 소프트웨어 스택을 담당하는 Boltzmann Initiative의 ROCm 1.3 소식.. 데이터 크기를 줄일 수 있도록 Tonga 하드웨어 이상 부터 16비트 형식의 데이터를 지원하도록 바뀌었고 플렛폼의 언어 지원의 초점이 OpenCL에서 HCC와 C++로 이동하는 방향으로 수정되었으며 OpenCL의 경우 1.2를 베이스로 2.0의 기능들이 백포트 되가는 형태가 될 것이라고.. HIPity 코드 변환 툴의 기능향상이 눈에 띄는데 CUDA로 작성된 CAFFE 딥러닝 프레임웍을 변환하는데 99.6%의 코드가 자동 변환 되었고 5만 5천 라인의 코드의 포팅 작업을 완료 하는데 4일이 소요 되었다는 이야기가.. 이번 버전부터 폴라리스 하드웨어를 정식 지원하고 앞으로 ARM과 POWER8 플렛폼도 지원 예정이라는 소식.. 링크

기타

구글 클라우드에 2017년 초부터 GPU 서비스가 추가된다는 소식.. AMD와 NVIDIA 모두 지원하며 분당 과금 형태가 될거라고.. 링크

iPhone 6 Plus의 터치와 관련된 하드웨어 결함을 인정하고 수리 프로그램을 진행한다는 소식.. 149$의 수리비를 필요로 하고 혹시 더 많은 비용을 들여 수리한 이력이 있다면 추가 금액을 상환 해준다는 소식이.. 링크

보안

Facebook과 Google의 OAuth 2.0을 사용하는 써드파티 앱들의 보안 결함에 대한 소식.. 상당수의 앱들이 계정 정보를 탈취 당할 수 있는 위험에 놓여 있다고 하며 SSO 구현시 보안과 관련한 가이드라인이 명시되지 않은 점이 문제라고.. 기본적인 공격 방식은 피해자의 장비에 SSL 프록시를 설치하여 Man in the middle 상태를 유도하는 형태인데 써드파티의 백엔드 서버에서 클라이언트 앱에서 보내온 인증에 대해 재 검증 절차를 거치지 않는 헛점을 이용한다고.. 링크

BlackNurs 라고 불리는 새로운 형태의 DoS 공격에 대한 소식.. 일반적인 ping floods 공격의 경우 ICMP Type 8 Code 0 패킷을 이용하지만 새로운 방식의 경우 Type 3(Destination Unreachable) Code 3(Port Unreachable)를 사용하는데 적은 대역을 점유하면서 일부 방화벽 장비의 CPU에 과부하를 주는 형태로 네트웍을 마비 시킨다고.. 링크

2016년 11월 14일 월요일

11월 2주차 소식들..

소프트웨어

 MS의 Azure 클라우드에서 구글의 컨테이너 오케스트레이션 솔루션인 Kubernetes(K8S)에 대한 지원 강화 소식.. 개인적으로 아마존의 AWS와 비교해 K8S의 적용의 편의성 측면에서 어느정도 차이가 있을지 궁금해지는.. 링크

보안

NVIDIA의 드라이버 설치시 원격 정보수집을 위한 구성요소가 함께 설치된다는 소식.. 현재 사용자가 해당 기능의 On/Off를 선택할 수 있는 방법은 제공하고 있지 않아서 문제가.. 사업의 중심이 그래픽 분야에서 AI와 HPC 분야로 옮겨가는 추세라 그런지 개인적인 생각에 수집된 데이터로 머신러닝을 이용해 쓸만한 데이터를 추출해낼려는 건가 싶기도.. 링크

2016년 11월 8일 화요일

11월 1주차 소식들..

기타

스마트폰을 이용한 암 검출기 소식.. 스마트폰의 카메라에 부착하여 99%의 정확도로 다양한 종류의 암에 대한 생물학적 지표를 검출해낼수 있다고.. 약 $150 정도의 8채널 스마트폰 분광계를 사용하며 아이폰5에 대응해 개발 되었지만 다른 스마트폰에서 동작하도록 조정될 수 있다고.. 링크

분뇨의 원유 변환에 대한 소식.. 자연 상태에서 원유 생성 과정을 흉내낸 방식으로 걸리는 시간은 수세대가 아닌 수분에 불과하며 생성된 원유는 천연 상태의 원유와 비슷하며 산소와 물을 포함하고 있어 기존의 원유 정제 시설을 통해 이용할 수 있다고.. 2018년 부터 시설을 가동할 것으로 예상 된다는 소식.. 링크

2016년 11월 3일 목요일

10월 4주차 소식들..

보안

ARM의 SaaS 플렛폼인 mbed 클라우드 소식.. IoT 장비가 동원된 대규모 DDoS 소식 이후 근본적인 문제를 해결하기 위한 움직임이.. 해당 플렛폼을 통해 장비의 연결과 설정, 보안키 관리와 펌웨어 업데이트와 같은 기능을 제어할 수 있다고하며 ARM을 탑제하지 않은 장비에서도 사용 가능하다고.. 링크

Joomla 의 계정 등록이 비활성 된 상태에서도 계정을 생성하고 권한을 상승시킬 수 있는 결함에 대한 패치 소식.. 3.6.4 버전에서 패치 되었지만 패치에 대한 빠른 리버스 엔지니어링을 통한 구버전 사이트의 공격 사례가 급격히 증가하고 있다고.. 아직 패치를 하지 않은 상태라면 이미 사이트가 탈취된 상태일 가능성이 높다고 함.. 링크

중국의 SSL 인증 발급 업체인 WoSign이 현재는 사용하지 않는(2016년 1월부로..) SHA-1 알고리즘 기반의 인증서를 발급하고 있어 모질라, 애플에 이어 구글 역시 WoSign과 StartCom(WoSign이 인수한..)에서 발급한 인증서는 허용하지 않기로 결정 했다고 하며 크롬 56부터는 사용할 수 없게 된다고.. 링크

2016년 10월 29일 토요일

10월 3주차 소식들..

기타

이산화탄소를 에탄올로 전환할 수 있는 기법에 대한 소식.. 나노공학을 이용한 탄소, 구리, 질소와 같은 저렴한 원소를 이용한 촉매에 전압을 인가하면 점화 반응과는 반대 과정의 복잡한 화학반응을 통해 이산화탄소를 물에 용해시켜 63% 수율로 에탄올을 만들 수 있다고.. 반응을 일으키기 위한 전력공급에 기존의 재생에너지를 이용할 수 있을 것 같다는 이야기가.. 링크

소프트웨어

Java JDK9의 일정 연기 소식.. Project Jigsaw로 인해 4개월 연기된 2017년 7월말 정식 발표로 일정이 잡혔다고.. 링크

리눅스 커널 4.7의 지원 중단 소식.. 4.7.10을 마지막으로 지원이 중단되며 4.8과 같은 최신 브랜치로 이전하길 권고한다는 소식이.. 링크

이전에도 한번 소식을 다뤘던 LRNG(Linux Random Number Generator) 패치가 커널 4.9에 병합되기 시작 했다는 소식이.. 링크

보안

대규모 서비스 장애를 초래한 Dyn의 DNS 서비스에 대한 대규모 DDoS 공격의 배후에 IoT 봇넷인 Mirai와 Bashlight가 있었던 것으로 확인 됐다는 소식이.. Mirai의 경우는 깃헙에 소스가 공개된 상태라 변종 봇넷이 많이 등장할 가능성이 있어 보이는.. 링크

Cisco의 Talos 팀의 윈도 시스템의 MBR 보호툴인 MBRFilter에 대한 소식.. 디스크의 섹터0을 읽기 전용으로 변경해서 MBR을 타겟으로 하는 랜섬웨어로 부터 보호한다고.. 링크

오라클의 10월 정기패치 소식.. 이번에도 253개의 수정사항을 포함한 역대급 규모의 패치가.. 링크

x86 플렛폼에서 메모리 상의 비트 데이터 데이터 조작을 통한 해킹 기법인 Rowhammer가 ARM 칩에서도 동작하는 것이 확인 됐다는 소식이.. Rowhammer에 대한 개인적인 기억으로는 왜 DDR4 세대에 와서까지 ECC가 기본 기능으로 탑제되지 않는가라는 리누스 토발즈의 이야기가 있었던 것 같은데(물론 100% 막을 수 있는 건 아니고 해킹이 어려워지는 수준이지만..) 최근 AMD의 CPU아키텍쳐에 ARM을 메모리 암호화 처리용 칩으로 내장할 것이라는 이야기도 이런 문제들과 연관이 없는건 아닌듯한.. 여하튼 안드로이드 플렛폼에서는 좀더 진화한 Drammer라고 불리는 기법이 되었고 루트 권한을 획득할 수 있는 문제가 있다고.. 소프트웨어적인 결함보다는 하드웨어적인 취약점을 파고드는 기법이라 완벽히 막는데는 시간이 걸릴것으로 보임.. 링크

리눅스의 메모리 서브시스템의 결함을 이용한 DirtyCOW(copy-on-write) 결함 소식.. 무려 9년이나 존재했던 버그라고 하며 현재는 패치가 배포된 상태.. 공격자가 루트 권한을 획득할 수 있는 문제가 있고 원격지에서 직접 권한상승 결함을 이용할수는 없지만 외부에서 접근 가능한 쉘을 제공하는 서비스 업체의 경우는 문제가 된다고.. 추가로 안드로이드의 경우 역시 영향을 받고 패치가 필요하다고.. 링크 링크

2016년 10월 28일 금요일

Cloud9에 Oracle JDK8 설치하기..

참고 : http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

여러 장비에서 해커랭크의 문제를 심심풀이로 풀다보니 소스코드 관리가 필요하지는 않지만 코드를 저장할 수 있는 언제 어디서나 접근 가능한 작업 공간이 필요해졌다. 방법을 생각하다보니 클라우드 기반 IDE가 적당한 솔루션인 것 같아 보였고 최근에 많이 쓰이는 서비스로 Cloud9, Codenvy, Codeanywhere가 있었다.

비교 자료를 보면 가장 강력한 툴로는 Codenvy가 언급되고 있기는 했지만 가볍게 알고리즘 문제 정도만 작성하고 실행해 볼 수있으면 되는 무료 툴을 원하다 보니 얼마전 아마존에서 인수한 Cloud9을 사용해 보기로 하였다.

기본적으로 우분투 리눅스 컨테이너 이미지를 기반으로 동작하며 Bash 콘솔을 제공하기 때문에 무료 사용자에게 허용된 시스템 리소스 한도 내에서는 원하는대로 세팅이 가능하며 그래서 인지 기본 세팅에서는 Java 어플리케이션 개발 환경이 정상적으로 세팅이 되어 있지 않다...

위 코드는 기존에 설치된 jre를 제거하고 Oracle JDK8을 설치하는 방법을 기술하고 있으며 여러개의 JDK가 설치되어 있는경우 Java 8을 기본 사용으로 설정하는 방법 역시 포함하고 있다.

2016년 10월 18일 화요일

10월 2주차 소식들..

하드웨어

새로운 메모리 인터페이스 개발을 위한 Gen-Z 컨소시엄 소식.. 로열티 없는 공개 비영리 표준을 만드는게 목표라고 하며 최근 머신러닝의 보급이 확산 되면서 다뤄야하는 데이터셋의 크기가 점점 증가하고 이에 따라 메모리 계층의 다변화와 추가로 이기종 컴퓨팅이 보편화 되고 있는 상황의 문제를 해결하기 위한 하드웨어와 소프트웨어 인터페이스 정의를 위한 움직임이.. 링크

보안

결제 정보 탈취를 위해 공격자가 JavaScript 코드를 삽입한 사이트에 대한 소식.. 리스트에 포함된 co.kr 주소는 파나소닉 코리아 온라인샵이.. 링크 링크

폭스콘 펌웨어를 포함한 안드로이드 장비의 Pork Explosion 보안 결함 소식.. 해당 장비를 USB에 연결한 상태에서 reboot-ftm(필드 테스트 모드) 명령어를 통해 각종 보안 설정을 우회할 수 있는 문제가 있다고.. 링크 링크

2016년 10월 13일 목요일

10월 1주차 소식들..

보안

구글의 V8 자바스크립트 엔진의 BadKernel이라 불리는 보안 결함 소식.. 3.2 - 4.2 사이의 버전이 영향을 받고 공격자가 휴대폰의 모든 권한을 취득할 수 있는 문제가 있다고.. V8 엔진이 탑제된 대표적인 앱들을 살펴보면 크롬, 오페라 브라우저와 이밖에 WebView 안드로이드 컴포넌트(앱에 브라우저 기능 제공을 위한..)를 사용한 다수의 앱이 존재하며 안드로이드 4.4.4 에서 5.1까지가 결함이 있는 버전의 WebView를 기본으로 사용한다고.. 앱들은 항상 최신버전으로 유지하길 권장하고 해당 버그에 대한 분석 자료가 원문 링크에 이미지로 포함된.. 링크

소프트웨어

구글의 오픈 폰트 라이선스의 NOTO 폰트 소식.. 800여개의 언어를 지원한다고 하며 폰트에서 표현할 수 없는 문자를 사각 박스로 표시 하던걸 해결한 폰트라고.. 이름도 no more tofu의 약어라고 하며 tofu는 일본 표현인데 우리나라에선 두부라고 부르는.. 링크

2016년 10월 1일 토요일

9월 4주차 소식들..

기타

서구의 금융권에서 3년내로 블록체인을 이용한 거래 시스템을 구축할 것이라는 이야기가 많이 나오고 있는 요즘.. MS도 Bank of America와 블록체인을 이용한 금융 거래와 관련한 파트너쉽을 맺었다는 소식이.. 여전히 금융권 SI는 MS의 주요 수입원인듯.. 링크

소프트웨어

MS의 어플리케이션 바이너리의 보안 결함을 찾는데 이용할 수 있는 클라우드 서비스인 Project Springfield 소식.. 기존에 MS 내부에서 사용하던 화이트박스 퍼징툴인 SAGE가 전신이라고..  현재는 윈도우 바이너리만 지원하지만 리눅스역시 지원할 예정이라고.. 링크

애플의 Swift 3와 구글의 Angular 2.0의 하위 호환성 문제에 대한 소식.. Swift 3의 경우 Objective-C 코드의 기존 변환 코드가 새버전과 호환이 되지 않아 새로 임포트 해야하는 문제가 있고 표준 라이브러리 역시 명칭이 변경된 경우가 많다고.. Angular 2.0의 경우 완전히 새로 작성되서 구버전과 호환되지 않는 문제가.. 추가로 앱을 작성할 때 MS의 TypeScript를 사용하길 추천한다고.. 링크 링크

사이버 보안을 위한 아파치 재단의 새로운 프로젝트인 Spot 소식.. 인텔의 Open Network Insight라는 프로젝트가 ASF의 인큐베이터로 이전된 프로젝트라고 하며 실시간 데이터를 분석하는데 머신러닝을 사용하는 형태라고.. 링크

HTML 5.1 스펙 런칭 준비가 끝났다는 소식이.. HTML 5.2 역시 작업이 시작 된 상태이고 5.1은 5에서 큰 변화 없이 외적인 부분들의 트윅이 이뤄진 버전이라고.. 링크

하드웨어

이더넷 표준인 802.3bz에 대한 소식.. 새표준에서는 일반적인 Cat 5e 케이블로 2.5Gbps의 데이터 전송이 가능해 지며 Cat 6 케이블은 5Gbps의 대역을 제공한다고(기존엔 1Gbps).. 물리적 구조는 10GBASE-T와 비슷하지만 주파수가 400Mhz가 아닌 200Mhz 혹은 100Mhz를 사용해서 비싼 실딩 케이블이 필요하지않고 오류정정 방식이나 신호변조 방식에 차이가 있다고.. 일반 가정에 새로운 표준이 적용된 장비가 언제 되입될지는 아직 미지수인 상태.. 링크

직물 형태의 태양광과 풍력을 통해 전기를 발생시킬 수 있는 소재에 대한 소식.. 태양광과 마찰을 통해 전기를 발생 시키는 천 형태의 소재라는데 산업용 방직기를 통해 생산이 가능하고 2V까지의 소형 상업용 커페시터를 1분안에 충전 가능하다고.. 통기성과 유연성을 갖춘데다 튼튼한 편이고 햇빛 아래에서 걸을 경우 80mW/cm² 회로에서 해당 소자를 통해 전력을 사용중에도(로드 저항 10KΩ - 10MΩ일때) 0.5mW의 출력을 갖는다고 하며 텐트와 같은 곳에도 전기를 공급할 수 있을거라는 이야기가.. 링크

IBM의 인간의 뇌와 비슷하게 동작하는 칩인 TrueNorth에 대한 소식.. 상호 연관에 기반한 의사결정이나 확률과 같은 영역의 처리를 수행할 수 있는 칩인데 IBM이 언급 하기로는 전통적인 방식의 딥러닝에 필요한 칩인 CPU, GPU, FPGA에 비해 25-275mW의 매우 적은 전력으로 같은 작업을 수행할 수 있고 이는 스마트폰과 같은 장비에도 사용 가능한 전력 소모라고.. 인간의 뇌의 규모에 필적하는 칩을 만들 계획을 가지고 있고 이런 거대한 컴퓨터에 걸맞는 알고리즘과 어플리케이션을 개발하는 것이 문제라는 소식.. 링크

보안

XSS 방지를 위해 웹페이지에 설정한 CSP(Content Security Policy)의 유효성을 체크하고 구성을 도와주는 툴인 구글의 CSP Evaluator와 CSP Mitigator 크롬 플러그인 소식.. 링크

구글 플레이에 올라온 멀웨어를 포함한 앱들에 대한 이야기가.. 스토어의 관리에 대해 전부터 이야기는 많았지만 DressCode 라는 멀웨어가 포함된 정상적인 앱으로 위장한 앱이 10만에서 50만건이 다운로드 된 후 마켓에서 제거된 일이 있었고 NAT로 보호된 네트웍을 우회할 수 있는 문제가 있었다고.. 감염된 장비에 SOCKS proxy를 설치하고 범용 터널을 구축하며 해당 장비를 공격용 봇으로 만들어 다수의 감염된 장비를 통해 봇넷을 구축하여 DDoS 공격등이 가능해진다고.. 링크

탈취된 IoT 장비를 이용한 봇넷의 DDoS 공격에 대한 소식.. 보안관련 블로그에 대해 665Gbps에 달하는 공격 트래픽이 발생해서 Akamai에선 해당 고객을 차단하는 결정을 내렸다고.. 공격에 대한 분석을 통해 비슷한 유형의 공격에 대비할 수 있는 툴을 준비할 계획이라는데 전부터 우려되던 일이 현실로.. 링크

2016년 9월 22일 목요일

9월 3주차 소식들..

보안

MySQL의 0-day 버그 소식.. 어떤 경로를 통했든 공격자가 MySQL 서비스에 접속 권한을 취득하게 되었을 때 동작하는 버그인데 권한 상승을 통한 루트 권한을 취득할 수 있게 되는게 문제라고.. 7월에 리포트되어 현재 MariaDB와 PerconaDB는 패치가 제공된 상태이지만 Oracle의 경우 10월 정기 업데이트에 패치를 제공할 것으로 보이고 해당 결함의 이용에 대한 제한된 정보의 POC 코드가 공개된 상태.. 링크

FTP 연결을 통해 배포되는 Monero 코인을 채굴하는 멀웨어 소식.. 감염된 상당수의 서버에 Seagate Central NAS 장비가 포함되어 있으며 전파 방식은 해당 장비에 원격 파일 접근이 가능하게 설정되어 있고 익명으로 파일을 업로드 할 수 있는 경우 공격자가 위장된 파일을 공개 폴더에 업로드해 사용자가 무심코 실행하게 되는 경우 채굴 소프트웨어가 설치되는 형태라고.. 개인 용도라도 보안에 신경써야.. 링크

하드웨어

HP 프린터에 HP의 정품 잉크 카트리지를 사용하지 않을 경우 카트리지와 관련한 오류가 발생 하도록 날짜가 프로그램 되어 있었던 것 같다는 이야기가.. 사용자들의 항의가 거세지자 HP에서는 펌웨어 업데이트의 영향인 것 같다고 밝혔지만 네트웍에 연결되어있지 않은 프린터역시 문제가 발생해서 펌웨어의 영향이 아닌것 같다고.. 링크

소프트웨어

MIT의 빅 데이터 처리시 메모리 병목을 해결하기 위해 만들어진 Milk라는 언어 소식.. OpenMP 기반 언어로 기존 방식 대비 4배 이상의 성능 향상이 있다고.. 동작 방식은 메인 메모리에 접근하는 것은 CPU의 캐시에 비해 느리기 때문에 필요한 데이터를 발견하면 즉시 메모리에 요청 하는게 아니라 내부에 주소 리스트를 저장하여 모든 코어가 풀에 공유하고 리스트가 충분히 길어지면 가까운 주소끼리 그룹지어서 코어들에 재분배 하여 처리해 캐시효율성을 높이는 방식이라고.. 링크

Vim 8.0 소식..  추가된 기능들은 링크를 참고 하시길.. 링크

2016년 9월 17일 토요일

9월 2주차 소식들..

하드웨어

카본 나노튜브 칩 소식.. 전통적인 규소와 갈륨 비화물로 구성된 반도체 보다 패킹 밀도와 튜브당 전도력 및 전체 전류밀도에서 실리콘 반도체의 거의 2배에 가까운 특성을 갖는다고 하며 전통적인 방식 대비 저전력 고성능 칩을 만들 수 있을 것으 보인다고.. 일본의 후지쯔 역시 비슷한 방식의 연구를 진행중이라고 하며 공정 미세화의 한계에 근접한 상황에 무어의 법칙을 더이상 유지하는게 힘들어 보였던 반도체 업계의 구세주가 될 가능성이 있어보이는 흥미로운 소식이.. 링크

기타

구글의 Apigee 인수 소식.. API 관리, 분석툴을 서비스하는 업체로 보안, 개발, 테스트 및 서비스 퍼블리싱과 관련한 편의기능을 포함하고 있고 클라우드 서비스 혹은 개별 커스텀 서비스를 제공한다고 하며 계속해서 변하는 API를 관리하는데 강점을 갖는 서비스라는데.. 구글의 API 서비스나 클라우드 서비스에 어떤 형태로 영향을 줄지는 아직 미지수인듯.. 링크

대기오염에서 발생하는 독성 나노입자가 인간의 뇌에서 다량 발견 되었다는 연구 결과가.. 퇴행성 뇌 질환인 알츠하이머나 정신질환 지능감퇴와 같은 질병의 원인이 될 수 있는 새로운 사실이 발견 되었다고.. 링크

넷플릭스의 x264, x265, VP9 코덱의 실사용시 효율에 대한 연구 결과에 대한 소식.. x265가 x264대비 35.4-53.3% VP9 대비 21.8% 정도 적은 데이터를 사용한다는 결과가.. 리얼타임 인코딩 문제와 상관없는 인터넷 스트리밍 서비스에서 참고할만한 자료인데.. 문제는 x265(HEVC)의 하드웨어 디코딩이 가능한 제품이 최근에서야 보급되기 시작했다는 점과 넷플릭스 역시 참여하고 있는 Open Media 연합에서 개발중인 신규 코덱이 어떻게 나올지가.. 링크

보안

안드로이드의 미디어 스택에서의 MMS를 통한 장비의 제어권을 획득할 수 있는 Stagefright와 같은 버그를 원천 차단하기 위해 개별 버그에 대응하기 보다는 미디어 스택의 재설계된 버전이 Nougat에 탑제 되었다는 소식이.. 링크

가정용 라우터부터 산업용 장비에 이르기 까지 백만대가 넘는 장비가 아직도 알려진 개인키를 HTTPS와 SSH를 통한 장비의 관리기능 접근에 공유해서 사용하고 있다는 소식.. 전에도 특정 제조사의 가정용 라우터 장비가 전제품군에 키를 공유해서 이슈가 된적이 있었는데 이런 추세가 여전히 줄어들지 않고 있다고하며 앞으로 IoT 장비를 비롯해 키를 공유한 장비가 늘어나게 될 경우 키를 공유한 장비에 동시 공격이 가능해질 수 있는 문제가.. 링크

ARM과 x86을 대상으로 한 rootkit이 언더그라운드 마켓에서 거래되고 있다는 소식.. 포켓몬 케릭터인 Umbreon 이라고 불리는데 리눅스 기반 시스템을 타겟으로 하며 라우터와 같은 임베디드 장비들 역시 영향을 받는다고 함. 특이한 점은 사용자 모드로 설치 되지만 libc의 펑션을 탈취하여 각종 시스템 콜과 관련한 정보를 수집하는데 libc와 유사한 자체 라이브러리를 통해 Man-in-the-Middle 상태를 유도한다고. 리눅스에서 지원하는 다양한 인증 방식을 통해 시스템에 접근할 수 있는 경로를 공격자에게 제공하고 포켓몬 케릭터인 Espeon 이라는 이름의 백도어를 설치한다고. 제거 방식이 비숙련자에게는 어렵고 공격자 또한 다른 결함을 이용해 시스템을 탈취 후 수동설치를 하는 것으로 보이며 공유기나 IP 기반 장비들(IoT 장비와 같은..)의 업데이트에 신경써야 할것으로.. 링크

2016년 9월 5일 월요일

9월 1주차 소식들..

소프트웨어

MS Office의 대안 오픈소스 소프트 중 하나인 OpenOffice의 프로젝트 종료에 대한 소식.. SUN이 인수한 StarOffice의 소스 공개 후 Oracle에 인수되면서 LibreOffice가 갈라져 나오고 Oracle은 아파치 재단에 코드를 기부하면서 OpenOffice가 되었는데 OpenOffice의 경우 프로젝트를 유지할 개발인력의 부족으로 현재 프로젝트 종료를 고려중이라고.. 링크

하드웨어

Intel과 AMD의 윈도우 플렛폼 지원과 관련한 소식.. 앞으로 발매될 하드웨어는 윈도우10만 지원하게 될 것이라는 이야기가.. 작년 3월부터 윈도인사이더에 참가해서 Fast Ring 개념이 나온뒤로 계속해서 참여중인데 개인적으론 방향성은 맞는 것 같다는 생각이 듭니다. 신규 하드웨어에서 도입되는 새로운 기술들을 최대한 지원하고 리눅스에 비교될 정도로 내부적으로 많은 변경이 일어나는걸 보고 있자면 굳이 앞으로 발매될 하드웨어에서 구버전 OS를 써야할 이유가 없어 보입니다. 아무래도 Windows as a Service 정책이 도입 되면서 코드네임 변경 주기마다 예전의 서비스팩 개념 보다는 신규OS에 가까운 변화가 있다보니 하드웨어 제조사 입장에서도 새로 개발되는 빌드를 지속적으로 지원하는 것만으로도 만만치 않은 일이라는 생각이 듭니다. 링크

구글의 모듈러 폰 프로젝트인 Project Ara의 중단소식.. 폰의 출시는 취소 되었지만 써드파티에서 해당 기술을 라이선싱 할 수 있는 선택권은 남겨 두었다고.. 링크

보안

윈도우 플렛폼에서 .docx 첨부파일을 포함한 스팸 메일을 통해 전파되는 멀웨어 소식.. 파일을 열면 내장된 JavaScript가 동작하는 형태인데 데이터 탈취를 위해 프록시 설정을 변경하고 자체 서명된 루트 인증서를 설치해 해당 프록시 서버를 통하는 HTTPS 트래픽을 모니터링 하고 같은 인증서를 Firefox 브라우저에도 추가해 둔다고.. 이렇게 구성된 프록시 설정을 제어하기 위해 Tor 익명네트웍을 이용하는 스크립트가 설치되는 구조라는 소식.. 링크

외부에 노출 된 Redis 서버 인스턴스를 통해 감염되는 랜섬웨어인 FairWire에 대한 소식.. 일반적인 경우는 아니지만(AWS를 사용한다면 VPC 내부에 위치할테니..) 테스트 목적이라도 외부에 IP가 노출된 상태로 이용하지 말라는 소식이.. Redis의 설정 변경을 통해 서버 루트 계정의 SSH 인증키를 교체하는 트릭을 이용한다고 하며 유인서버 구축을 통해 공격자의 행동을 분석한 결과 비용을 지불 하더라도 원본 파일을 복구할 수는 없을 것으로 보인다고.. 링크

맥에서 인기있는 BitTorrent 클라이언트인 Transmission이 또 다시 맥용 멀웨어 배포 경로로 이용 되었다는 소식이.. 본 블로그에서도 한번 다뤘던 OSX/Keydnap 멀웨어가 공식 홈페이지의 바이너리를 통해 전파 되었고 현재 해당 이슈에 대해 조사중이라고.. 8월 28일경 배포된 파일에 문제가 있었다고 하며 멀웨어 제거와 관련한 정보는 링크를 참고하시길.. 링크 링크

기타

미국 FDA의 항균비누 제품 판매 금지 소식.. 항균성분이 장기적으로 오히려 해로울 수 있다는 데이터도 나오고 있고 해당 제품들이 안전하고 효과적인지에 대한 증거가 충분하지 않아 내려진 결정이라고 하며 알콜 기반 손세정제나 세척제는 해당되지 되지 않는다고.. 링크

2016년 8월 31일 수요일

8월 4주차 소식들..

하드웨어

Hot Chips 2016에서 공개된 25코어 Piton 프로세서의 오픈소스 프로젝트인 OpenPiton 프로젝트 소식.. 프린스턴 대학에서 연구목적으로 개발하던 프로세서라는데 VHDL 코드와 문서들이 공개된.. 링크 링크

보안

64-bit block-cipher 방식인 Triple-DES와 Blowfish의 취약점에 대한 소식.. TLS, IPSec, SSH와 같은 프로토콜에서 여전히 사용되는 방식이지만 Sweet32라는 Collision Attack 방식을 이용하면 HTTPS 통신을 사용하는 사용자의 계정 정보를 취득할 수 있다고 하며 해킹 방법 자체는 피해자를 공격에 이용할 JavaScript 코드에 노출시켜 Man-in-the-Middle Attack이 가능한 상태로 유도해 수백기가에 달하는 데이터를 수집해서(서버측의 Keep-Alive 항목에 정의된 시간동안 브라우저는 연결 유지하기에..) 인증 쿠키를 복호화 하는 방식이라 쉬운 작업은 아니지만 지금은 사용되지 않는 RC4 암호화 방식과 마찬가지로 사용을 자제하는 편이 좋다는 소식.. 링크

기타

구글의 TensoFlow의 뉴럴 네트워크 접근 방식을 이용한 이미지 압축방식 개선에 대한 연구와 관련한 소식.. JPEG 표준 대비 좀더 나은 방식을 도출해 냈다고 하는데 같은 방식을 이용해서 VP8 비디오 코덱에서 파생된 WebP 형식에 대한 최적화에 도전 할 것이라고.. 링크

2016년 8월 23일 화요일

8월 3주차 소식들..

소프트웨어

리눅스 커널 버전 4.6이 4.6.7 버전을 마지막으로 지원이 종료 된다는 소식.. 링크

하드웨어

인텔의 10nm FinFET 공정부터 ARM의 모바일 칩을 생산하기로 하였다는 소식이.. 전부터 FAB을 외부에 개방해 달라는 요구가 꾸준히 있었던 것으로 알고 있는데 이번에 전환하기로 하였다고 하며 LG가 인텔의 FAB을 이용할 예정이라는 소식.. 인텔의 모뎀을 채용하기로 한 애플도 왠지 인텔 FAB을 이용할 가능성이 있어 보이는.. 링크

보안

인터넷의 65%에 가까운 트래픽이 SSL/TLS 암호화 통신을 사용하는데 야후의 광고네트웍을 통한 멀웨어 전파 사례와 같이 원천 데이터가 멀웨어를 포함하는 경우 이런 암호화 통신이 오히려 멀웨어를 숨겨주는 터널 역할을 할 수 있다는 이야기가.. SSL/TLS 트래픽의 검사 기능을 갖추지 못한 레거시 네트웍 보안 장비가 아직 상당수 존재하는 것이 문제라고.. 링크

3달전에 그다지 치명적이지 않은 웹 랜섬웨어로 알려졌던 Rex 라고 불리는 멀웨어가 종합 선물세트(?)로 업그레이드 되어 돌아왔다는 소식이.. 알려진 랜섬웨어의 동작 방식으로는 Drupal, WordPress, Magento, Jetspeed, Exarid, AirOS 서버나 장비를 탈취하고 백그라운드에서 동작하는 크립토커런시 마이닝 툴의 설치 및 스팸 메일을 보내는 기능을 탑제하였고 봇넷 관리를 위해 복잡한 P2P 구조를 이용하며 DDoS 공격 실행을 위한 에이전트를 설치한다고.. DDoS 기능과 스팸메일 전송 기능을 이용해 감염 대상을 협박한다는 이야기가... 링크

2016년 8월 21일 일요일

8월 2주차 소식들..

소프트웨어

IFTTT의 레시피를 써드파티 어플리케이션 제작자가 곧바로 자신의 앱이나 서비스에 통합할 수 있는 기능을 제공하기로 하였다는 소식.. 스마트홈 시대를 맞아 IoT 장비들과 연동되는 기발한 레시피들이 많이 나오지 싶은.. 링크

기타

MS XBox그룹의 게임 스트리밍 서비스 Beam 인수소식.. 국내에선 eSport가 사양길이지만 미국은 오바마 대통령의 eSport 진흥 정책에 힘입어 운동선수와 같은 비자 발급제도 지원을 비롯해 해가 갈수록 규모가 커지는 분위기이고 이에 따라 Amazon이 Twitch를 인수한 것 처럼 MS역시 유사서비스의 인수를.. 과연 게임 스트리밍 서비스 영역의 구글, 아마존, MS의 3파전 구도가 형성될 것인지 지켜볼만한 포인트인듯.. 링크

HPE(Hewlett Packard Enterprise)의 SGI(Silicon Graphics) 인수소식.. 한시대를 풍미했던 브랜드이지만 우여곡절도 많이 겪고 쇠락의 길을 걷고 있었는데 HP의 포트폴리오의 일부가 된.. 링크

하드웨어

SanDisk를 인수한 WD의 SCM(Storage Class Memory) 시장 진출 계획에 대한 소식.. 기존의 하드웨어 계층 구조상 DRAM과 SSD 사이에 위치하는 제품군으로 NVDIMM과 같은 형태로 장착되는 비휘발성 메모리 제품인데 WD의 경우 3D ReRAM(저항값의 변화를 통한 0과 1의 데이터를 표현..) 방식을 이용할 거라고 하며 비슷한 동작 특성을 갖는 제품으로 인텔 독점 기술의 3DXpoint 제품이 있다고 함.. 링크

AMD의 x86 서버 리부트 소식.. SUN의 SPARC와 유사한 모듈형 구조를 채용했던 Bulldozer 아키텍쳐의 실패로 한동안 ARM 서버쪽에 투자 하였지만 시장이 형성되기까지 시간이 더 필요한 문제가 있어 사실상 실패한 전략이 되었고 Zen 아키텍쳐의 완성과 함께 다시 x86 클라우드 서버 시장 진입에 집중하기로 하였다는 소식이.. 그렇다고 ARM을 투자대상에서 제외하진 않을 거라고.. 링크

보안

x86 에서나 사용되던 CPU 코어간에 사용되는 캐시를 통한 공격방식이 ARM에서도 가능한 문제가 발견 되었다고.. 키입력을 비롯 스크린 탭이나 ARM TrustZone 보안 실행 환경 내부의 코드실행 등을 모니터링 할 수 있다고 하며 관련된 proof-of-concept 코드와 문서가 공개된 상태.. 링크 링크

2012년 이후 리눅스에서 사용된 TCP 스택의 결함으로 인해 공격대상의 IP만 알면 서버와 클라이언트 간의 통신을 추적하고 종료시키거나 탈취할 수 있는 문제가 발견 되었으며 암호화 된 HTTPS 연결의 경우도 강제 종료가 가능하다고.. 패킷의 고유 시퀸스 번호를 예측할 수 있는 문제를 이용한 공격 방법인데 90%에 가까운 성공률을 보여 현재 최신 리눅스 커널에선 패치가 포함 된 상태라고 하며 서버와 클라이언트(안드로이드 포함..) 모두 패치를 권장한다는 이야기가.. 자세한 내용과 관련 논문은 원문 링크에.. 링크

2016년 8월 9일 화요일

8월 1주차 소식들..

보안

97년에 발견되 수정되지 않은 WinNT/Win95의 자동인증 결함 문제와 같은 버그가 Windows 8 이상의 OS에서 발견 되었다는 소식.. 사용자의 라이브 계정 정보를 유출할 잠재적인 문제가 있다고.. 기본적으로 MS의 소프트들은 기본 인증 설정 상태에서 로컬 네트워크 공유에 접근 기능을 제공하고 이런 공유 기능의 결함을 이용하기 위해 공격자가 자신의 공유 네트워크를 가리키는 링크를 이메일이나 웹사이트에 내장시켜 사용자가 자신의 id/pw를 이용해 해당 파일을 다운로드를 시도하게 될 경우 정보가 공격자에게 전송되는 문제를 이용할 수 있다고.. 링크

HEIST(HTTP Encrypted Information can be Stolen Through TCP-Windows) 라는 해킹 기법에 대한 소식.. 기존에 알려진 BREACH나 CRIME 기법은 사이트의 페이로드에 사용하는 압축 기법을 조작하는 방식으로 Man-in-the-Middle 상태에서만 사용 가능 했는데 HEIST의 경우 단순히 광고나 특별히 가공된 페이지의 JavaScript 파일을 통해 공격자가 암호화 된 데이터의 정확한 크기의 측정이 가능하게 해주며 앞서 알려진 기법과 조합되면 암호화 된 통신에서 손쉽게 정보를 빼낼 수 있게 된다는 소식.. 멀티팩터 인증이 선택이 아닌 필수가 되가는 듯한; 링크

google.com에 HSTS(HTTP Strict Transport Security)를 적용하여 보안을 강화 한다는 소식이.. 간략히 설명하면 최초 접근을 강제할 수는 없지만 한번이라도 접속하게 되면 서버에서 브라우저에 HSTS를 사용한다는 걸 알리고 다음에 해당 도메인에 접근하는 경우 설정된 만료시간 이내라면 HTTPS 프로토콜이 아니면 접근하지 못하도록 하는 방식인.. 링크

하드웨어

Radeon과 Geforce의 레스터라이저 동작 방식 비교에 대한 소식이.. 모바일에서 극도의 효율성을 추구하는 형태와 비슷한 처리 방식으로 맥스웰 아키텍쳐 이후의 효율 향상의 비밀이 아니었냐는 이야기가 있고 링크의 테스트 어플리키에션을 빌드(Windows 10 SDK 필요..)해서 확인해 본 결과 AMD의 경우 GCN 3세대 까지는 트라이앵글을 빈공간 없이 풀로 채우는 형태인데 4세대 역시 비슷하지 싶지만 관련 정보가 없어서 어떤식으로 동작하는지 아직 확인되지 않은 상황.. AMD의 경우 RTG 부문의 수장인 Raja Koduri씨도 이런 차이를 인지한 상태이고 AMD쪽도 앞으로 드라이버 측면에서 어떤 트윅이 가해질지 지켜보는 것도 흥미로워 보임.. 링크 링크

IBM의 상변이 메모리(PCM)을 이용한 인공 뉴런과 시냅스 개발 소식.. NAND 플래시 메모리의 단점을 보완한 비휘발성 메모리 제품으로 사용될 줄 알았던 PCM 이었지만 PCM이 가진 랜덤한 특성을 이용해서 뇌의 뉴런이나 시냅스와 같은 동작을 흉내낼 수 있게 되었다고.. 통계에선 이런 특성을 이용해 수많은 임의의 데이터들 간의 연관성을 찾는데 이용할 수 있어 기존의 TR로 구성된 프로세서와 별도로 PCM을 기반으로 한 Neurologic 프로세서를 데이터 분석 용도로 사용할 수 있는 가능성이 열렸다고.. 나중엔 공각기동대에서나 나오던 전뇌(電脳)가 나오는건; 링크

2016년 7월 27일 수요일

7월 4주차 소식들..

하드웨어

AMD의 Solid State Graphic 프로 솔루션 발표.. 프로젝트 Delta라고 불리던 물건이라는데.. fiji 기반의 GPU를 탑제 하였고 그래픽 보드에 PCI-E 브릿지를 내장해 512GB의 삼성 950Pro SSD 2개를 RAID0로 묶은 형태라고 GPU와 직접 연결되기 때문에 SSD의 대역폭이 4GB/sec를 넘고 8K 90Hz 영상을 실시간 편집 가능하다는 소식이.. 헐리웃 영화산업 쪽에서는 기존에 없던 게임체인저 수준의 제품인 듯한.. VISC나 SSD와 같은 비휘발성 메모리의 고속 인터페이스 링킹 기술이 Zen 아키텍쳐보다 GPU에 먼저 도입되는 분위기.. 링크

인텔의 내장 GPU 크로스 라이선싱과 관련한 이야기.. 인텔의 현재 CPU에 내장된 GPU의 경우 NVIDIA와 AMD 양사에 크로스 라이선싱을 맺은 형태로 개발되어 나온 상태인데 AMD와의 라이선싱은 기간이 아직 남았지만 NVIDIA와의 라이선싱이 올해로 마지막이라 앞으로의 방향에 대한 예측 기사가.. 가장 가능성이 높은쪽이 이미 일부 칩에서는 크로스 라이선싱을 맺고 있고 PowerVR과 MIPS의 IP를 보유한 Imagination을 인수할 가능성이 가장 커보인다는 이야기와 AMD나 NVIDIA의 그래픽 칩을 내장할 가능성도 있어 보있다고.. AMD의 RTG 같은경우 IP 라이선싱에 적극적인 모습을 보이고 있어 앞으로 어떤 형태로 전개될지 개인적으론 꽤 흥미로운 소식이.. 링크

소프트웨어

오픈소스 렌더링 소프트웨어인 Blender에대한 AMD의 지원 소식.. 2.8 버전부터 GPUOpen 프로젝트의 물리기반(Physically-based) 렌더 엔진인 ProRender와 함께 지원할거라는 이야기가.. 링크

오픈소스 닌텐도 게임큐브/Wii 에뮬레이터인 Dolphin 에뮬레이터의 Vulkan 백엔드 지원에 대한 소식.. DX12에 비해 Vulkan의 스펙이 조금 뒤늦게 확정되서 그런지 기존에 DX12를 지원하던 에뮬레이터들이 대부분 Vulkan을 지원하는 방향으로 가는 듯한.. 링크

기타

NVIDIA의 가장 있기있었던 그래픽 카드중 하나인 GTX970의 메모리게이트(탑제된 4GB의 메모리중 3.5GB와 0.5GB의 동작속도가 달랐지만 소비자에게 관련 내용을 알리지 않았던..)와 관련한 소송을 걸었던 사용자들에게 30$을 환불하기로 합의 되었다는 이야기가.. 미국에서 비슷한 소송이 줄이어 진행중인 듯 한데 어떤 결과가 나올지와 국내에선 별 이야기 없이 그냥 지나가게 될런지는 지켜볼만한 포인트인듯.. 링크

애플의 카메라 재밍 기술을 사용하지 말아달라는 청원 운동에 대한 소식.. 적외선 데이터를 이용해서 카메라 작동을 중지 시킬 수 있는 기술인데.. 원래 목적은 저작권이 있는 영상을 촬영하거나 촬영이 금지된 장소에서 카메라 사용을 막을 목적으로 특허가 등록 되었지만 경찰의 과잉 진압 촬영이나 다양한 분야의 활동가들(예를 들면 그린피스 같은?)이나 정치적으로 의견을 달리하는 사람들의 촬영과 같은 것을 막는 것에 사용될 소지가 있다는 이유 때문에 청원 운동이 시작 되었다고.. 링크

보안

미국에서의 SMS 기반의 2단계 인증과 관련한 소식.. 메시지의 탈취와 우회와 같은 해킹에 대한 취약점 때문에 좀더 나은 다른 방식(구글의 Authenticator 앱과 같은..)을 사용하는 방향으로 권고하고 있다고.. 링크

코드 후킹을 방식을 이용한 써드파티 프로세스 모니터링 툴(대표적으로 안티바이러스 제품들..)들에서 해커들이 악용할 수 있는 결함이 발견 되었다는 소식.. 더군다나 100개 이상의 소프트웨어 벤더에서 사용중인 MS의 상용 후킹 엔진도 결함을 가지고 있어 8월 패치 예정이라고.. 링크

오라클의 정기 패치소식.. 지금까지 정기 패치 중 최대 규모로 전체 제품군의 276개 결함에 대한 패치라고.. Java 쪽의 패치가 꽤 큰 비중을 차지하고 있고 인증되지 않은 공격자가 네트웍 접근을 이용해 다중 프로토콜을 통한 Java의 권한 탈취 문제의 경우 Java SE 7(현재 공식 지원이 종료된..)부터 도입된 invokedynamic 기능과 연관된 결함으로 보인다고.. 이와 별도로 OIT(Oracle Outside In Technology) SDK를 이용한 다른 업체의 소프트웨어들도 이번에 밝혀진 결함의 영향을 받는 것으로 보인다는 소식도.. 링크 링크

PowerWare와 Bart 랜섬웨어에 대한 무료 복호화 툴에대한 소식.. PowerWare 랜섬웨어의 경우 하드코드된 키를 사용해서 AES-128 암호화를 하는데 .locky 확장자로 변경된 파일의 암호화를 해제할 수 있는 파이썬 스크립트가 공개된 상태이고 Bart의 경우 ZIP의 암호화를 이용하는데 .bart.zip 확장자가 붙은 파일의 원본 파일을 가지고 있다면 Brute-force 방식을 이용해 암호를 해제하는 이 공개 되었다고.. 링크

2016년 7월 20일 수요일

7월 3주차 소식들..

소프트웨어

AT&T의 ECOMP라고 불리는 SDN(Software Defined Networking) 프레임웍의 코드를 리눅스 재단에 기부하고 오픈소스 표준화를 추진한다는 소식이.. 통신사들 간에 각자 SDN 프레임웍을 개발하는 상황인걸로 알고 있는데 앞으로 어떻게 진행될지 개인적으론 흥미로운 소식이.. 링크

기타

구글의 VR 관련 소식.. 리프트나 바이브와 같은 하이엔드 기기와 경쟁하지 않고 안드로이드 스마트폰의 모바일 VR에 집중하기로 했다고.. 이와 별도로 알파벳 산하의 구글 X 연구소에서 별도의 OS를 이용한 VR 프로젝트가 약 50여명의 인원으로 진행중이라고 하며 애플 또한 자체 VR 헤드셋을 준비중인 것으로 보인다고.. 링크

소프트뱅크의 ARM 홀딩스 인수에 대한 소식.. 든든한 자금의 뒷바침으로 칩 개발 속도를 가속화 하고 좀더 저렴한 프로세서 공급이 가능하게 될거라고 하며 소프트뱅크가 인수를 결심한 큰 이유는 IoT 영역 사업 확장을 위해서라는 이야기가.. IoT와 데이터센터에 집중하기 위해 12000명을 감원한 인텔에게는 악재가 될 것으로 보임.. 추가로 소프트뱅크는 일본 회사이기 때문에 영국에 위치한 ARM이 Brexit의 영향권에서 벗어날 수 있는 효과를 누릴 수 있다고.. 링크

구글의 클라우드 플렛폼과 긴밀한 관계를 보이던 웹기반 IDE인 Cloud9의 아마존 인수에 대한 소식.. 링크

보안

Ubuntu 포럼의 Forumrunner 애드온의 SQL Injection 결함으로 인해 사용자 테이블의 사용자이름, 이메일, IP 정보가 유출 되었다고.. 사용자 패스워드는 다행히 유출되지 않았다는 소식이.. 링크

WordPress 플러그인 패치 소식.. All in One SEO(Search Engine Optimization) 플러그인의 XSS 결함에 대한 패치가 되었지만 여전히 다수의 플러그인에 문제가 존재하며 WP Fatest Cache, WP Live Chat Support, WordPress Activity Log, Top 10-Popular Post, WP No External Links, Google Forms, Simple Membership, Profile Builder, MailChimp, Master Slider, Email Users 등의 플러그인을 사용중이라면 최신 버전으로 업데이트를 권장 한다고.. WordPress 자체는 매우 안정적인 플렛폼이지만 플러그인 업데이트에도 신경을 써야한다는 소식.. 링크

러시아와 우리나라에서 발견된 Android.Fakebank.B 라는 멀웨어 소식.. 동작 방식은 뱅킹앱을 검색해서 삭제하고 변조된 버전을 설치하게 유도한 후 사용자의 로그인 정보를 수집하고 통화 내역을 모니터링 해서 은행과 관련된 전화번호가 검출되면 통화를 차단한다고.. 결론적으로 부정 이용을 통한 카드 결제를 사용자가 취소하려는 시도를 막는 방식이라고.. 링크

2016년 7월 9일 토요일

7월 2주차 소식들..

보안

D-Link 제품의 DCP 서비스의 스택오버플로 결함으로 공격자가 특별히 제작한 커맨드를 이용해 오버플로를 일으킨 후 시스템에서 악성 코드를 실행할 수 있는 문제가 발견 되었는데 관련 코드를 여러 제품에서 재사용 하다보니 120개 이상의 제품에 문제가 있는 것으로... 현재 패치를 준비중이라는 소식.. 링크

OSX/Keydnap 이라는 맥의 키체인을 탈취하는 백도어 프로그램에 대한 소식.. 정확한 전파경로는 아직 알려지지 않았지만 .zip 과 같은 압축 파일 내부에 .txt나 .jpg와 같아 보이지만 실제로는 공백 문자가 하나더 붙은 형태로 실행 가능한 확장자의 정상적인 파일과 같이 위장된 파일을 포함하고 있다고.. 이런 파일을 실행하면 맥의 게이트키퍼에서 경고를 보이지만 실행하게 될 경우 icloudsyncd 라는 컴포넌트가 실행되고 Tor 익명 네트웍을 통해 명령을 전달 받는데 루트 권한을 취득하기 위해 다른 어플리케이션을 실행할 때 관리자 권한을 묻는 것과 닮은 창을 띄워 이를 통해 루트권한을 취득 하고 시스템 서비스로 등록시킨 후 자가 업데이트를 통해 OS X의 키체인을 탈취해 간다고.. 링크

맥을 타겟으로 한 Backdoor.MAC.Eleanor 라는 백도어 프로그램에 대한 소식.. EasyDoc Converter 라는 위장 앱을 통해 전파 되며 "/Users/$USER/Library/.dropbox" 디렉토리에 파일 시스템 접근과 각종 스크립트를 실행 가능한 PHP 어플리케이션, 공격자가 접근하기 위한 Tor 히든 서비스 그리고 Pastebin 사이트에 감염된 시스템의 Tor 접근 주소를 포스팅하는 에이전트를 설치한다고. 애플 인증의 디지털 사인을 포함하지 않고 있어서 최신 버전의 OS X라면 설치를 시도할 경우 보안 경고가.. 링크

스마트와치나 피트니스 트랙커의 해킹에 대한 소식.. 다수의 내장 센서들에서 조합되어 발생하는 데이터에 특정 알고리즘을 이용해서 PIN이나 암호를 크랙할 수 있는 방법을 찾게 되었다고.. 처음엔 관련 연구자도 SF소설같은 이야기라고 생각 했지만 생각보다 정확도가 높았다는 이야기가.. 접근 방식이 복잡하긴 하지만 멀웨어 등에 의한 내부 공격 가능성을 배제할 순없고 문제를 피하는 방법에 대한 조언으로 PIN이나 암호 입력중에 랜덤하게 손을 움직이라는 이야기가.. 링크

기타

MS의 크로스플렛폼 게이밍 지원 프로그램인 Play Anywhere에 대한 정책 변경 소식.. 모든 장비에서 구동하는 것에 적합하지 않은 독특한 게임(홀로렌즈나 다른 주변기기가 콘솔로 나오는건?)이 존재하기 때문에 E3 발표때 게임을 제외하고 앞으로 출시될 게임 모두를 지원하는 것은 아니지만 지속적으로 프렌차이즈 게임들을 콘솔과 PC에서 지원할 예정이기 때문에 Halo 6가 PC로 나오는 것을 아직 포기할 필요는 없다고.. 링크

구글 클라우드 플렛폼에서 확정성을 가진 비디오 컨텐츠  프로세싱과 워크플로 지원을 위해 Anvato를 인수 했다는 소식.. 링크

소프트웨어

구글의 오픈소스 컨테이너 클러스터 매니저인 k8s의 1.3 버전 소식.. 주요 변경점은 서로 다른 클라우드나 다중 클라우드 환경에서 클러스터간의 연동 강화와 RDBMS나 NoSQL 디비와 같은 영속성을 갖는 어플리케이션의 컨테이너에 대한 지원 강화 그리고 rkt, OCI, CNI와 같은 컨테이너의 공개 표준에 대한 지원이 추가 되었다고.. 링크

Java EE의 지원 재개에 대한 소식.. 지원이 중단된 것 처럼 보였던 Java EE 8의 개발에 대한 오라클의 공식입장이.. 자세한 내용은 9월의 JavaOne에서 다룰 거라고 하며 일단은 마이크로 서비스와 클라우드에 중점을 둔 변화가 있을거라는 이야기가.. 링크

DX12의 멀티 GPU 지원 강화 소식.. 드라이버로 인한 오버헤드를 줄이기 위해 기존에 VGA 드라이버에서 제공하던 추상화 되어 있던 기능들이 게임엔진에서 직접 구현하는 형태로 바뀌면서 멀티 GPU 지원도 게임 개발자의 몫이 되었는데 VGA 벤더에서 제공하는 멀티 GPU 기술 지원과 상관없이 서로 다른 벤더의 제품을 혼용해서 사용할 수 있는 장점을 얻게 되었지만 개발의 난이도가 증가하는 문제가 있어 이를 좀더 쉽게 구현할 수 있도록 돕는 추상화된 기본 레이어를 제공하기로 했다고.. 대신 GPU가 가진 최대 성능을 끌어내기 위해서는 기존의 명시적 멀티 아답터 방식을 이용해야 하는 것엔 변함이 없다는 소식.. 링크

2016년 7월 3일 일요일

7월 1주차 소식들..

기타

AMD의 Radeon Software 베타 프로그램 소식.. 신청서 양식 페이지는 이곳이며 테스터로 선정되게 될 경우 NDA에 서명하는 형태로 참가하게 되는 모양..

미국과 일본을 잇는 60TPS 대역의 해저 케이블이 완공 됐다는 소식.. 구글, NEC를 비롯한 여러 통신사들이 참여 했다고.. 링크

소프트웨어

MS의 오픈소스 .NET Core 1.0 릴리즈 소식.. 링크

오라클의 Java와 관련된 구글과의 소송에서 패배 이후 Java가 돈이 되지 않는다고 판단 한건지 공식적인 입장은 밝히지 않고 있지만 Java EE의 개발에 대한 지원을 중단할려는 움직임이 있다는 소식.. JCP 에선 지원을 계속 하던지 자유롭게 놓아주던지 선택하라는 청원 운동을 진행중이라고.. 링크

모질라 재단의 차세대 브라우저 엔진인 서보의 개발자 프리뷰 발표 소식.. 맥과 리눅스 빌드를 제공하는.. 링크

보안

애플의 중국 앱스토어와 그곳에 등록되는 앱에 사용자의 신원 정보를 추척하고 최소한 60일 이상 유지 해야한다는 명령이... 7월 1일부터 시행 되었다는 소식.. 링크

시만텍과 노턴 브랜드의 안티바이러스 제품에 치명적인 결함이 있다는 구글 프로젝트 제로팀의 리포트 소식.. 안티바이러스 엔진 자체의 결함으로 압축된 파일의 다운로드 시 검사하는 과정에서 멀웨어 개발자의 코드가 실행될 수 있는 문제가.. 압축 해제기가 샌드 박스 형태가 아닌 OS의 커널위에서 동작하기 때문에 발생하는 문제라고.. 링크

퀄컴 스냅드래곤의 TrustZone 을 사용하는 장비에서 안드로이드 5.0 롤리팝에서 부터 도입된 전체 디스크 암호화 기능(FDE)을 크랙할 수 있는 방법에 대한 가이드가 나왔다는 소식이.. 퀄컴은 암호 관리를 위해 안드로이드에서 기본적으로 제공하는 방식이 아닌 퀄컴 보안 실행 환경(QSEE)를 이용하는데 이부분의 보안 결함을 이용하는 방식이라고.. 퀄컴 칩의 커널 코드 결함 문제가 계속해서 나오는듯... 링크

2016년 6월 28일 화요일

6월 4주차 소식들..

소프트웨어

시드 마이어의 문명 게임이 교육용 교재로 채택 되었고 문명EDU 버전이 나올거라는 소식이.. 링크

하드웨어

구글의 Nexus가 아닌 자체 브랜드의 휴대폰 기기에 대한 소식.. 얼마전 안드로이드 최신버전 업데이트 지원을 통한 사용자 경험 증진을 통신사와 OEM에 주문 했지만 반응이 시큰둥 해서 인지 4월에 설립한 하드웨어 부문을 통해 연말에 안드로이드의 방향성을 제시하는 형태의 제품을 내놓을 예정이라는 이야기가.. 개인적인 추측으론 애플과 같이 설계만하고 생산은 어딘가에 위탁하는 형태지 싶은.. 링크

보안

리눅스 재단의 OpenAPI의 기반 프레임웍이 된 Swagger의 사용자의 입력을 절대 신뢰하지 말라는 원칙을 잊은 치명적인 결함이 발견 되었다고.. Swagger의 코드 제네레이터를 이용해 동적으로 클라이언트와 서버코드가 생성된 경우 발생하는 문제 라는데 제네레이터와 파서가 기본적으로 사용자 입력에 대한 검증을 하지 않는게 문제라고. 현재로서는 코드 생성의 기본이 되는 Swagger 문서에 의해 발생할 수 있는 문제를 방지하기 위해 각 언어별 이스케이프 시퀸스에 대한 검사 절차를 수행하길 추천하고 있는 상황.. 링크 링크

오픈 소스 라이브러리인 libarchive의 심각한 결함에 대한 소식.. FreeBSD를 위해 탄생한 라이브러리 인데 현재는 tar, pax, cpio, ISO9660, zip, lha/lzh, rar, cab 그리고 7-zip 과 같은 각종 압축과 연관된 어플리케이션에서 사용되고 있고 정수 오버플로, 버퍼 오버플로, 힙 오버플로의 문제가 발견 되었다고. 이러한 메모리 오염과 관련한 결함을 이용한 임의 코드 실행 문제와 결함을 이용하기 위한 특수 제작된 코드가 어플리케이션에 포함되어 배포 될 가능성이 있다고. 현재 해당 라이브러리에 대한 패치는 이루어 졌으나 워낙 쓰이는 곳이 많아서 해당 어플리케이션들에 모두 패치가 적용되기 까진 시간이 걸릴 것으로 보인다는 소식.. 링크

2016년 6월 19일 일요일

6월 3주차 소식들..

소프트웨어

Ubuntu 리눅스의 패키지 관리 어플리케이션인 Snap이 캐노니컬의 프로젝트에서 커뮤니티 프로젝트로 전환 되었다는 소식.. 주요 특징은 기존 패키지 관리 시스템이 어플리케이션이 사용하는 라이브러리의 의존성에서 자유롭지 못했던 것과 비교해 개별 어플리케이션의 격리된 공간을 제공하고 여러 배포판들 사이의 패키지의 크로스플렛폼 호환을 지원 한다고.. 단점으로는 패키지 개별 용량이 증가하지만 이를 해결하기 위해 기존과 같이 공유라이브러리를 사용할 수도 있다고 함. 현재까지는 다른 배포판에서 기본 패키지 관리자로 채용할지는 미지수라고.. 링크

보안

Cisco의 비지니스용 무선 VPN 방화벽과 라우터 제품의 보안 결함 소식.. 패치는 3분기에 이뤄질 예정이라는데.. 원격 관리 콘솔에 커스텀 사용자 정보를 인증되지 않은 HTTP 요청에 실어 보내 루트 권한을 탈취할 수 있는 문제가 있다고. 그밖에도 아직 패치되지 않은 XSS 결함과 2개의 버퍼 오버플로 결함도 존재 하는데 문제는 패치가 되지 않은 상태에선 관리 콘솔의 외부 접근을 막더라도 여전히 XSS 결함에 노출될 수 있다고.. 링크

기타

삼성의 Joyent 인수 소식.. IoT쪽에 Node.js를 많이 사용하는 것 같더니 인수를.. Joyent가 Node.js 재단을 운영하기도 하지만 클라우드 서비스도 하고 있어서 주 목적은 삼성의 클라우드 서비스 진입이지 싶은데 일단 흡수하는 형태가 아닌 독립 회사로 운영될거라고.. 링크

2016년 6월 12일 일요일

6월 2주차 소식들..

소프트웨어

Visual Studio 2015 C++ 컴파일러를 사용시 용도 불명의 원격 코드가 삽입되고 있다는 소식.. 추후 빌드에선 없어질 거라고는 하는데 임시로 피하는 방법은 링크를 참고 하시길.. 링크 링크

jQuery 3.0 발표와 함께 구버전 Internet Explorer에 대한 지원 중단 소식이.. 6,7,8 버전에 대한 호환성을 유지하고 싶다면 jQuery 1.0을 사용하라고.. 링크

하드웨어

인텔의 PC 부문 축소와 함께 서버쪽을 강화한다는 이야기는 있었는데 이와 관련한 대략적인 윤곽에 대한 소식이.. 기존 폼팩터는 CPU와 각각의 부품들이 한세트로 구성된 형태 였는데 서로 다른 렉에 분리하는 형태를 추진중이고 이전에 HMC의 메모리 팜에 대한 구상이 현실화 되는 단계로 접어든 것 같음. 구리 배선이 아닌 기존에 연구하던 OmniPath 라는 광통신 인터페이스의 적용이 예상되고 제온칩에 포함된 FPGA 블럭은 재 프로그래밍이 가능하기 때문에 매우 강력한 무기가 될 것으로 보인다고.. 링크

보안

트위터의 로그인 정보 유출 소식.. 수백만명의 정보가 유출 되었다고 하며 현재 트위터측에서 유출된 정보를 확인하여 해당 계정들을 잠금 상태로 설정하고 비밀번호 초기화를 요청하도록 조치를 취했다고.. 링크

MS의 소프트웨어의 결함에 대한 위험을 경감 시켜주는 메커니즘인 EMET(Enhanced Mitigation Experience Toolkit, DEP, EAF, EAF+를 포함하는..)를 우회할 수 있는 가능성이 있어 어플리케이션에 대한 보안 패치를 미루지 말라는 권고가.. 특히 브라우저가 이러한 공격의 유입경로가 되는 경우가 많아 공격 대상으로 자주 거론되는 플러그인은 비활성 시켜두길 권한다고.. 링크

2016년 6월 7일 화요일

6월 1주차 소식들..

소프트웨어

HSA 1.1 스펙 소식.. 기존에는 AMD의 APU에 초점을 뒀다면 이제는 다양한 제조사들을 대상으로 하위 호환성을 갖도록 스펙을 확장하고 CPU + GPU 의 SoC 지원 뿐만 아니라 각종 DSP를 포함한 통합 칩에 대한 지원이 추가 되었다고. 링크

하드웨어

애플의 GPU 내장 5K 레티나 썬더볼트 모니터에 대한 소식.. AMD의 XConnect 기술을 사용한게 아닌가 개인적으로 추측하고 있고 애플만의 특별한 기능이 추가되거나 하는지는 아직 정보가 없는 상황.. 링크

MS의 홀로렌즈 스펙 오픈에 대한 소식.. 이제 파트너사들이 홀로렌즈 제품을 생산할 수 있게 되었고 VR과 AR 기기간의 경험을 공유하는 것에 대해서도 HTC와 함께 작업중인 걸로 보인다고.. 링크

기타

샤오미가 미국 진출을 위해 MS로 부터 특허를 구매 했다는 소식.. 1500개의 특허와 크로스 라이선싱이 포함되어 있고 자사폰에 오피스와 스카이프를 포함해서 출시하기로 됐다고.. MS가 안드로이드와 관련한 특허도 판매했는지는 아직 밝혀지지 않고 있다고.. 링크

보안

원격 데스크탑 소프트웨어인 TeamViewer의 계정 탈취소식... 얼마전의 대량 계정 유출 소식때 유출된 계정이 이용된 것 같다는 이야기는 있는데 아직 정확한 원인은 안밝혀 졌다고.. 후속 조치로 신뢰할 수 있는 장비에서 접근하는 것인지 확인하는 기능과 팀뷰어 계정이 탈취된 것 같다고 판단 될 경우 비밀번호를 강제로 초기화 하도록 하는 장치를 제공 하겠다는 이야기가.. 링크

2016년 6월 4일 토요일

AMD RX480 발표와 관련한 잡생각..


폴라리스 마카오 이벤트 직전에 던져진 떡밥으로 쉐이더 고유 펑션이라는 기능이 GPUOpen.com에 소개 됐었는데.. GCN 기반 아키텍쳐 제품에서 콘솔과 같이 하드웨어에 직접 접근하는 빌트인 쉐이더 펑션을 사용하는 기능이다. 생각해보니 EA의 프로그래머중 한명이 GCN 하드웨어를 OpenGL을 이용해서 해킹해 사용할려고 했던게 기억이..

결과적으론 빌트인 펑션이라는게 스펙 자체는 2014년 부터 거론이 되서 이번에 도입 되었는데.. Computex 발표회 때 Id 소프트의 엔지니어 인터뷰에서 Vulkan 버전의 둠이 AMD의 True 비동기 컴퓨트와 빌트인 펑션을 이용해서 개발중이며 200+ 이상의 프레임 레이트를 보여줄 것이라는 이야기가.. 마지막에 둠을 환상적인 프레임으로 즐기기위해 $700 그래픽 카드를 살필요 없다는 이야기는 1080 발표회때 초대한 엔비디아의 뒤통수를 강하게 치는 듯한 한마디였다; 관련 영상은 여기에서..

그리고 비동기 컴퓨트에 True를 붙인건 아마도 엔비디아의 비동기 컴퓨트와 구분할려고 붙인 것 같다.. 알고있는 바로는 AMD가 이야기 하는 비동기 컴퓨트에선 작업 타입이 크게 3종류가 있는데 쉐이더, 컴퓨트, 복사 작업이며 이런 작업 타입에 상관없이 전체 작업에 비동기 스케줄링이 가능한 방식이다. 하지만 엔비디아가 이야기하는 방식은 각각의 타입별로는 비동기 처리를 할지는 모르겠지만 작업 타입이 바뀌는 경우 전환 비용이 발생하고 있다.

현재 들리는 바로는 10월에 코드네임 VEGA 제품과 출시할 문명6가 이런 작업 타입 전체에 대해 기존보다 좀더 적극적으로 비동기 컴퓨트를 이용할 예정이라는 루머가 있고 6월 13일 E3에서 VEGA의 런칭 타이틀인 EA의 Battlefield1의 64인 멀티플레이 라이브 스트림 이벤트가 있다. 아마도 시연은 폴라리스 혹은 VEGA로 알려진 제품으로 하지 않을까 추측된다. Total War : Warhammer의 경우도 DX12 버전 패치를 준비중이며 비동기 컴퓨트, MLAA, TressFx 3.1등이 적용된 버전이며 게임의 전반적인 성능 향상에 초첨을 두었기 때문에 그래픽 카드 벤더와 상관없이 DX11버전 대비 큰 성능 향상이 있을 것으로 예상 된다.

AMD GPU ROADMAP
사실 이번에 가장 화제가 되었던 $199 에서 시작하는 가격은 아직 정확히 성능을 가늠하기 힘든 상황에서 대략적인 윤곽만 보이며 경쟁사의 라인업을 꼬이게 하는.. 아직까지는 엄청난 효과를 발휘하는 것 같아 보인다. 더군다나 예전부터 이야기 되었던 Primitive Discard Accelerator의 효과가 어느 정도인지도 미지수인 상태인데다 본격적으로 적용된 타이틀이 EA의 Battlefield1일 가능성이 크기 때문이다.

그밖에도 경제적인 문제로 보면 양적 완화를 시행한 미국에선 최근은 나아져 가는 편이지만 은행에서 돈은 풀었지만 개인의 삶은 나아지지 않는 문제라던가 BRICs와 같은 신흥국 소비자의 구매력이나 여러가지를 고민 했던 것 같다.. 아마도 이번 세대 최대 과제가 앞으로의 청사진을 위해 가능한 점유율을 끌어올리는게 목적이라 $500 가격대 성능을 $199에 제공하기로 결심한게 아닌가 생각된다..

개인적으로 추측하고 있는 AMD의 청사진은 위 슬라이드의 코드네임 Navi의 경우 Scalability를 강조하고 있는데 해외 웹진들과 AMD 관계자와의 인터뷰에서도 간간히 언급 되었지만 빅뷰티칩은 매우 비효율적이고 리스크가 크기 때문에 사실상 빅칩 전략을 사용하는 시대는 Vega가 마지막이 되지 않을까 생각하고 있다. 그렇기 위해서는 앞서 언급한 것 처럼 점유율을 끌어올리고 멀티 GPU를 이용하는 사용자를 많이 확보할 필요가 있는데 이는 VR을 위한 Liquid VR 기능과도 연관이 된다.

또한 현재 DX12의 멀티 GPU 렌더링 기술역시 과거의 Alternate Frame Rendering 기법에서 머물고 있는 상태를 넘어 이론적으로는 이미 알려져 있었지만 구현하긴 힘들었던 다양한 기법을 통해 APU와 같은 내장 GPU를 활용할 수 있길 바라고 있고 아마도 이를 위한 기반 기술인 비동기 컴퓨트였을 것으로 생각하고 있다. 덧붙여 크로스파이어의 API와 샘플 코드역시 공개되어 있는 상태이다.

AMD의 고유 API들은 대부분 오픈소스로 공개되어 있거나 앞으로 계속해서 추가되어 갈 것으로 보인다. 이렇게 풍부하게 보급된 AMD의 자원은 개발자들이 좀더 자신들과 협업할 수 있는 기회를 만들어주고 GPUOpen 프로젝트를 통해 개발자들과 결과물을 공유하는(GPUOpen 프로젝트의 업데이트를 유심히 보면 협력해서 작업한 게임이 출시되면 해당 프로젝트에서 나온 결과물들이 대량 업데이트 되는 것을 볼 수 있다..) 일은 게임웍스와는 다르게 개발 자원의 투명성을 보장해 주고 있다. 최근 대안으로 거론되는 경제 모델에선 Win-Lose는 존재하지 않고 상호간에 Win-Win 아니면 Lose-Lose 밖에 존재하지 않는 다는 것을 오랜기간 암흑기를 거치면서 깨달은 것 인지도 모르겠다. 사실 다른 관점에서 생각해보면 밥줄인 핵심 기능들은 하드웨어로 구현하고 이를 최대한 활용할 수 있는 자원들은 공유하는 형태이기도 하다.

여튼 이번 기회에 정상 궤도로 복귀해서 지금까지 경험하지 못한 화려한 그래픽의 세계로 소비자들을 초대하는 모습을 보여주기 바라며 이만 줄인다..

2016년 6월 1일 수요일

Java 9의 GC

참고 : https://www.infoq.com/presentations/java9-improvements

Java 9의 핵심 기능인 모듈러 Java를 위한 Jigsaw는 워낙 여러곳에서 다루고 있다보니 이를 제외한 기능에 대해 이야기 하고 있는 eclipsecon의 발표 자료가 나왔는데 이중 GC와 관련한 항목이 눈에 띄어 간단히 정리해 보기로 하였다.

Java 8까지는 Parallel GC가 기본 GC였는데 9부터는 G1 GC가 기본 GC로 바뀐다고 하며 String 중복 제거 기능에 대한 소개가 있는데 비동기로 동작해서 런타임 오버헤드가 없고 힙공간 낭비를 10%가까이 줄일 수 있다고 하며 Java 8u20 부터 사용 가능하다고..

사용 옵션은 다음과 같다.

-XX:+UseG1GC -XX:+UseStringDeduplication

이와 별도로 Java 9에서는 String 데이터 타입의 튜닝이 꽤 적용되서 전체적인 퍼포먼스 향상이 기대되고 Java 9의 마일스톤은 2016년 5월에 스펙이 마감되었고 2017년 3월 정식버전 발표를 앞두고 있다. Jdk9의 미리보기 버전을 사용하고 싶다면 다음 링크를 참고하면 된다.

2016년 5월 30일 월요일

5월 4주차 소식들..

기타

구글과 오라클의 법정 싸움은 2주간의 재판 진행 끝에 구글의 승리로... 처음 시작은 자바만의 문제였다가 이번 재판에선 API 디자인이나 명세가 저작권을 갖는지에 대한 문제로 바뀌면서 오라클이 이겼다면 변호사가 개발자의 친구가 될거라는 이야기가 있었던... 링크

구글의 안드로이드 업데이트와 관련해서 OEM과 통신사들의 랭킹을 부여해서 업데이트를 촉진 시킬려고 하지만 정작 제조사들은 상위 제품 사용자와 보급형 제품 사용자의 차이가 적어져서 매출에 악영향을 미치는 것을 우려하고 있다는 소식.. 링크

보안

WordPress의 플러그인 중 Jetpack의 코멘트 기능에 XSS 취약점을 이용해서 의심스러운 코드를 심을 수 있는 문제가 발견되어 21개의 브랜치에 대해 패치 버전이 나왔다는 소식.. 링크

JavaScript 첨부파일을 통해 전파되는 Locky 랜섬웨어에 대한 소식.. 아직까지는 암호화된 파일을 복원할 방법이 없다고 하며 일반적으로 JavaScript 코드의 첨부파일을 주고 받을일은 거의 없으나 .js나 .jse 파일을 포함한 메일은 주의를 기울일 필요가.. 링크

Drupal을 이용해서 운영되는 사이트를 대상으로 SQL injection 결함을 이용해 관리자의 비밀번호를 변경시키는 랜섬웨어 봇에 대한 소식이.. 대부분의 사이트들이 자동 백업 시스템을 갖추고 있어서 이와 관련하여 비용을 지불한 케이스는 아직 없다고.. 링크

JavaScript를 이용해서 웹페이지를 복사할 때 의심스러운 터미널 코드를 포함하도록 클립보드를 탈취해서 변조하는 Pastejacking이라는 해킹 기법이 소개된.. 링크

익명 통신 네트워크 서비스를 제공하는 Tor에서 보안을 강화하기 위해 분산된 다수의 시스템의 엔트로피를 수집해 랜덤 넘버를 생성하는 기법을 발표 했다고.. 링크

"Forbidden attack"이라고 불리는 오래전에 밝혀진 해킹 기법이 Visa 사이트에서 유효하게 동작 하는 것 같다는 소식이.. TLS 프로토콜을 이용해서 통신할 때 서버에서 1회성 랜덤키를 받아오는데 보통은 한번 사용하면 다시 사용할 수 없지만 만약 규칙을 준수하지 않아 한번이라도 더 사용할 수 있게 되어 있다면 공격자가 네트웍을 모니터링 할 수 있는 상황(공개된 WiFi 같은..)이라면 중간에 코드를 삽입하여 정보를 탈취할 수 있는 문제가 있다고.. 링크

소프트웨어

리눅스의 VFS레이어에 inode 타임스템프가 signed 32bit integer를 사용해서 발생하는 2038년 버그가 커널 4.7에서 한참 수정중이라는 소식 이와 더불어 EXT4 파일시스템도 다수의 버그픽스가 커널 4.7에 올라오고 있다고.. 링크 링크

하드웨어

CCIX 컨소시엄에 대한 소식..SoC를 위한 고속 통신용 인터페이스라는데 참여 기업이 ARM, Qualcomm, AMD, Xilinx, Huawei, IBM, Mellanox라고 모바일에서 PC 수준의 연결성을 제공할 인터페이스라는데 멀티칩모듈(MCM, 노트북의 그래픽카드나 AMD의 Fiji칩같은..)과 외장 카드형태 모두를 지원 할거라고.. 링크

2016년 5월 29일 일요일

c10k 문제..

참고 : http://www.kegel.com/c10k.html , https://en.wikipedia.org/wiki/Continuation , https://en.wikipedia.org/wiki/Green_threads , https://en.wikipedia.org/wiki/State_machine_replication , https://en.wikipedia.org/wiki/VxD , http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ , http://stackoverflow.com/questions/5635362/max-thread-per-process-in-linux , http://www.lowtek.com/sockets/select.html , https://en.wikipedia.org/wiki/Zero-copy

머신의 성능이 충분해진 시대에 10000개의 클라이언트에 어떻게 서비스를 제공할 것인가에 대한 질문에서 출발한 이야기인데.. 참고 사이트는 사실 꽤 오래전 이야기에 시스템 레벨에서의 I/O최적화에 대한 히스토리를 주로 모아뒀고 OS나 서버사이드 어플리케이션들에 오랬동안 논의 되었던 해결책들이 하나둘씩 적용되고 있으며 또한 이미 사용되고 있다.

요즘같이 스케일아웃 솔루션들이 잘 나와있는 시대에는 별 의미 없는 이야기 일 것 같아 보이기도 하지만 전체 시스템의 I/O 응답성을 높이기 위해 한번쯤 생각해 볼만한 주제인 것 같아 간단히 정리해 보기로 하였다.

I/O 전략

네트워킹 소프트웨어 디자이너를 위한 몇가지 옵션들..
  • 단일 쓰레드에서 다중 I/O 호출 발행 여부와 어떻게 발행할 것인지에 대해
    • 다중 쓰레드나 동시성을 얻을 수 있는 프로세스를 사용할 수 있는 곳에 블러킹/동기식 호출 사용하지 않기.
    • I/O 시작에 넌블러킹 호출을 사용하고 해당 채널에서 다음 I/O를 시작할 준비가 되었음을 알 수 있는 준비 알림 사용하기. 일반적으로 디스크 I/O가 아닌 네트워크 I/O에 유효함.
    • I/O 시작에 비동기 호출을 사용하고 I/O가 끝났을 때 완료 알림 사용하기. 네트워크와 디스크 I/O 모두에 유효함.
  • 개별 클라이언트에 대해 서비스를 어떻게 제어할 것인지에 대해
    • 각각의 클라이언트에 하나의 프로세스 할당(고전적인 유닉스 접근방식, fork()와 같은..)
    • 단일 OS 레벨 쓰레드가 다수의 클라이언트에 서비스를 제공하는 경우. 각 클라이언트는 다음에 의해 컨트롤 됨
      • 사용자 레벨 쓰레드(GNU 상태 쓰레드나 Green 쓰레드를 사용하는 Java) - Green 쓰레드는 커널 레벨이 아닌 VM 레벨에서 동작하며 단일 코어 CPU를 사용할때 유효한 방식이라 JVM 1.3 이후에는 사용되지 않고 있습니다.
      • 상태 머신 - 복제된 다수의 서버를 이용한 분산 시스템
      • 컨티뉴에이션 - 최근 유행하기 시작한 펑셔널프로그래밍의 비동기 프로그래밍 기법
    • 각각의 클라이언트에 하나의 OS 레벨 쓰레드 할당(네이티브 쓰레드를 사용하는 Java)
    • 각각의 활성 상태의 클라이언트에 OS 레벨 쓰레드 할당(아파치 프론트엔드와 함께 Tomcat을 사용하거나 NT의 I/O completion port나 쓰레드풀을 사용)
  • 표준 커널 서비스를 사용하거나 일부 코드를 커널에 포함시키는 방법(커스텀 드라이버, 커널 모듈 혹은 VxD - Virtual xxx Driver)
인기있어 보이는 몇가지 조합

쓰레드별로 다수의 클라이언트를 처리하며 넌블러킹 I/O와 함께 참조할 파일 디스크립터의 대기 상태를 select()나 poll()을 이용해 물어 처리(level triggered)하는 방식이 있는데 디스크 I/O가 블러킹 모드를 사용할 경우 병목이 발생할 수 있다.

파일 디스크립터의 대기 상태 변화시 알림을 받는 형태(edge triggered)로 처리하는 방법 있으며 프로그래밍 실수에 대해 관대하지 않은 방식이라 이벤트를 하나라도 놓친다면 해당 연결은 영원히 멈춘 상태가 될 수 있다.

비동기 I/O를 사용하는 경우는 큐를 이용한 신호(보통 유니크한 키값)와 값을 전달 하는 방식이며 기본적인 동작 방식은 작업이 완료된 상태 알림(edge triggered)을 받으면 큐에 담아 전달하는 형태이다.

클라이언트당 쓰레드를 할당하여 서비스를 하는 경우는 쓰레드당 사용되는 스택사이즈에 신경을 써야 하는데 메모리 비용의 문제가 발생할 수 있는 방식이다.

파일핸들러에서의 최대로 열 수 있는 파일수의 제약

최대로 열 수 있는 파일수의 제약이 있기 때문에 이런 제약에 걸린다면 OS의 설정 파일을 손봐야 할수도 있다. 리눅스의 경우 cat /proc/sys/fs/file-max를 이용해 값을 확인 할 수 있다.

쓰레드상의 제약

가상메모리를 소진시키지 않기 위해선 쓰레드당 할당된 스택의 크기에 주의할 필요가 있으다. 프로세스당 최대 쓰레드의 수가 제한되어 있으며 기본값은 시스템 메모리 크기에 따라 자동으로 계산 되며 런타임에 변경 가능하다. 리눅스의 경우 cat /proc/sys/kernel/thread-max를 이용해 값을 확인 할 수 있다. 시스템에서 쓰레드당 할당되는 메모리 묶음의 크기는 cat /proc/sys/vm/max_map_count를 이용해 확인할 수 있다. 해당 값들을 변경하게 될 경우 메모리 파편화와 오버커밋도 고려해야 하는 문제가 있다.

Java와 관련한 이슈

NIO에서 넌블러킹 I/O를 지원하고 있으니 일부 제약이 있긴 하지만 NIO를 사용할 수 있다면 사용하길 추천한다.

다른 팁들
  • Zero-copy 이용하기 - CPU의 복사 시간에 낭비되는 자원을 줄여 네트웍의 효율을 높이는 방법이다. HSA 같은경우 CPU와 GPU간에 포인터를 전달할 수도 있다.
  • 네트웍에서 부분 프레임만 지속적으로 보내는 상황 피하기.
  • 과부하 상황에 재치있게 행동하기 - 과부하 상황에서 유입되는 접속수를 낮춤으로 퍼포먼스 양상을 개선하고 전체적인 에러율을 낮추는 방법을 선택할 수도 있다. 요즘은 유연하게 스케일 아웃을 할 수 있는 방향으로 가고 있다.
  • 쓰레드별 워킹 디렉토리를 갖는 비 POSIX 쓰레드를 사용할 수 있다. FTP서버에서 이점이..
  • 프로세스가 아닌 어플리케이션 레벨의 캐싱.
원문에서는 좀더 상세한 내용을 다루고 있으니 관심있는 분들은 원문을 참고하길 바라며 일부 링크의 경우는 세월이 많이 흘러 유실된 경우가 있지만 관련 자료들은 대부분 검색을 통해 확인할 수 있으니 참고하시길 바라며..


2016년 5월 21일 토요일

5월 3주차 소식들..

보안

TeslaCrypt 랜섬웨어의 제작자가 마스터키를 공개해서 무료로 감염된 장비를 치료할 수 있게 되었다는 소식.. 링크 링크

Gmail의 RC4와 SSLv3 지원 중단에 대한 소식.. 6월 16일 부터 적용되며 더이상 해당 프로토콜을 이용한 메시지를 주고받을 수 없게 된다고.. 링크

2012년에 유출 된 링크드인 계정정보가 거래되고 있는 것 같다는 소식이.. 2012년 이후로 비밀번호를 변경하지 않은 사람은 변경을 권장하고 2단계 인증을 사용하길 추천한다고.. 자신의 계정 정보가 유출 됐는지 확인할 수 있는 사이트 주소도 첨부.. 링크 링크

브라우저에서 검색엔진의 검색 결과를 변형 시켜 클릭 시 제작자에게 광고 수익이 돌아가게 하는 Redirect.Paco라는 멀웨어 소식.. WinRAR, Connectify, YouTube Downloader Stardock Star8이나 KMSPico같은 익숙한 프로그램의 인스톨러를 변형해서 배포되는 케이스가 있다고.. 원본 바이너리를 제공하는 곳도 털리는 경우가 있는데 미심쩍은 곳에서 뭔가 받아서 설치하는건 더 주의해야 할듯한... 작동 원리는 기본적으로 프록시 설정을 변경 시키는 형태라 네트워크 지연을 유발하고 브라우저 상태바에 프록시와 관련한 메시지를 노출하는 특징이 있다고.. 링크

CryptXXX 2.0 랜섬웨어 크랙인 RannohDecryptor소식.. 랜섬웨어도 계속해서 버전업 되기 때문에 한시적이긴 한.. 링크 링크

하드웨어

구글의 머신러닝용 프로세서인 TPU(Tensor Processing Unit)에 대한 소식.. 머신러닝용 플렛폼인 TensorFlow에 사용될 칩인데 좀더 효율적이면서 빠른 처리를 위해 자체칩을 개발 했다고 하며 범용 컴퓨팅 유닛인 GPU를 대체할 목적이며 앞으로도 특수 목적용 칩을 계속해서 개발할 예정이라고. 외부에 판매할 계획은 없다는 걸로 봐서 클라우드 서비스에 가속 기능을 추가하는 방향으로 가지 않을까 싶은.. FPGA의 경우 처리 속도의 문제 때문에 이런 방향을 택했다고 하는데 MS의 경우는 머신러닝용 FPGA를 개발하는 방향으로 진행 중이라고. nVIDIA 같은 경우 이런 변화에 직접적인 영향을 많이 받을 가능성이 높아 보이고 AMD같은 경우 특수목적용 블럭의 IP를 라이선싱 하는 형태로 사업 방향을 바꾸는 중인데 이런 흐름을 미리 읽고 사업 구조를 변화시킨듯 싶음.. 링크

소프트웨어

구글 I/O 소식.. 몇년 전부터 크롬OS와 안드로이드가 통합되면서 크롬OS가 사라질 것이라는 예측이 있었는데 서로의 기능을 주고 받으면서 당장 어느 하나가 사라질 것 같진 않다는 이야기가.. 재부팅이 필요없는 리눅스의 라이브 업데이트 기능이 크롬OS에는 적용되어 있었는데 안드로이드N에 적용 될 예정이고 크롬OS에 플레이스토어 기능이 들어오는게 눈에 띄는 변화인듯.. 링크

오픈소스 오케스트레이션 툴 특징

참고 : https://www.oreilly.com/ideas/swarm-v-fleet-v-kubernetes-v-mesos?cmp=tw-webops-free-lp-promo_swarm_v_fleet_v_kubernetes_v_mesos_article , http://stackoverflow.com/questions/27640633/docker-swarm-kubernetes-mesos-core-os-fleet

DevOps라는 단어의 대두와 함께 소프트웨어의 개발 뿐만 아니라 서비스의 운영이 개발 프로세스에서 중요한 비중을 차지하게 됨에 따라 다양한 클라우드 인프라 오케스트레이션 툴들이 나오게 됐는데 크게 Docker 이전의 경우 상용툴로 Chef와 Puppet 이후는 Swarm, Fleet, Kubernetes 그리고 Mesos를 들 수 있을것이다.

사실 이런 툴들이 없는 전통적인 방식의 개발, 운영 시스템에 DevOps를 해야 한다면 가혹한 환경에 놓이게 될 가능성이 매우 높겠지만 이런 툴들은 언제든지 새로운 소프트웨어를 제공 할 수 있는(Continuous Delivery)환경을 만드는데 도움을 주고 있는 것 처럼 보인다.

기존의 인프라는 머신 각각에 대해 신경을 썼다면 새로운 툴들은 시스템은 언제든 문제를 일으킬 수 있다고 보고 문제가 발생한 요소를 제거하고 새로운 백업 시스템으로 교체하는 형태로 발상의 전환이 이루어진 점이 특징이라고 볼 수 있다. 물론 오케스트레이션 툴을 이용하기 위해선 기존의 어플리케이션의 설계도 맞춰서 바뀌어야 하겠지만...

오케스트레이션 툴을 통한 제로 다운 타임, 자동 장애 복구, 서비스 확장을 위한 사전 프로비저닝 된 지원 시스템 그리고 보편화 된 서로 다른 데이터센터와 지역에서의 서비스 운영이 가능해진 시스템은 전통적인 시스템과는 달리 매우 매력적으로 보이지만 각 툴에 대한 충분한 이해가 필요하다는 것을 간과해서는 안된다.

다음은 각 툴을 선택할 때 고려할만한 특징에 대해서 간략히 정리해 보았으며 컨테이너(Docker와 같은..)를 스캐줄링 할 것인지 머신(EC2 인스턴스와 같은..)을 스케줄링 할 것인지와 같은 차이가 있으며 내용은 다음과 같다.

Swarm

Docker의 표준 API를 사용하는 툴로 기존에 Docker Compose와 같은 스크립트를 이용하는 환경이라면 상대적으로 적은 리소스를 투입하여 통합할 수 있지만 복잡한 스케줄링을 위한 커스텀 인터페이스 정의가 어려워 질 수 있다. 주요 구성요소로 머신에 설치되어 컨테이너를 스케줄링 하기 위한 매니저와 에이전트가 있다.

Fleet

CoreOS의 클러스터 관리 툴로 Kubernetes와 같이 추상화 단계가 높은 툴과 비교해 로우레벨 클러스터 엔진으로 분류되며 리눅스의 init을 대체하기 위해 나온 systemd위에서 동작하는 툴이다. Fleet은 단순한 레이어를 갖으며 Kubernetes와 같은 상위 레이어의 툴의 베이스가 될 수 있다. 머신간의 통신은 Etcd를 통해 이루어지며 장애에 유연하게 대처할 수 있도록 디자인 되었다. 만약 머신중 하나가 죽는다면 해당 머신에서 스케줄링 되던 유닛(컨테이너와 같은..)은 새 머신에서 재시작 할 수 있다. 네트워크 소켓을 통해 즉각적인 컨테이너 구동이 가능하다는 장점을 가지고 있다.

Kubernetes

구글의 서비스는 모두 컨테이너 기반으로 제공되고 있으며 이것을 가능하게 하는 것이 Borg인데 Kubernetes는 구글에서 Borg를 오픈소스로 공개한 대규모 컨테이너 시스템을 스케줄링 하기 위한 툴이다. Kubernetes는 몇가지 추상화된 개념들을 제공하며 서비스 추가나 복제와 같은 확장성을 제공하고 장애에 유연한 대처가 가능한 강력한 툴이지만 어플리케이션이 이를 충족시키기 위해 재 디자인 되어야 한다. Kubernetes가 제공하는 강력한 기능이 궁금하다면 링크의 영상을 보길 추천한다.

Mesos 

아파치의 Mesos는 수백에서 수천개의 머신으로 구성된 대규모 클러스터 관리를 위해 개발 되었으며 Twitter, eBay 그리고 Airbnb와 같은 회사들이 사용하고 있다. 대규모 클러스터 구성을 기본으로 하다보니 다수의 사용자에 대한 워크로드를 지원하는 것이 특징이며 Fleet과 같이 로우 레벨 클러스터 엔진으로 분류되며 스케줄러로 Marathon, Kubernetes 그리고 Swarm과 같은 툴을 이용할 수 있다. 12개 이하의 머신 노드를 이용하는 경우라면 필요 이상으로 복잡한 솔루션이 될 수 있다.

2016년 5월 15일 일요일

5월 2주차 소식들..

보안

7-zip의 사용자의 권한을 취득할 수 있는 결함이 발견되어 16.00의 패치가 나왔다는 소식.. 링크

플레시 플레이어의 보안패치 소식.. 개인적으로는 사용안한지 꽤 되었지만.. 윈도와 맥은 21.0.0.242 리눅스는 11.2.202.621로 업데이트를 권장한다고.. 링크

Jenkins의 보안 패치로인해 플러그인의 파라메터 전달방식이 변경되어 플러그인들이 정상적으로 동작하지 않는 문제가 있다고.. 현재 권장되는 버전은 2.3과 LTS 1.651.2인데 보안 위협에 노출 되기는 하지만 기존 방식을 유지하는 hudson.model.ParametersAction.keepUndefinedParameters 프로퍼티에 true를 사용하거나 hudson.model.ParametersAction.safeParameters 프로퍼티에 화이트리스트 파라메터를 지정할 수 있다고.. 링크

하드웨어

웨스턴디지털의 샌디스크 인수소식.. 조만간 WD 브랜드의 SSD와 메모리스틱 들을 보게 될듯한.. 링크

소프트웨어

OS X El Capitan 10.11.4 업데이트에서 프리징 현상을 겪는 사용자가 많다는 소식.. 나만 그러는줄 알았더니 아니었.... 2015년 전반기에 발매된 13인치 레티나 맥북프로가 유독 문제가 잦은 편이라고.. 링크

파이어폭스의 테스트파일럿 프로그램에 대한 소식.. 파이어폭스에서 제공하는 시험적인 기능들을 사용해 볼수 있으며 관심 있는 분들은 다음의 링크를 참고하시면 됩니다.. 링크

Debian 프로젝트의 32-bit 구형 x86 CPU의 지원 중단 소식.. i386부터 586/686 하이브리드 타입까지가 대상이며 커널 4.3부터 686 프로세서 부터 지원하도록 변경되기 때문에 중단 대상에 포함되는 시스템을 사용중이라면 안정버전인 Jessie를 사용하라는 소식.. 링크

2016년 5월 8일 일요일

5월 1주차 소식들..

소프트웨어

리눅스 커널의 네트웍과 관련하여 과도한 패킷 버퍼링으로 인해 응답시간 지연과 대역폭 저하를 유발하는 Bufferbloat문제 해결을 위한 추가 패치가 커널 4.7에 포함되었다는 소식.. 안정버전 커널에도 백포트 될 것으로 보인다고.. 링크

보안

이미지 처리용 툴인 ImageMagick의 보안 결함에 대한 소식.. 특별히 제작된 이미지를 이용한 해킹 방법에 대해 정리된 ImageTragick이라는 사이트도 나온 상태이지만 패치는 아직 안된 상태이고 정책 파일을 통해 문제를 임시적으로 막는 방법까진 나온 상태.. 해당 라이브러리를 사용하는 웹 플러그인 중에 대표적인 것으로 PHP imagick, Ruby rmagick, nodejs imagemagick이 있다고.. 링크 링크

OpenSSL의 패치 소식.. 1.0.2h와 1.0.1t 버전이 나왔는데 낮은 위험의 버그들을 조합해서 좀더 큰 버그를 만들어내는 케이스가 발견되어 다수의 버그 패치가 이루어 졌다고.. 링크

SHA-1 암호화 방식의 인증 시스템의 취약성 때문에 브라우저 제작사들이 SHA-1 방식을 이용하는 사이트는 차단할 예정인데 MS의 경우 Windows 10 1주년 기념 업데이트부터 IE11과 Edge에서 SHA-1 방식을 이용하는 사이트는 더이상 자물쇠 아이콘이 나타나지 않고 내년 2월부터는 차단할 예정이라고. 구글과 모질라는 이보다 빠른 올해 7월부터 차단에 들어갈 것으로 보인다는 소식.. 링크

2016년 5월 3일 화요일

Spring Transaction의 Propagation과 Isolation에 대해..

참고 : http://stackoverflow.com/questions/8490852/spring-transactional-isolation-propagation , http://www.byteslounge.com/tutorials/spring-transaction-propagation-tutorial , http://www.byteslounge.com/tutorials/spring-transaction-isolation-tutorial

헷갈릴 땐 라이브러리의 소스코드의 각 타입별 주석을 참고해도 되지만 이참에 정리하자 싶어서 작성합니다. Transactional 어노테이션의 propagation과 isolation 항목에 대한 설정 정보에 대해 알아보도록 하겠습니다.

PROPAGATION

비지니스 메소드가 호출될 때 자기 자신과 내부에서 호출 된 Transaction(이하 tx)간에 어떻게 상호 작용할 것인지에 대한 상태를 정의 하는 항목으로 다음과 같은 설정들이 존재 합니다.
  • REQUIRED : 해당 상태가 선언된 메소드가 실행 될 때 tx가 존재 한다면 공유해서 사용하고 그렇지 않다면 새 tx를 생성해서 사용합니다. 만약 내부에서 호출 된 메소드가 자신과 마찬가지로 REQUIRED가 선언된 상태라면 자신과 내부 tx각각은 논리적으로는 구분 되지만 물리적으로는 하나의 tx가 됩니다. 내부에서 호출 된 메소드의 tx가 롤백 된다면 자신을 포함한 물리적인 하나의 tx가 롤백 되는 구조를 만들 수 있습니다.
  • REQUIRES_NEW : 해당 상태가 선언된 메소드가 실행될 때 항상 새로운 물리적인 tx를 생성하고 해당 tx가 롤백 된다고해서 물리적으로 분리된 다른 tx가 롤백 되지는 않습니다. 만약 내부적으로 새로운 tx가 시작 된다면 자신의 tx는 잠시 정지 되었다가 내부 tx가 종료된 시점에 이어서 수행되게 됩니다.
  • NESTED : 자신과 내부 tx들이 하나의 물리적인 tx를 사용하지만 내부에서 호출된 NESTED tx들에 savepoint를 세팅하는 형태 입니다. 그렇기 때문에 내부의 NESTED tx중 하나가 롤백이 된다고 하더라도 자신이 롤백 되지는 않습니다. 이 기능은 JDBC savepoint를 통해 구현되기 때문에 Spring JDBC로 관리되는 tx를 사용할때만 써야 합니다.
  • MANDATORY : 해당 상태가 호출될 때 열려있는 tx가 반드시 존재해야하며 그렇지 않으면 컨테이너에서 예외를 던집니다.
  • NEVER : 해당 상태가 호출될 때 열려있는 tx가 반드시 존재하지 않아야 하며 그렇지 않으면 컨테이너에서 예외를 던집니다.
  • NOT_SUPPORTED : 해당 상태는 tx의 범위에 포함되지 않는 것을 수행합니다. 만약 열려있는 tx가 존재 한다면 해당 tx를 잠시 멈추고 작업을 수행합니다.
  • SUPPORTS : 열려있는 tx가 이미 존재한다면 해당 tx에 포함되어 수행되며 만약 열려있는 tx가 존재하지 않더라도 수행은 되지만 tx와 관계없이 처리 됩니다.
주의할 점들..
  • 기본적으로 tx을 롤백 상태로 만들기 위해서는 unchecked exceptions를 필요로 하며 checked exceptions를 이용하기 위해서는 별도의 설정이 필요합니다.
  • Transactional 어노테이션만 선언된 메소드(Declarative transactions)에서 동일한 Bean 내부의 다른 메소드를 직접 호출할 경우(Self-invocation) 컨테이너에 의해 Transactional 선언이 무시되기 때문에 이경우는 aspectj를 사용해서 구성해야 합니다.
ISOLATION

ACID tx 요소 중 isolation 레벨에 대한 설정으로 특정 위치의 데이터에 대해 동시 다수의 tx가 존재 할 때 해당 데이터에 어떻게 접근할 것인지에 대해 정의할 수 있습니다.
  • READ_UNCOMMITTED : 여러 tx가 동시에 x라는 데이터에 접근 할 때 x에 변경이 일어난 시점과 읽는 시점에 따라 롤백 여부와 상관없이 변경된 값을 읽는 더티 리드(dirty reads)를 허용하는 상태입니다.
  • READ_COMMITTED : 더티 리드의 문제는 없지만 동시에 x라는 데이터에 접근할 때 타임라인 상 A라는 tx에서 x를 읽은 후 tx가 종료 되기 전에 B라는 tx에서 x를 변경후 커밋을 하게 될 경우 A에서 x를 다시 읽는 케이스가 존재 한다면 처음 읽은 x의 값과 나중에 읽은 x의 값이 다른 문제(non-repeatable reads)가 발생하게 됩니다.
  • REPEATABLE_READ : 하나의 tx에서 단일 레코드를 여러번 읽는 경우 결과가 항상 같아야 하는 상태이며 dirty reads와 non-repeatable reads 문제를 제거할 수 있습니다. 하지만 범위 스캔을 하는 경우 tx A에서 범위의 조건이 0-20 사이의 값을 읽고 tx A가 종료되기 전에 tx B에서 0-20사이에 레코드를 추가하게 된다면 tx A에서 0-20 사이의 값을 다시 읽었을 때 tx B에서 추가한 레코드(phantom records)가 포함되는 팬텀 리드(phantom reads)의 문제가 있습니다.
  • SERIALIZABLE : 가장 제한적인 상태이며 읽기, 범위 스캔, 쓰기에 tx락을 거는 형태입니다. 앞서 언급한 모든 문제를 해결할 수 있지만 tx의 동시성을 허용하지 않아 퍼포먼스 패널티를 지속적으로 증가시키는 문제가 있습니다.
  • DEFAULT : DBMS에서 정의된 Default Isolation 레벨에 대한 상태를 적용합니다.
각 isolation 레벨이 갖는 문제를 요약하면 다음과 같습니다.
  • READ_UNCOMMITTED : dirty reads, non-repeatable reads, phantom reads
  • READ_COMMITTED : non-repeatable reads, phantom reads
  • REPEATABLE_READ : phantom reads

2016년 5월 1일 일요일

4월 4주차 소식들..

보안

인기있는 업무용 메신저인 Slack의 보안 토큰을 Github과 같은 공개된 저장소에 올려서 보안위험에 노출된 경우가 많아 Slack측에서 발견된 토큰을 폐기하고 발행자와 관련 팀 담당자에게 연락을 하고 있다고.. 주로 봇 통합 용도로 많이 사용된 것 같다는데 보안 토큰을 공개된 장소에 공유하는 건 좀.. 음.... 링크

소프트웨어

Node.js 의 6.0 버전 소식.. 5.0과 다르게 10월부터 LTS 지원을 할 예정이라고.. 추가로 ECMAScript 2015 지원 정보 챠트.. 링크 링크

Linux의 /dev/random LRNG 패치에 대한 이야기.. 기존 방식과 차이점으로 가상화 환경이나 SSD를 사용하는 환경에서도 부트 타임에 충분한 엔트로피를 제공하고 대규모 병렬 시스템에서 엔트로피 수집에 대한 충격을 제한하며 /dev/urandom과 get_random_bytes에서의 큰 성능 향상등이 고려되고 있다고.. 링크
 
Nginx 1.10 Stable 버전이 발표 되었다는 소식.. 스트림 모듈, HTTP/2, 다이나믹 모듈 지원등이 특징이라고.. 링크


기타

특허 트롤에 대응하기 위한 시스템에 대한 소식.. 미국의 발행되거나 출판된 특허에 대한 공개정보를 마이닝 해서 앞으로 나올만한 가능성이 있는 특허 정보를 조합해서 사전에 공개하는 All Prior Art 라는 시스템에 대한 이야기가.. 링크 링크

하드웨어

구글 OnHub 라우터의 IFTTT 지원 소식.. IoT와 홈오토메이션의 중심이 되지 않을까 추측은 했었는데 IFTTT를 지원하게 될 줄은... 영상 링크를 보는편이 어떤게 가능해 지는지 바로 와닿을 듯한.. 링크

AMD의 서버관련 x86과 SoC 관련 IP의 중국 라이선싱 소식.. THATIC이라는 조인트 벤처인데 중국이 반도체 관련 사업에 꽤 적극적인 모습을 보이고 있어서 어떤 형태로 칩이 나오게 될지는 모르겠지만 중국내 FAB육성과 함께 자국내 IT기업들이 서버에 사용할 제품을 만들려는 것 같아보이는데 Intel과의 라이선스 문제는 없다고 그러고 Intel에겐 새로운 경쟁자가 추가되는 상황이라 탐탁치는 않을 듯... 링크

2016년 4월 22일 금요일

4월 3주차 소식들..

보안

오라클의 4월 정기패치 릴리즈 소식.. 49개 제품에 139개의 결함에 대한 패치가 릴리즈 되었다고.. 링크

Git 2.7.4 이하 버전에서 원격 코드 실행 공격과 관련한 결함이 발견 되었는데 맥의 커맨드라인 툴의 최신버전에 Git이 2.6.4가 포함되어 있어 문제가 된다는 소식.. 개인적으론 Homebrew를 통해 최신 버전을 사용중인.. 링크


소프트웨어

Windows 10 패스트링에 1주년 기념 버전 기능을 포함한 레드스톤 빌드 14328이 배포됨.. 이번 빌드에서 드라이버 모델에 뭔가 변화가 있었는지 일단 AMD의 최근 디스플레이 드라이버는 화면을 제대로 드로잉하지 못하는 문제가 있고 앞전 버전부터 사운드 컨트롤쪽 문제는 여전하고.. 메인 장비가 맥북 프로라서 롤백 안하고 디스플레이 드라이버는 마소 베이직 드라이버를 쓰고 있는데 이번 버전은 드라이버 쪽에 이슈가 좀 많은 느낌이.. 링크

리눅스 커널 스케줄러의 멀티코어 환경에서 성능문제에 대한 논문을 기반으로 패치가 적용되는 배포판이 나오기 시작 했다는 소식.. 링크 링크

2016년 4월 18일 월요일

Reactive Java 참고 자료들..


6월에 Spring Framework 5가 나올 예정인데 Reactor 프로젝트의 스프링 적용 버전인 Spring Reactive가 포함되어 나올 예정임. Spring Framework 4.3 부터 선행 적용하기로 되서 미리 사용이 가능한데 간략히 설명하면 기존의 멀티쓰레드 방식 코드에 이벤트 루프 방식이 추가되는 형태라고 볼 수 있는.. 단적으로 Node.js의 경우는 싱글쓰레드 이벤트 루프 방식임.

Spring MVC에서 서비스 클래스 영역까지는 비동기 코드 작성에 대한 패턴들이 나와 있었는데 이제 컨트롤러까지 확장되는 추세이고 데이터소스 영역도 이미 NoSQL 데이터베이스 같은 경우 Non-block I/O를 지원하는 JDBC 드라이버들이 제작되고 있는 상황.

기존에 Java의 비동기 코드가 .NET에 비해 깔끔하지 못하다는 해외 커뮤니티의 평가가 많았는데 여기에서 모티브를 얻은 RxJava가 인기를 끌면서 RxJava의 Spring 버전인 Spring Reactive가 메인스트림에 합류하는 분위기.

선행 학습을 위해 참고한 자료들의 링크를 남깁니다.

메인 동영상은 기존의 레거시 코드를 Java 8으로 마이그레이션 하는 방법에 대한 내용을 다루는데 주로 Stream을 이용한 람다코드와 Consumer를 이용한 리소스 관리에 대한 이야기를 하고 있다. 강연 내용중에 기억에 남는 글귀가 있는데 "A good code is like a story not like a puzzle." 이라는 말이.. Spring Reactive에 대한 자료는 이곳 을 참고할 수 있고 관련자료의 슬라이드 링크를 포함하고 있다. 슬라이드 중 Reactive Web Applications에 대한 강연 영상은 이곳 에서 확인할 수 있고 서블릿에서 비동기 서블릿의 진화 과정에 대한 간략한 내용과 Reactive Stream에 대한 이야기를 담고 있다. Spring Boot와 RxJava를 이용해 RESTful API를 만드는 방법에 대한 내용은 이곳 에서 확인할 수 있고 Observable을 이용한 데이터 핸들링과 컨트롤러의 비동기 응답과 테스팅에 대한 힌트를 주고 있다. Spring Reactive의 REST 컨트롤러 구성에 대한 코드 예제는 이곳 에서 확인 가능하다.

2016년 4월 16일 토요일

닌텐도NX와 관련한 루머..


사실 닌텐도의 차세대 기종에 대한 관심이 큰건 아니지만 AMD 방향성에 대해 문득 이런 저런 생각이 들어서 글을 남긴다.

원문은 링크의 글인데 GPU로 사용되는 칩이 차세대 아키텍쳐인 폴라리스가 탑제될 가능성이 커 보인다는 소식인데 그 이유로 Primitive Discard Accelerator(이하PDA)를 들고 있다. 우리나라식 표현으로 하면 폴리곤(Primitive) 제거 가속기 정도나 될려나.. 3D 그래픽은 평면에 보여지지만 우리가 보지 못하는 영역까지 처리 하는 부분이 존재 하는데 PDA는 이러한 부분의 불필요한 연산을 줄이는 역할을 한다고 하며 실재로 게임 개발자 컨퍼런스(GDC)에서 EA의 다이스팀이 프로스트바이트 엔진에 소프트웨어 기반의 Triangle Culling방법을 적용해서 테스트를 했을 때 75%를 넘는 폴리곤을 지오메트리 엔진으로 보내기 전에 쳐낼 수 있었고 최대 20%에 육박하는 성능 향상을 얻을 수 있었다고. 비슷한 소프트웨어 솔루션으로 AMD의 GPUOpen의 GeometryFX도 존재한다고 한다.

PDA의 경우 이렇게 소프트웨어적으로 구현되던 것을 하드웨어 블럭으로 구현한 것이며 닌텐도에서 이기능이 포함되기 원했다고 하는데 현존 28nm 아키텍쳐에 백포트 하기엔 R&D 비용이 부담이고 아무래도 AMD의 절망적인 현재 재정 상황 때문에 14nm 기반의 폴라리스 기반 커스텀 칩을 닌텐도의 부담을 줄이기 위해 일정 기간 수율과 상관없이 고정된 가격으로 공급하는 형태의 딜을 할 가능성이 있어보인다는 이야기가..

여하튼 최근 화제인 AMD의 비동기 컴퓨트의 경우 예전에 디버깅 하느라 페이스북의 비동기 통신용 프로토콜인 Thrift 소스를 뜯어본 기억을 더듬어 보면 결과적으론 잡의 싱크를 맞춰줄 큐가 존재한다던가 하는데에서 비동기 프로그래밍 기법에서 사용되는 개념들이 하드웨어적으로 구현되어 있는 느낌이라고 해야하나.. 아마도 GPU 자체가 거대한 멀티코어 연산장치의 클러스터 형태이다 보니 암달의 법칙을 극복하고 구스타프슨의 법칙을 적용할려고 노력한 결과물이지 않나 싶은..

VR시대에 접어들어 AMD의 목표는 2020년까지 한쪽눈당 16K해상도에 144Hz 이상의 리프레시율을 갖는 영상을 제공하는 것이다 보니 응답성을 높이고 좀더 높은 해상도를 표현할 수 있는 근본적인 문제를 해결할 수 있는 기술들을 계속해서 추가해 나가지 않을까 싶고.. 아마도 올해 초였던 것 같은데 백악관에 가서 지구온난화와 관련해 기후협약 문서에 서명했다는 기사를 봤던 기억이 나는데 앞으로 제품은 저전력 저발열을 추구하는 형태로 나오지 않을까 싶은.. NVIDIA의 경우는 해외에선 GimpWorks라고 욕먹고있는 GameWorks 강화에 주력하지 않을까 생각이들고.. 개인적으론 고자웍스라고 부르고 있음;;

CPU부문의 경우는Zen 아키텍쳐부터 SMT 방식으로 다시 회귀하기로 되었는데 최근 CMT 기반 아키텍쳐의 최적화된 퍼포먼스 관련해 간간히 나오는 소식을 보면 아무래도 불도저가 10년은 이른 아키텍쳐가 아니었나 싶기도... 아마도 HSA를 이용한 이기종 컴퓨팅이 활성화 되는걸 너무 빨리 올거라고 예측하고 FPU성능을 낮추는 형태를 택한게 아닌가 싶은데 개인적으론 올해가 이기종 컴퓨팅의 원년이 되지 싶은.. 한 5년쯤 뒤엔 다시 CMT 방식으로 회귀하는게 아닌가 하는 생각도 문득 해봅니다..

4월 2주차 소식들..

기타

넷플릭스가 마르코폴로의 첫시즌부터 HDR 4K영상을 제공하기 시작 했다는 소식.. HDR10과 Dolby Vision을 지원하는 장비에서 시청 가능하다고. 링크


소프트웨어

Atom 에디터의 MS 버전인 Code가 1.0버전이 나왔다는 소식..  링크


하드웨어

OpenPOWER 플렛폼의 CAPI 인터페이스에 대응하는 FPGA 가속기에 대한 소식.. 구글이 OpenPOWER 플렛폼을 채택하면서 FPGA 엔지니어 수요가 증가하지 싶은데.. 지금은 소프트웨어를 하고 있지만 학부때 Xilinx의 VHDL을 이용해서 SoC 프로그래밍을 했었고 하드웨어쪽으로 취업한 사람들도 S모 전자 가서 전혀 다른 일을 하고 있는걸 보면 다양성이라는게 참 중요한 것 같다는 생각이.. 링크


보안

URL 줄이기 기능의 보안 취약점이 발견 되었다는 소식.. 웹상의 공개된 링크에대해 사용하는 것은 괜찮지만 개인적인 자료의 공유에는 권장되지 않는 다고. 랜덤하게 값을 대입해서 공개되지 않은 URL정보를 알아낼 수 있을 만큼(Brute-force attack) 짧은게 문제인데 사실 요즘은 GPU를 이용한 Brute-force 툴도 있어서 암호화 규격도 최신 버전이 권장되는 시대이기도.. 클라우드 드라이브의 경우 일부 쓰기 권한이 있는 공유 폴더가 노출되게 되면 멀웨어가 자동으로 싱크 되면서 사용자의 PC에 다운로드 될 수 있는 문제가 있고 구글맵 같은경우 개인적인 정보들이 노출될 수 있다고. 구글은 현재 URL 줄이기 기능의 문자수를 2배로 늘인 상태라는 소식.. 링크

JBoss WAS를 대상으로 한 랜섬웨어 공격 가능성에 대한 소식.. Destiny라는 학교에서 사용하는 도서관 관리 소프트가 설치된 서버에 원격에서 접속 가능한 웹쉘을 통해 서버의 권한을 탈취할 수 있는 문제가 발견 되었다는데 탈취된 서버의 경우 웹쉘이 1개 이상 떠있을 거라고.. 국내에도 사용하는 곳이 있는지는 모르겠으나 서버도 이제 랜섬웨어의 타겟이 될수 있다는 소식.. 링크

더이상 업데이트가 지원되지 않는 윈도용 애플 퀵타임 플레이어에 보안 결함이 발견 되었으나 애플에서는 아무런 공지가 없는 상태라 언인스톨을 권장하고 널리 알려 달라는 소식이.. 링크

리눅스 재단의 프로젝트 중 하나인 웹사이트의 무료 인증 발급 시스템인 Let's Encrypt의 베타서비스가 종료되고 정식서비스로 전환 되었다는 소식.. 링크

2016년 4월 2일 토요일

4월 1주차 소식들..

하드웨어

IBM의 OpenPOWER 플렛폼이 구글의 데이터 센터에 채용될 예정이라는 소식.. 탈 x86을 선언한 구글의 선택은 IBM으로 결론이.. 연산 가속을 위한 Open CAPI/NVLink 인터페이스 채용이 특징인데 Open CAPI의 경우 범용 연산 가속기인 GPU 대신 FPGA 칩과 연결되는 인터페이스이다. 인텔의 경우 인수한 알테라의 FPGA칩을 통합한 커스텀 Xeon칩을 생산하고 있는 걸로 보이는데 아무래도 가격 하락의 압박을 받게 되지 싶고 AMD의 경우 Zen 프로세서부터 HyperTransport 대체 인터페이스가 나올 예정인데 IBM과 비슷한 형태로 가지 않을까 예상이.. 링크

소프트웨어

Windows 10에 네이티브로 동작하는 Ubuntu 리눅스의 사용자 모드와 Bash 쉘에 대한 소식.. 아마도 올해 가장 놀라운 뉴스 중 하나가 되지 않을까 생각이.. 서버 개발자 같은 경우는 더이상 맥을 고집할 필요가 없어져서 WWDC에서 애플도 뭔가 대응책을 내놓을 것 같긴 한데 과연.. 패스트링의 Build 14316 버전에 포함되어 배포됨.. 링크 링크

MS가 인수한 안드로이드와 iOS에서 C#과 .NET 구동을 위한 Xarmarin 프로젝트가 비주얼 스튜디오의 플러그인 제공과 함께 SDK를 오픈소스로 공개 할 것이라는 소식.. 링크


보안

Facebook의 WhatsApp 메신저가 End-to-End 암호화 기능을 기본으로 제공하게 되었다는 소식.. 링크

브라우저가 아닌 PHP, Python, Go 언어의 API에서 SSL/TLS 인증과 관련한 연구 결과 취소된 인증(Revoked Certification)에 대한 검사를 전혀 하지 않는 문제가 있어 관련 코드를 직접 작성해야 된다는 소식.. 링크

Node.js의 패키지 관리자인 NPM의 보안 취약점을 이용해 NPM 생태계 내부에 악성코드를 전파시킬 수 있는 문제가 발견 되었다는 소식..

관련된 몇가지 문제는 다음과 같다 npm install 명령어를 실행 해서 패키지를 설치 할 때 라이프사이클 스크립트가 같이 실행 되는데 명령어를 실행한 사용자의 권한에 따라 root로 실행될 수 있다는 점. NPM이 사용하는 SemVer 버전 관리 시스템 상에서는 패키지를 원하는 특정 버전으로 고정하는 것이 매우 힘들다는 점(내부 참조 패키지들 버전이 범위로 지정될 수 있기에..). NPM Author 계정의 자동 로그아웃 기능이 없기 때문에 패키지가 언제든 퍼블리싱 되어 악성코드를 포함한 패키지가 전파될 수 있다는 점. NPM은 리소스에 대한 검증이나 커뮤니티의 리뷰 절차 같은 것이 없다는 점들이 언급 되었다..

임시방편으로 라이프사이클 스크립트를 제한하는 방법은 다음과 같다.
### Install package without running scripts
npm install [pkgname] --ignore-scripts
### Disable scripts execution globally
npm config set ignore-scripts true

링크

2016년 3월 26일 토요일

3월 4주차 소식들..

보안

Java의 버전업과 함께 과거에 패치 되었던 결함이 다시 문제가 되었던 것에 대한 긴급패치가 릴리즈 되었다는 소식.. 특이한점은 이번 패치에서 이 문제를 전혀 새로운 버그로 규정했다는게(?).. 링크

무선키 해킹을 통해 차량 문을 열고 시동을 걸 수있는 24종의 차량에 대한 소식.. 링크


미분류

인텔을 CPU를 만드는 회사로 만든 주역이었던 앤디 그로브의 별세 소식.. 링크


소프트웨어

윈도10 레드스톤 빌드 14295가 PC와 모바일 버전 모두 패스트링에 배포됨.. 링크

2016년 3월 24일 목요일

경험 많은 자바 개발자와 아키텍트가 조심해야할 10가지 함정

원문 : http://zeroturnaround.com/rebellabs/watch-out-for-these-10-common-pitfalls-of-experienced-java-developers-architects/

좀 오래된 글이긴 하지만 아직도 유효한 글인듯 싶어서 정리해 봅니다. 코드 예제는 원문의 링크에..

#10 Dependency Injection(이하 DI)의 잘못된 사용 혹은 잘못된 이해
DI를 이용하여 미리 정의된 객체를 삽입 하는 것 까진 좋지만 다른 객체의 초기화를 위해 의존성이 삽입 된 객체에 트레인 코드(. 연산자를 이용한 기차 처럼 길게 연결된 코드)를 사용하는 것과 같은 형태는 좋지 않다. 그냥 DI만 쓰시오..

#9 Java를 Perl을 사용하듯 쓰는경우
시스템이 커질수록 런타임 보다 컴파일 타임에 문제를 발견할 수 있는 것이 중요하다. 팩토리 형태의 코드의 매게변수로 스트링을 사용하게 되면 잘못된 스펠링의 변수가 전달되면 런타임에 문제가 발생하는 경우가 있다. 자바는 타입 언어이기 때문에 enum과 같은 타입을 이용하여 문제를 방지할 수 있다.

#8 OOP를 이해하지 못해 C를 사용하듯 자바를 쓰는경우
if-else와 instanceof를 통해 객체를 구분하여 캐스팅을 통해 이용하기 보다는 인터페이스나 추상 클래스의 상속과 메소드 오버라이딩을 이용하는 편이 코드가 간결하고 유지보수가 쉬워진다.

#7 객체의 라이프사이클을 이해하지 못해 과도하게 Lazy loading을 사용하는 경우
Lazy loading을 사용하지 전에 체크할 요소.
1. 정말 고비용의 객체인건가?(그것에 대해 어떻게 정의 할 것인가?)
2. 객체가 사용되지 않는 경우가 있어 생성되어 있을 필요가 없는가?

Lazy loading을 사용할 경우 해당 객체의 정확한 로딩 시점을 알아야 하기 때문에 디버깅을 힘들게 할 수 있어 디플로이 시점에 모두 로딩되게 하면 관련 이슈를 사전에 발견할 수 있다. 개인적으론 개발과 배포 시점의 구성을 다르게 가져가는 방법도 고민해 볼만하지 싶은.. 

#6 'Gang Of Four'(GOF) 책을 종교와 같은 수준으로 의존 하는 경우
책의 적절한 사용법은 서문에 나와있으니 참고하시오... 이미 안티패턴이 된 #5의 싱글턴과 같은 패턴도 있음..

#5 안티패턴이 된 싱글턴을 사용하는 경우
최근의 DI 프레임웍에선 더이상 사용할 필요가 없어짐.. (사실 Spring 프레임웍의 경우 빈 생성시 기본 조건이 싱글턴인..)

#4 메소드의 가시성을 무시하는 경우
public 메소드의 경우 가능한 작고 간결해야 하며 재사용 가능한 라이브러리를 작성하는 경우 이러한 점이 더 중요해진다. private 메소드로 지정 되어야 할 메소드가 단위 테스트를 위해 public으로 지정되는 케이스가 종종 있는데 이런 경우는 지양되어야 한다.

#3 NIH(Not Invented Here) 증후군이나 프로젝트에 특화된 StringUtils와 같은 것으로 고통받는 경우
충분히 테스트 된 현존 솔루션들을 활용하라. 예를 들면 Apache Commons, Guava, joda Date와 같은 것들이 있다. 특히나 익숙하지 않은 영역의 작업을 하게 될 경우 이런 점에 대한 사전 조사를 충분히 하자.

#2 환경에 의존적인 빌드
환경에 의존적인지 체크할 수 있는 시나리오..
1. 어느날 회사에 새 개발자인 톰이 왔다.
2. 톰에게 기본적인 설명을 하였고 설명을 들은 그는 자신이 좋아하는 개발 환경으로 세팅 했다
3. 톰은 소스 저장소로부터 소스를 체크아웃 한다.
4. 톰은 어떤 빌드 시스템을 이용하는지 파악 하는데 5분을 소모했다.
5. 톰은 단하나의 커맨드로 어플리케이션 빌드를 실행하고 그것은 성공했다.

조건을 만족하지 못한다면 문서화와 빌드시스템에 대해 다시 생각해볼 필요가 있다.

#1 리플렉션/인트로스펙션을 사용하는 경우
리플렉션은 이슈가 발생할 경우 이해하기 어렵게 하고 디버그가 힘들어지며 고치기 어렵게 만든다. 리플렉션을 사용하는 것은 시한 폭탄을 심는 것과 같다. 리플렉션을 사용하지 않더라도 잘 설계된 객체의 계층적 구조를 이용해 좀더 깔끔하게 해결할 수도 있다.

보너스 : 정말로 병목을 유발하는 요소가 어디인지 아는 경우에만 최적화를 시도하라
추측하지 말고 측정하라!
1. 현재 시스템을 유효한 측정 방법을 이용해서 벤치마크 하라
2. 변경을 가한다.
3. 다시 벤치마크 한다.
4. 가해진 노력과 퍼포먼스 향상 비율에 대해 평가한다


2016년 3월 17일 목요일

Spring 4 WebSocket


스프링 프레임워크 4.2 에서 웹소켓을 이용한 통신에 대한 소개 영상인데 개인적으로 꽤 재미있게 봐서 기억용으로 글을 남긴다. WebSocket은 Node.js 프로젝트 때 게임 세션 서버 만드느라 Redis를 브로커로 해서 이용해보고 Java로는 구현 해본적이 없는데 한번 만들어 봐야 겠다는 생각이 드는..

동영상의 내용은 웹에서 클라이언트와 서버의 통신 방식이 단방향에서 양방향으로 변해온 역사에 대한 간략한 소개를 포함하고 있고 HTML5의 EventSource를 이용하여 HTTP 프로토콜 위에서 동작하는 Server Sent Event에 대한 예제 그리고 양방향 통신과 관련하여 TCP/IP 레벨에서 동작하는 WebSocket, SockJS, Stomp 프로토콜에 대한 예제들을 다루고 있다.

메시지 브로커와 관련한 내용에는 어플리케이션의 메모리 공간을 이용하는 심플 브로커의 구현 코드와 시스템의 스케일 아웃을 위해 RabbitMQ와 같은 전담 브로커를 이용하는 코드 그리고 StompClient와 User Principal을 이용한 클라이언트 간의 메시지 전달에 대한 예제를 소개하고 있으며 메시지 보안과 관련한 간략한 코드 소개로 마무리 되는 영상이다.

2016년 3월 15일 화요일

3월 3주차 소식들..

보안

퀄컴의 스냅드래곤 칩을 사용하는 장비의 커널의 보안 결함으로 인해 루트 권한을 취득하여 멀웨어를 심을 수 있는 문제가 있다는 소식.. 제조사마다 커스텀된 커널을 사용하다 보니 정확히 추정하긴 어렵지만 안드로이드 4.4.4 KitKat 이전부터 영향을 받는 것으로 보인다고.. 최근들어 커널의 보안 결함을 이용한 해킹 사례가 증가하는 추세.. 링크

애플의 DRM 관리 기술의 헛점을 이용하여 탈옥하지 않은 iOS 장비에 대해 멀웨어를 설치할 수 있는 문제가 발견되었다는 소식.. 중국에서 발생한 사례로 정상적인 앱을 스토어에 등록하여 FairPlay 인증 코드를 취득한 뒤 윈도우에 iTunes와 비슷한 소프트웨어를 배포하여 취득한 인증 코드로 멀웨어를 설치하는 형태라고.. 앞으로는 눈에 보이지 않게 멀웨어의 배포만으로 이런 일들이 일어날 가능성이 높다는 소식.. 링크


미분류

구글의 모회사인 알파벳이 보스턴 다이나믹스를 매각할 것이라는 소식.. 매입이 예상되는 회사로 도요타와 아마존이 거론 되는 듯한.. 링크

Dropbox가 비용 문제로 아마존의 클라우드 서비스를 떠나 자체 데이터 센터로 모든 데이터를 옮기기로 했다는 소식.. 넷플릭스의 행보와는 반대로 가는 케이스가.. 링크

GDC 2016 개막.. AMD의 오프닝 이벤트를 통해 알게 된 몇가지 소식을 정리 하자면 듀얼 Fiji 칩을 탑제한 그래픽 카드가 Radeon Pro Duo 라는 이름으로 드디어 출시 됐는데 FirePro 계열 기능도 함께 지원되서 게이머와 크리에이터 모두를 만족시킬 제품의 형태로 출시 된다는 소식.. 그 밖에 토탈 워 : 워해머는 DX12를 지원하고 어쎄신 크리드의 차기작이 VR 버전이 될거라는 소식이 있었던..

이번 GDC는 VR이 단연 화두이고.. 웹에서는 브라우저를 가진 회사가 헤게모니를 쥐는 느낌이었는데 VR은 소프트웨어 기술의 집합체인 게임 엔진이 그 역할을 할 것 으로 보임.. 게임 서버쪽의 트렌드의 경우는 알파고와 같은 형태의 구성이 앞으로의 트렌드가 될 것으로 예상되는..

마지막으로 흥미로웠던 소식은 MS의 크로스플렛폼 멀티플레이 지원 소식인데.. 개발사의 지원에 달리긴 했지만 앞으로의 게임들은 PC와 콘솔의 제약없이 함께 멀티플레이를 즐길 수 있을 것 이라고.. 이말은 현존 플렛폼인 PC, XO, PS4, WiiU 플레이어가 함께 멀티플레이를 즐기는 것이 가능해 진다는 소식.. 링크1 링크2

2016년 3월 10일 목요일

3월 2주차 소식들..

하드웨어

AMD의 외장 그래픽카드 연결 기술인 XConnect 기술 발표.. 썬더볼트 3 인터페이스를 사용하는데 제약 사항으론 썬더볼트 3가 PCIe 3.0 4레인 만을 사용한다는 점과 지원하는 그래픽카드의 최소 사양이 R9 280x 부터라고.. PC도 그렇지만 어떤 형태로든 앞으로의 콘솔 게이밍 시스템에도 영향을 미치지 않을까 싶은.. 링크

미분류

이메일 시스템을 개발한 Ray Tomlinson의 타계소식.. 링크

소프트웨어

MS의 이클립스 재단 참여소식.. Azure 클라우드 지원 강화가 목적인듯한... 링크

모질라 재단의 파이어폭스의 차세대 브라우저 엔진으로 개발중인 Servo 엔진의 꽤 인상적인 벤치마킹 소식.. Rust 언어 기반에 GPU 가속 렌더 백엔드 기능을 포함한 Mac OS X에서 벤치 영상이.. 링크

MS SQL의 리눅스 지원 소식.. R 을 인수하면서 해당 기능역시 MS SQL에 포함 되었고 요즘 MS의 행보를 봐선 리눅스 지원이 놀랍지는 않은.. 링크

보안

Java의 최근 패치로 2013년에 패치됐던 보안 결함이 다시 문제가 되고 있다는 소식.. 영향 받는 버전은 Java SE 7 Update 97, Java SE 8 Update 74, Java SE 9 Early Access Build 108 이라고.. 자바와 관련된 웹 플러그인은 조심하는 편이.. 링크

맥 OS X를 대상으로 한 최초의 랜섬웨어가 등장. 인기있는 BitTorrent 클라이언트인 Transmission의 랜섬웨어를 포함한 위조된 클라이언트가 배포되서 애플에서 해당 버전을 차단 했다는 소식.. Transmission 2.92 버전에선 문제가 해결 됐다고 하며 얼마전 Mint Linux의 위조된 배포판 사건과 같이 인기있는 오픈소스 소프트웨어를 타겟으로 비슷한 사건이 증가하는 느낌이.. 링크