000 | 00000nam c2200205 c 4500 | |
001 | 000046140317 | |
005 | 20230201174729 | |
007 | ta | |
008 | 230131s2023 ulka 001a kor | |
020 | ▼a 9791161757032 ▼g 93000 | |
040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 0 | ▼a 005.8 ▼2 23 |
085 | ▼a 005.8 ▼2 DDCK | |
090 | ▼a 005.8 ▼b 2023z1 | |
100 | 1 | ▼a Matrosov, Alex |
245 | 1 0 | ▼a 루트킷과 부트킷 : ▼b 최신 멀웨어와 차세대 위협 리버싱하기 / ▼d 알렉스 마트로소프, ▼e 유진 로디오노프, ▼e 세르게이 브래튜스 지음 ; ▼e 김한주, ▼e 김성현 옮김 |
246 | 1 9 | ▼a Rootkits and bootkits : ▼b reversing modern malware and next generation threats |
260 | ▼a 서울 : ▼b 에이콘, ▼c 2023 | |
300 | ▼a 614 p. : ▼b 삽화 ; ▼c 24 cm | |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Computer security |
650 | 0 | ▼a Malware (Computer software) |
700 | 1 | ▼a Rodionov, Eugene, ▼e 저 |
700 | 1 | ▼a Bratus, Sergey, ▼e 저 |
700 | 1 | ▼a 김한주, ▼e 역 |
700 | 1 | ▼a 김성현, ▼e 역 |
900 | 1 0 | ▼a 마트로소프, 알렉스, ▼e 저 |
900 | 1 0 | ▼a 로디오노프, 유진, ▼e 저 |
900 | 1 0 | ▼a 브래튜스, 세르게이, ▼e 저 |
945 | ▼a ITMT |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.8 2023z1 | 등록번호 121262002 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
루트킷과 부트킷이 어떻게 컴퓨터의 부팅 과정에 침투해 악의적인 동작을 수행할 수 있는지 구체적으로 설명한다. 1부에서는 루트킷에 대해 살펴보는 것으로 시작한다. 여기서 역사적으로 루트킷의 활동 무대였던 윈도우 커널의 내부도 소개한다. 과거 가장 흥미로웠던 루트킷인 TDL3와 Festi를 소개하고 이들이 어떻게 윈도우 커널을 조작해 동작하는지 설명한다.
2부에서는 윈도우가 커널모드 코드서명, ELAM, 시큐어부트와 가상보안모드로 커널모드 보안을 강화한 후에 나온 부트킷과 OS의 부트 프로세스로 초점을 옮겨본다. 공격자의 관점에서 부트 프로세스의 각 단계들인 MBR, VBR, 파티션 테이블 및 boogmgr을 세밀하게 분석해 보고, 특히 UEFI 펌웨어의 구조와 취약점에 집중해 본다. 마지막으로 3부에서는 BIOS와 펌웨어를 대상으로 하는 고전적인 OS 루트킷 공격과 새로운 부트킷 공격 모두에 대한 포렌식에 초점을 맞춘다.
◈ 이 책에서 다루는 내용 ◈
◆ 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 포렌식: 펌웨어 수집과 분석 접근 방법'에서는 최첨단 위협을 탐지하는 접근법들을 살펴본다.
정보제공 :

저자소개
세르게이 브라투스(지은이)
다트머스대학교 컴퓨터공학과 연구 조교수다. 그 전에는 BBN 테크놀로지 사에서 자연어 처리 연구를 진행했다. 유닉스 보안의 모든 측면에 관심이 있으며, 특히 리눅스 커널 보안, 리눅스 멀웨어 탐지와 리버스 엔지니어링에도 관심이 많다.
알렉스 마트로소프(지은이)
NVIDIA의 수석 공격적 보안(Offensive Security) 연구원이다. 리버스 엔지니어링, 고급 멀웨어 분석, 펌웨어 보안, 취약점 공격에 대한 20년 이상의 경력이 있다. NVIDIA에 합류하기 전에는 인텔 SeCoE(Security Center of Excellence)의 수석 연구원이었고, 인텔 첨단 위협 연구 팀에서 6년 이상 근무했으며 그 전에는 ESET의 선임 보안 연구원이었다. 여러 편의 연구 논문을 저술하고 공동 저술도 했으며, REcon, ZeroNights, 블랙햇(Black Hat), 데프콘(DEFCON) 등의 보안 콘퍼런스에 자주 나오는 강연자다. 오픈소스 플러그인 HexRaysCodeXplorer(2013년부터는 REhint에 있는 팀이 지원한다)로 Hex-Rays에서 상을 받았다.
유진 로디오노프(지은이)
인텔의 보안 연구원으로, 클라이언트 플랫폼용 BIOS 보안 업무를 하고 있다. 그 전에는 ESET에서 내부 연구 프로젝트를 주도하고 복잡한 위협에 대한 심층 분석을 수행했다. 관심 분야는 펌웨어 보안, 커널 모드 프로그래밍, 안티루트킷 기술, 리버스 엔지니어링이다. 블랙햇, REcon, ZeroNights, CARO 같은 여러 보안 콘퍼런스에서 발표를 진행했고 수많은 연구 논문을 공동 저술했다.
김한주(옮긴이)
20년 이상 IT 업계에 개발자로 종사하고 있다. 특히 15년 이상 ㈜안랩에서 보안 프로그램 개발과 악성코드 분석 및 대응 업무를 담당해왔다. 금융권 보안 프로그램, 웹 사이트 보안, 가상화 기반 망 분리 솔루션 등을 개발해왔고 현재는 기반기술 팀에서 커널 및 시스템 개발과 분석 업무를 담당하고 있다. V3 및 ㈜안랩 대부분 제품의 주요 보안 기능의 커널 필터 드라이버 및 관련 기능 개발과 유지 보수를 맡고 있다.
김성현(옮긴이)
㈜안랩에서 20년 이상 V3Pro2002, V3Pro2004, V3 Internet Security 2007, V3 Lite 4.0, V3 Internet Security 9.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장. 부트킷의 진화 __최초의 부트킷 ____부트 섹터 감염자 ____엘크 클로너와 Load Runner ____브레인 바이러스 __부트킷의 진화 ____BSI 시대의 끝 ____커널 모드 코드 서명 정책 ____시큐어 부트의 부상 __최신 부트킷 __결론 5장. 운영체제 부트 프로세스 __윈도우 부트 프로세스의 상위 레벨 개요 __레거시 부트 프로세스 __윈도우 부트 프로세스 ____BIOS와 사전 부트 환경 ____마스터 부트 레코드 ____볼륨 부트 레코드와 초기 프로그램 로더 ____bootmgr 모듈과 부트 설정 데이터 __결론 6장. 부트 프로세스 보안 __조기 실행 안티멀웨어 모듈 ____API 콜백 함수 ____부트킷이 ELAM을 우회하는 방법 __마이크로소프트 커널 모드 코드 서명 정책 ____무결성 검사 대상 커널 모드 드라이버 ____드라이버 서명의 위치 ____기존 코드 무결성의 약점 ____ci.dll 모듈 ____방어를 위한 윈도우 8 변경 사항 __시큐어 부트 기술 __윈도우 10의 가상화 기반 보안 ____2단계 주소 변환 ____가상화 보안 모드와 디바이스 가드 ____드라이버 개발에 대한 디바이스 가드 제약 __결론 7장. 부트킷 감염 기법 __MBR 감염 기법 ____MBR 코드 변조: TDL4 감염 기법 ____MBR 파티션 테이블 수정 __VBR/IPL 감염 기술 ____IPL 변조: Rovnix ____VBR 감염: Gapz __결론 8장. IDA Pro를 이용한 부트킷 정적 분석 __Bootkit MBR 분석 ____MBR 로드와 복호화 ____BIOS 디스크 서비스 분석 ____감염된 MBR의 파티션 테이블 분석 __VBR 분석 기법 ____IPL 분석 ____다른 부트킷 컴포넌트 평가 __고급 IDA Pro 사용법: 사용자 정의 MBR 로더 작성 ____loader.hpp 이해 ____accept_file 구현 ____load_file 구현 ____파티션 테이블 구조체 생성 __결론 __연습문제 9장. 부트킷 동적 분석: 에뮬레이션과 가상화 __Bochs를 이용한 에뮬레이션 ____Bochs 설치 ____Bochs 환경 구축 ____디스크 이미지 감염 ____Bochs 내장 디버거 사용 ____Bochs와 IDA의 연동 __VMware 워크스테이션을 통한 가상화 ____VMware Workstation 설정 ____VMware GDB와 IDA의 조합 __마이크로소프트 하이퍼-V와 오라클 VirtualBox __결론 __연습문제 10장. MBR과 VBR 감염 기법의 발전: Okmasco __드로퍼 ____드로퍼의 리소스 ____향후 개발을 위한 추적 기능 ____안티디버깅 방지와 안티에뮬레이션 기법 __부트킷 기능 ____부트킷 감염 기술 ____감염된 시스템의 부트 프로세스 __루트킷 기능 ____하드 드라이브 디바이스 객체 후킹과 페이로드 인젝션 ____숨겨진 파일 시스템 유지 관리 ____네트워크 우회 통신을 위한 전송 계층 드라이버 인터페이스 구현 __결론 11장. IPL 부트킷: Rovnix와 Carberp __Rovnix의 발전 __부트킷 아키텍처 __시스템 감염 __감염 후 부트 프로세스와 IPL ____다형성 복호화 코드 구현 ____VMware와 IDA Pro로 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 포렌식: 펌웨어 수집과 분석 접근 방법 __포렌식 기술의 제약 __펌웨어 포렌식이 중요한 이유 ____공급망 공격 ____펌웨어 취약점을 통한 BIOS 감염 __펌웨어 수집의 이해 __소프트웨어 방식의 펌웨어 수집 ____PCI 설정 영역 레지스터 찾기 ____SPI 설정 레지스터 주소 계산 ____SPI 레지스터 사용 ____SPI 플래시에서 데이터 읽기 ____소프트웨어 접근 방식의 단점 고려 __펌웨어 수집에 대한 하드웨어 접근 방식 ____레노버 싱크패드 T540p 사례 연구 검토 ____SPI 플래시 메모리칩 찾기 ____FT2232 미니 모듈로 SPI 플래시 읽기 __UEFITool로 펌웨어 이미지 분석 ____SPI 플래시 영역 알아보기 ____UEFITool로 SPI 플래시 영역 살펴보기 ____BIOS 영역 분석 __Chipsec으로 펌웨어 이미지 분석 ____Chipsec 아키텍처 알아보기 ____Chipsec 유틸로 펌웨어 분석 __결론