GPU기반의 루트킷(Rootkit) 악성코드와 키로거(Keylogger)의 POC 발표
한 개발팀이 컴퓨터의 CPU가 아닌 GPU(Graphic Processing Unit)에서 실행가능한 두 개의 POC코드를 발표했습니다. 공개된 두 개의 POC코드는 아래와 같습니다.
Jellyfish Rootkit
Demon Keylogger
지금까지는 비트코인 등의 크립토화폐를 채굴하기 위해 GPU를 악용해 CPU에서 동작하는 멀웨어들이 발견되어 왔습니다. 그러나, 이 두 개의 멀웨어 POC코드는 OS 커널의 프로세스를 악용하거나 변조하지 않고도 동작할 수 있으므로 시스템이 감염되었다는 의심에서 벗어날 수 있었습니다.
JELLYFISH ROOTKIT
Jellyfish는 Jynx(CPU)의 LD_PRELOAD 기술과 Khronos 그룹이 개발한 OpenCL API(GPU)를 활용한 리눅스 기반의 userland GPU 루트킷 POC코드입니다. 이 코드는 멀웨어가 GPU에서 동작할 수 있다는 것을 보여주기 위해 제작되었습니다.
이러한 종류의 루트킷들은 DMA(direct memory access)를 통해 CPU 호스트 메모리를 스누핑할 수 있습니다. 또한 하드웨어 컴포넌트들이 CPU를 통하지 않은 상태에서도 메인 시스템 메모리를 읽을 수 있도록 만들어 탐지가 어렵습니다.
이 코드는 현재 AMD와 NVIDIA의 그래픽 카드들을 지원하고 있으며 AMDAPPSDK 인터페이스를 이용하면 intel의 GPU도 호환할 수 있습니다.
검은색은 함수 모니터링을 의미하며, 회색은 부트스트랩핑 조작을 의미합니다.
※ GPU 저장 메모리의 장점
- 아직까지 인터넷 상에 GPU 분석이 가능한 툴이 존재하지 않습니다.
- DMA(direct memory access)를 통해 CPU 호스트 메모리를 스누핑 가능합니다.
- GPU는 파싱과 XOR과 같이 빠른 수학적 계산을 하는데 이용될 수 있습니다.
- Stubs(주: 프로그램이 아직 완성되지는 않았지만 임시로 돌아가게 만들어둔 상태)
- 장비를 종료한 후에도 악성 메모리가 GPU에 남아있습니다.
※ 요구 사항
- OpenCL 드라이버/icd가 설치되어 있어야 합니다.
- Nvidia나 AMD 그래픽 카드(Intel이 AMD의 SDK 지원)
- Rootkit/kit.c의 103번째 라인을 GPU 클라이언트를 모니터 하고자 하는 서버의 IP로 변경
※ 앞으로 추가 될 기능
클라이언트 리스너: 서버에서 매직 패킷을 보내기 전까지 버퍼들이 GPU에 남아있도록 합니다.
DEMON KEYLOGGER
개발자들은 별개의 프로그램인 GPS 기반의 keylogger 'Demon'을 개발했지만, 이 툴에 대한 기술적 세부사항은 공개하지 않았습니다. Demon 키로거 또한 개념증명용이며 2013년에 발행된 PDF 연구지 'You Can Type, but You Can’t hide: A Stealthy GPU-based Keylogger'(참고 ▶)에서 영감을 받아 만들어졌습니다.
GPU 기반의 키로거는 아래의 2개의 메인 컴포넌트를 가지고 있습니다.
- 부트스트랩 단계에서 키보드 버퍼의 주소를 메인 메모리에 위치시키는 작업과 함께 한 번만 실행되는 CPU 기반의 컴포넌트입니다.
- DMA를 통해 키보드 버퍼를 모니터링하고, 모든 키 스트로크 이벤트를 저장하는 GPU 기반의 컴포넌트입니다.
지금은 사이버 범죄자들이나 공격자들이 GPU 멀웨어를 사용하는 것에 대해 걱정할 필요는 없습니다. 그러나 Jellyfish와 Demon이 멀웨어 개발에 영향을 끼칠 수 있다는 점을 간과해서는 안 될 것입니다.
※ POC: https://github.com/x0r1
참고:
http://thehackernews.com/2015/05/gpu-rootkit-linux-Keylogger.html
[해외보안동향] 스타벅스의 자동 충전 기능을 악용한 공격 발생 (0) | 2015.05.15 |
---|---|
[해외보안동향] VENOM, 가상 플로피 드라이브 코드의 보안 취약점 주의 (0) | 2015.05.15 |
[해외보안동향] 워드프레스 DOM XSS 취약점 발견 (0) | 2015.05.08 |
[해외보안동향] 마스터 부트 레코드를 파괴하는 새로운 멀웨어 ‘롬버틱 Rombertik’ (0) | 2015.05.07 |
[해외보안동향]MySQL의 SSL/TLS 연결을 다운그레이드시키는 취약점 발견 (0) | 2015.05.06 |
댓글 영역