HOME > 상세정보

상세정보

루트킷과 부트킷 : 최신 멀웨어와 차세대 위협 리버싱하기

자료유형
단행본
개인저자
Matrosov, Alex Rodionov, Eugene, 저 Bratus, Sergey, 저 김한주, 역 김성현, 역
서명 / 저자사항
루트킷과 부트킷 : 최신 멀웨어와 차세대 위협 리버싱하기 / 알렉스 마트로소프, 유진 로디오노프, 세르게이 브래튜스 지음 ; 김한주, 김성현 옮김
발행사항
서울 :   에이콘,   2023  
형태사항
614 p. : 삽화 ; 24 cm
원표제
Rootkits and bootkits : reversing modern malware and next generation threats
ISBN
9791161757032
일반주기
색인수록  
일반주제명
Computer security Malware (Computer software)
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 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

루트킷과 부트킷이 어떻게 컴퓨터의 부팅 과정에 침투해 악의적인 동작을 수행할 수 있는지 구체적으로 설명한다. 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 포렌식: 펌웨어 수집과 분석 접근 방법'에서는 최첨단 위협을 탐지하는 접근법들을 살펴본다.


정보제공 : Aladin

저자소개

세르게이 브라투스(지은이)

다트머스대학교 컴퓨터공학과 연구 조교수다. 그 전에는 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의 보안 기능을 향상시키는 연구 개발을 총괄했다.

정보제공 : Aladin

목차

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 유틸로 펌웨어 분석
__결론

관련분야 신착자료

이관용 (2023)