포스팅 내용

국내외 보안동향

[해외보안동향] GPU기반의 루트킷(Rootkit) 악성코드와 키로거(Keylogger)의 POC 발표

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

https://0xicf.wordpress.com/2015/05/09/new-gpu-based-linux-rootkit-and-keylogger-proof-of-concept-gpu-rootkit-hides-in-vram-snoops-system-activities/



티스토리 방명록 작성
name password homepage