More Related Content Similar to [2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO (20) More from GangSeok Lee (20) [2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO1. 안드로이드 부트킷 악성코드 분석
한글판
김호빈
HobinKim125@gmail.com
www.CodeEngn.com
2014 CodeEngn Conference 11
2. 부트킷이란?
• 부트킷 = 루트킷 + 부팅 기능
• 디스크 부트 섹터를 통해 부팅 프로세스 시 시
스템이 시작되면서 호스트를 감염
• 예) 윈도우즈 MBR 루트킷
3. 안드로이드 부트 파티션
• 안드로이드 부트 파티션은 램디스크 파일
시스템을 사용함
• 리눅스 커널(zImage)와 루트 파일시스템
램디스크(initrd; initial ramdisk)로 구성됨
4. 안드로이드 부팅 과정
부트로더 커널(Linux) init(init.rc)
• init 프로세스는 안드로이드의 가장 첫번째 프로세스
5. 안드로이드 부트킷의 은폐 기능
• 수정된 안드로이드의 부트 파티션과 부팅
스크립트를 통해 시스템 부팅 초기단계에
서 자기자신을 숨기고 보호함
• 루트 권한의 시스템 서비스를 시작하고 악
성 애플리케이션을 시스템 애플리케이션
으로 드롭함
6. 안드로이드 부트킷의 특징
• 커널에서 제공하는 보안 제약사항을 우회
할 수 있음
• 백신에서 탐지와 치료가 어려움
7. 올드부트; 최초의 안드로이드 부트킷
• 올드부트
• 중국 보안회사 Qihoo360에 의해서 발견됨
• 공식적으로 발견된 최초의 안드로이드 부트킷
• 중국에서 50만명 이상에 안드로이드 장치가
감염됨
• 안드로이드 부트 파티션이 쉽게 감염될 수 있
음을 증명함
8. 감염 방식
• 공격자는 물리적으로 안드로이드 장치에
접근하여 악성 부트 이미지를 부트 파티션
에 플래싱함
9. 감염 방식 (계속)
• 보안회사 Qihoo360은 감염된 안드로이드가 중
국 베이지의 대형 전자 제품 마켓에서 판매되고
있는 것을 발견함
• 복구 파티션이 커스텀 복구 롬으로 바뀌어 있었
으며 부트파티션의 모든 파일의 타임스탬프가
모두 동일 하였음
10. 감염 방식 (계속)
• 보안 회사 Qihoo의 클라우드 시스템에 의하면
거의 대부분의 감염된 안드로이드 장비가 겔럭
시 노트2와 같은 잘 알려진 장치들만 감염되었
음을 확인할 수 있었음
11. 올드부트 부트킷의 구성 요소
• Oldboot.a
• init.rc (변조됨)
• imei_chk (/sbin에 위치함)
• libgooglekernel.so (/system/lib에 위치함)
• GoogleKernel.apk (/system/app에 위치함)
31. Oldboot.a의 동작 방식
init process init.rc
system server
imei_chk
GoogleKernel.apk libgooglekernel.so
JNI
socket
32. 안드로이드 부트킷의 시사점
• 기존과는 완전히 다른 새로운 방식의 안드
로이드 악성코드
• 더 이상 APK 파일만이 악성코드가 아니다
33. 참고 자료
• Oldboot: the first bootkit on Android, Zihang Xiao, Qing Dong, Hao
Zhang & Xuxian Jiang, Qihoo 360
• Advanced Bootkit Techniques on Android, Zhangqi Chen & Di Shen
@SyScan360
• Android Hacker’s handbook, Drake, Oliva Fora, Lanier Mulliner, Ridley,
Wicherski, Wiley
• 인사이드 안드로이드, 송형주, 김태연, 박지훈, 이백, 임기영, 위키북스
• 안드로이드의 모든 것 분석과 포팅, 고현철, 유형목, 한빛미디어
• http://contagiominidump.blogspot.kr/