◈ 이 책에서 다루는 내용 ◈
◆ 32비트와 64비트, UEFI 모드에서의 윈도우 부팅 방법과 취약점을 찾을 수 있는 지점
◆ 시큐어 부트 같은 부트 프로세스 보안 메커니즘의 세부 정보와 가상화 보안 모드(VSM) 및 디바이스 가드의 개요
◆ Rovnix/Carberp, Gapz, TDL4 같은 부트킷과 TDL3, Festi 같은 악명 높은 루트킷을 포함해 실제 악성코드를 분석하기 위한 리버스 엔지니어링 및 포렌식 기술
◆ Bochs 및 IDA Pro 같은 에뮬레이션, 도구로 정적 및 동적 분석을 수행하는 방법
◆ BIOS 및 UEFI 펌웨어를 공격하는 위협 전파 단계를 이해해 탐지 기법 만들기
◆ VMware 워크스테이션 같은 가상화 도구를 사용해 부트킷을 리버스 엔지니어링하고 인텔 Chipsec 도구로 포렌식 분석하는 방법
◈ 이 책의 대상 독자 ◈
고도화된 지속적 멀웨어 위협이 OS 레벨 보안을 우회하는 방법을 궁금해하는 다양한 분야의 정보보호 연구원들을 위한 책이다. 다만 PC 멀웨어 분석가뿐만 아니라 더 넓은 독자까지 대상으로 목표를 잡았다. 임베디드 시스템 개발자와 클라우드 보안 전문가도 이 책이 유용하다는 것을 알게 되기를 바란다.
◈ 이 책의 구성 ◈
1부, ‘루트킷’에서는 전성기 때의 고전적인 OS 레벨 루트킷을 살펴본다.
1장, ‘루트킷에 들어있는 것: TDL3 사례 연구’에서는 과거 흥미로웠던 루트킷 중 하나를 이야기하면서 루트킷이 어떻게 동작하는지 살펴본다.
2장, ‘Festi 루트킷: 가장 진보된 스팸과 DDoS 봇’에서는 스팸 전송 및 DDoS 공격을 하고자 한때 가장 고도화된 은폐 기법을 사용했던 Festi 루트킷을 분석한다.
3장, ‘루트킷 감염 관찰’에서는 여정을 운영체제 커널의 깊은 곳으로 이끌어줄 것이다.
2부, ‘부트킷’에서는 부트킷의 진화와 진화를 촉발시킨 조건과 이런 위협을 리버스 엔지니어링하는 기술로 초점을 옮겨본다.
4장, ‘부트킷의 진화’에서는 부트킷의 출현과 발전을 이끈 진화 세력을 좀 더 깊이 알아본다.
5장, ‘운영체제 부트 프로세스’에서는 윈도우 부트 프로세스의 내부 동작과 이것이 그동안 어떻게 변해 왔는지를 다룬다.
6장, ‘부트 프로세스 보안’에서는 조기 실행 안티멀웨어(ELAM, Early Launch Anti-Malware) 모듈, 커널 모드 코드 서명 정책과 이것의 취약점, 새로운 가상화 기반 보안 같은 윈도우 부팅 프로세스 방어 기술을 알아본다.
7장, ‘부트킷 감염 기법’에서는 부트 섹터를 감염시키는 방법을 세밀하게 조사하고 이런 방법들이 시간이 지남에 따라 어떻게 진화해왔는지 살펴본다.
8장, ‘IDA Pro를 이용한 부트킷 정적 분석’에서는 부트킷 감염에 대한 정적 분석을 하기 위한 방법과 도구를 다룬다.
9장, ‘부트킷 동적 분석: 에뮬레이션과 가상화’에서는 Bochs 에뮬레이터와 VMWare의 내장 GDB 디버거를 이용한 동적 분석 방법에 초점을 맞춘다.
10장, ‘MBR과 VBR 감염 기법의 발전: Olmasco’에서는 부트킷을 부트 프로세스의 더 낮은 레벨까지 내려가게 해줬던 은폐 기법의 진화를 추적해본다.
11장, ‘IPL 부트킷: Rovnix와 Carberp’에서는 온라인 뱅킹을 공격했던 가장 복잡한 두 개의 루트킷인 Rovnix와 Carberp의 내부를 살펴본다.
12장, ‘Gapz: 진보된 VBR 감염’에서는 부트킷 은폐 기법 진화의 정점에 올랐던 Gapz 루트킷를 알아본다.
13장, ‘MBR 랜섬웨어의 부상’에서는 부트킷이 어떻게 랜섬웨어 위협으로 되돌아왔는지 살펴본다.
14장, ‘UEFI 부팅과 MBR/VBR 부트 프로세스’에서는 최신 멀웨어의 진화를 밝혀내는 데 필수 정보인 UEFI BIOS 설계에서의 부트 프로세스를 알아본다.
15장, ‘최신 UEFI 부트킷’에서는 다양한 BIOS 임플란트에 대해 우리가 진행하던 연구를 다룬다. 개념 증명했던 것들과 실제로 세상에 퍼졌던 것들을 모두 설명한다.
16장, ‘UEFI 펌웨어 취약점’에서는 BIOS 임플란트의 도입을 가능하게 했던 다양한 종류의 최신 BIOS 취약점을 심도 있게 살펴본다.
3부, ‘방어와 포렌식 기법’에서는 부트킷, 루트킷과 기타 BIOS 위협의 포렌식을 다룬다.
17장, ‘UEFI 시큐어 부트 동작 방식’에서는 시큐어 부트 기술의 작동 방법과 발전, 취약점 및 효과를 깊이 있게 살펴본다.
18장, ‘숨겨진 파일 시스템 분석 접근 방식’에서는 멀웨어가 사용하는 숨겨진 파일 시스템을 간략히 살펴보고 탐지하는 방법을 설명한다.
19장, ‘BIOS/UEFI 포렌식: 펌웨어 수집과 분석 접근 방법’에서는 최첨단 위협을 탐지하는 접근법들을 살펴본다.
◈ 옮긴이의 말 ◈
악성코드에 대응하는 보안 프로그램 개발은 끊임없는 창과 방패의 싸움인 듯하다. 멋모르고 처음 보안업계에 들어왔을 때는 모든 것이 신기하고 대단하게 보이기만 했다. 수년간 일련의 일을 겪고 보니 갖춰야 할 지식들의 범위가 정말 넓고 깊은 것에 한계를 느끼기도 했다. 특히 루트킷과 부트킷을 탑재한 악성코드의 경우 누가 더 먼저 시스템을 장악하는가의 싸움이기 때문에 운영체제 내부의 더 세밀한 부분을 다루게 된다. 이런 과정들은 책에서만 배울 수 없는 부분이 많으며 심지어 문서화되지 않은 부분이 대부분이다. 그러므로 수많은 시행착오와 디버깅 및 리버싱 분석을 끊임없이 해야 했다. 그러다 보니 뭔가 체계적으로 축적된 기술을 습득할 기회도 많지 않을뿐더러 개인의 감에 의존해야 하는 것들이 항상 아쉬움으로 남았었다.
이번에 이 책을 번역하면서 그동안의 부족함을 많이 채워가게 됐다. 이 책에서는 과거 MBR 부트킷부터 최근 랜섬웨어에 이르기까지 실제로 존재해왔고 유행했던 사례를 위주로 자세히 다루고 있다. 또한 이런 위협들이 동작하는 원리를 심도 깊게 다루고 있고, 시스템이나 운영체제 그리고 애플리케이션이 동작하는 원리도 다루고 있다. 따라서 보안 분야에 관심 있는 주니어 개발자/분석가와 좀 더 깊이 있는 이해를 필요로 하는 현업의 시니어 개발자/분석가에게 모두 도움이 되는 내용을 담고 있다. 관련 분야 종사자뿐 아니라 보안 분야에 관심있는 모두에게 필독서로 이 책을 추천하고 싶다.