루트킷과 부트킷 : 최신 멀웨어와 차세대 위협 리버싱하기 - 에이콘 해킹과 보안 시리즈
Description
루트킷과 부트킷이 어떻게 컴퓨터의 부팅 과정에 침투해 악의적인 동작을 수행할 수 있는지 구체적으로 설명한다. 1부에서는 루트킷에 대해 살펴보는 것으로 시작한다. 여기서 역사적으로 루트킷의 활동 무대였던 윈도우 커널의 내부도 소개한다. 과거 가장 흥미로웠던 루트킷인 TDL3와 Festi를 소개하고 이들이 어떻게 윈도우 커널을 조작해 동작하는지 설명한다. 2부에서는 윈도우가 커널모드 코드서명, ELAM, 시큐어부트와 가상보안모드로 커널모드 보안을 강화한 후에 나온 부트킷과 OS의 부트 프로세스로 초점을 옮겨본다. 공격자의 관점에서 부트 프로세스의 각 단계들인 MBR, VBR, 파티션 테이블 및 boogmgr을 세밀하게 분석해 보고, 특히 UEFI 펌웨어의 구조와 취약점에 집중해 본다. 마지막으로 3부에서는 BIOS와 펌웨어를 대상으로 하는 고전적인 OS 루트킷 공격과 새로운 부트킷 공격 모두에 대한 포렌식에 초점을 맞춘다.

저자

알렉스마트로소프,유진로디오노프,세르게이브래튜스

저자:알렉스마트로소프
NVIDIA의수석공격적보안(OffensiveSecurity)연구원이다.리버스엔지니어링,고급멀웨어분석,펌웨어보안,취약점공격에대한20년이상의경력이있다.NVIDIA에합류하기전에는인텔SeCoE(SecurityCenterofExcellence)의수석연구원이었고,인텔첨단위협연구팀에서6년이상근무했으며그전에는ESET의선임보안연구원이었다.여러편의연구논문을저술하고공동저술도했으며,REcon,ZeroNights,블랙햇(BlackHat),데프콘(DEFCON)등의보안콘퍼런스에자주나오는강연자다.오픈소스플러그인HexRaysCodeXplorer(2013년부터는REhint에있는팀이지원한다)로Hex-Rays에서상을받았다.

저자:유진로디오노프
인텔의보안연구원으로,클라이언트플랫폼용BIOS보안업무를하고있다.그전에는ESET에서내부연구프로젝트를주도하고복잡한위협에대한심층분석을수행했다.관심분야는펌웨어보안,커널모드프로그래밍,안티루트킷기술,리버스엔지니어링이다.블랙햇,REcon,ZeroNights,CARO같은여러보안콘퍼런스에서발표를진행했고수많은연구논문을공동저술했다.

저자:세르게이브래튜스
다트머스대학교컴퓨터공학과연구조교수다.그전에는BBN테크놀로지사에서자연어처리연구를진행했다.유닉스보안의모든측면에관심이있으며,특히리눅스커널보안,리눅스멀웨어탐지와리버스엔지니어링에도관심이많다.

역자:김한주
20년이상IT업계에개발자로종사하고있다.특히15년이상㈜안랩에서보안프로그램개발과악성코드분석및대응업무를담당해왔다.금융권보안프로그램,웹사이트보안,가상화기반망분리솔루션등을개발해왔고현재는기반기술팀에서커널및시스템개발과분석업무를담당하고있다.V3및㈜안랩대부분제품의주요보안기능의커널필터드라이버및관련기능개발과유지보수를맡고있다.

역자:김성현
㈜안랩에서20년이상V3Pro2002,V3Pro2004,V3InternetSecurity2007,V3Lite4.0,V3InternetSecurity9.0등의제품에탑재되는실시간감시필터드라이버와엔진드라이버를개발했고,기반기술팀과인지기술팀에서V3의보안기능을향상시키는연구개발을총괄했다.

목차

1부.루트킷

1장.루트킷에들어있는것:TDL3사례연구
__TDL3전파의역사
__감염루틴
__데이터흐름제어
____자체링커도입
____TDL3의커널모드후킹이동작하는방식
__숨겨진파일시스템
__결론:TDL3천적을만나다

2장.Festi루트킷:가장진보된스팸과DDoS봇
__Festi봇넷사례
__루트킷드라이버상세분석
____C&C통신에대한Festi설정정보
____Festi의객체지향프레임워크
____플러그인관리
____내장플러그인
____가상머신방어기법
____안티디버깅기법
____디스크에서악성드라이버를숨기는방법
____Festi레지스트리키를보호하는방법
__Festi네트워크통신프로토콜
____초기화단계
____작업단계
__보안및포렌식소프트웨어우회
__C&C중단에대비한도메인생성알고리듬
__악성기능
____스팸모듈
____DDoS엔진
____Festi프록시플러그인
__결론

3장.루트킷감염관찰
__가로채기기법
____시스템이벤트가로채기
____시스템콜가로채기
____파일동작가로채기
____객체디스패처가로채기
__시스템커널복원
__위대한루트킷들의기술경쟁:추억의노트
__결론

2부.부트킷

4장.부트킷의진화
__최초의부트킷
____부트섹터감염자
____엘크클로너와LoadRunner
____브레인바이러스
__부트킷의진화
____BSI시대의끝
____커널모드코드서명정책
____시큐어부트의부상
__최신부트킷
__결론

5장.운영체제부트프로세스
__윈도우부트프로세스의상위레벨개요
__레거시부트프로세스
__윈도우부트프로세스
____BIOS와사전부트환경
____마스터부트레코드
____볼륨부트레코드와초기프로그램로더
____bootmgr모듈과부트설정데이터
__결론

6장.부트프로세스보안
__조기실행안티멀웨어모듈
____API콜백함수
____부트킷이ELAM을우회하는방법
__마이크로소프트커널모드코드서명정책
____무결성검사대상커널모드드라이버
____드라이버서명의위치
____기존코드무결성의약점
____ci.dll모듈
____방어를위한윈도우8변경사항
__시큐어부트기술
__윈도우10의가상화기반보안
____2단계주소변환
____가상화보안모드와디바이스가드
____드라이버개발에대한디바이스가드제약
__결론

7장.부트킷감염기법
__MBR감염기법
____MBR코드변조:TDL4감염기법
____MBR파티션테이블수정
__VBR/IPL감염기술
____IPL변조:Rovnix
____VBR감염:Gapz
__결론

8장.IDAPro를이용한부트킷정적분석
__BootkitMBR분석
____MBR로드와복호화
____BIOS디스크서비스분석
____감염된MBR의파티션테이블분석
__VBR분석기법
____IPL분석
____다른부트킷컴포넌트평가
__고급IDAPro사용법:사용자정의MBR로더작성
____loader.hpp이해
____accept_file구현
____load_file구현
____파티션테이블구조체생성
__결론
__연습문제

9장.부트킷동적분석:에뮬레이션과가상화
__Bochs를이용한에뮬레이션
____Bochs설치
____Bochs환경구축
____디스크이미지감염
____Bochs내장디버거사용
____Bochs와IDA의연동
__VMware워크스테이션을통한가상화
____VMwareWorkstation설정
____VMwareGDB와IDA의조합
__마이크로소프트하이퍼-V와오라클VirtualBox
__결론
__연습문제

10장.MBR과VBR감염기법의발전:Okmasco
__드로퍼
____드로퍼의리소스
____향후개발을위한추적기능
____안티디버깅방지와안티에뮬레이션기법
__부트킷기능
____부트킷감염기술
____감염된시스템의부트프로세스
__루트킷기능
____하드드라이브디바이스객체후킹과페이로드인젝션
____숨겨진파일시스템유지관리
____네트워크우회통신을위한전송계층드라이버인터페이스구현
__결론

11장.IPL부트킷:Rovnix와Carberp
__Rovnix의발전
__부트킷아키텍처
__시스템감염
__감염후부트프로세스와IPL
____다형성복호화코드구현
____VMware와IDAPro로Rovnix부트로더복호화
____윈도우부트로더패치를통한제어권획득
____악성커널모드드라이버로드
__커널모드드라이버의기능
____페이로드모듈인젝션
____은폐형자기방어메커니즘
숨겨진파일시스템
____파티션을가상FAT시스템으로포맷
____숨겨진파일시스템암호화
____숨겨진파일시스템접근
__숨겨진통신채널
__사례연구:Carberp와의관계
____Carberp의개발
____Dropper의개선
____유출된소스코드
__결론

12장.Gapz:진보된VBR감염
__Gapz드로퍼
____드로퍼알고리듬
____드로퍼분석
____HIPS우회
__Gapz부트킷으로시스템감염
____BIOS파라미터블록검토
____VBR감염
____악성커널모드드라이버로드
__Gapz루트킷기능
__숨겨진스토리지
____멀웨어방지소프트웨어에대한자기방어
____페이로드인젝션
____페이로드통신인터페이스
____자체네트워크프로토콜스택
__결론

13장.MBR랜섬웨어의부상
__랜섬웨어의간략한역사
__부트킷기능이있는랜섬웨어
__랜섬웨어동작방식
__Petya랜섬웨어분석
____관리자권한획득
____하드드라이브감염(1단계)
____악성부트로더설정데이터암호화
____시스템크래시
____MFT암호화(2단계)
____마무리:Petya에대한최종고찰
__Satana랜섬웨어분석
____Satana드로퍼
____MBR감염
____드로퍼디버그정보
____Satana악성MBR
____마무리:Satana에대한최종생각
__결론

14장.UEFI부팅과MBR/VBR부트프로세스
__통합된확장가능펌웨어인터페이스
__레거시BIOS와UEFI부트프로세스의차이점
____부트프로세스흐름
____디스크파티셔닝:MBR과GPT
____기타차이점
__GUID파티션테이블규격
__UEFI펌웨어동작방식
____UEFI규격
____운영체제로더내부
____윈도우부트로더
____UEFI펌웨어의보안이점
__결론

15장.최신UEFI부트킷
__BIOS위협의역사
____WinCIH,BIOS를공격하는최초의멀웨어
____Mebromi
____기타위협과대응
__모든하드웨어에있는펌웨어
____UEFI펌웨어취약점
____메모리보호비트의효과
____보호비트확인
__BIOS를감염시키는방법
____서명되지않은UEFI옵션ROM수정
____DXE드라이버추가나수정
__루트킷인젝션의이해
__실제UEFI루트킷
____해킹팀의Vector-EDK루트킷
__결론

16장.UEFI펌웨어취약점
__펌웨어를취약하게만드는것
__UEFI펌웨어취약점분류
____취약점공격이후
____감염된공급망취약점
____공급망취약점완화
__UEFI펌웨어보호의역사
____BIOS보호동작방식
____SPI플래시보호및취약성
____인증되지않은BIOS업데이트의위험
____시큐어부트를통한BIOS보호
__인텔부트가드
____인텔부트가드기술
____부트가드의취약점
__SMM모듈의취약점
____SMM이해
____SMI핸들러취약점공격
__S3부트스크립트의취약점
____S3부트스크립트이해
____S3부트스크립트취약점공략
____S3부트스크립트취약점공격
____S3부트스크립트취약점수정
__인텔관리엔진의취약점
____ME취약점의역사
____ME코드공격
____사례연구:인텔AMT과BMC에대한공격
__결론

3부.방어와포렌식기법

17장.UEFI시큐어부트동작방식
__시큐어부트란?
__UEFI시큐어부트의세부구현
____부팅절차
____디지털서명을통한실행파일인증
____db데이터베이스
____dbx데이터베이스
____시간기반인증
____시큐어부트키
____UEFI시큐어부트:전체그림
____시큐어부트정책
____시큐어부트를이용한부트킷방어
__시큐어부트공격
____시큐어부트비활성화를위한PI펌웨어패치
____보안검사를우회하기위한UEFI변수수정
__검증부트와계측부트를통한시큐어부트보호
____검증부트
____계측부트
__인텔부트가드
____ACM찾기
____FIT분석
____인텔부트가드설정
__ARM신뢰부트보드
____ARM신뢰영역
____ARM부트로더
____신뢰부트흐름
__검증부트와펌웨어루트킷
__결론

18장.숨겨진파일시스템분석접근방식
__숨겨진파일시스템개요
__숨겨진파일시스템의부트킷데이터추출
____전원이꺼진시스템의데이터가져오기
____동작중인시스템에서데이터읽기
____미니포트스토리지드라이버후킹
__숨겨진파일시스템이미지파싱
__HiddenFsReader도구
__결론

19장.BIOS/UEFI포렌식:펌웨어수집과분석접근방법
__포렌식기술의제약
__펌웨어포렌식이중요한이유
____공급망공격
____