IT
HOME > 도서 > IT

메모리포렌식

  • 부제 : 윈도우 리눅스 맥 메모리에서 악성 코드 검출과 분석
  • 저자 : 마이클헤일리 외 3인
  • 발행일 : 2015-08-01
  • 페이지 : 1072쪽
  • ISBN : 978-89-8379-863-3
  • 판형 : 188mm×257mm
  • 정가 : 38,000원
  • 책 소개
  • 저자소개
  • 미리보기
  • 목차
  • 다운로드

정보 보안 전문가에게 최고의 지침서

 

The Art of Memory Forensics

메모리 포렌식은 디지털 범죄를 해결하기 위해 RAM을 분석하는

기술이다.

메모리 포렌식은 논쟁할 여지 없이 디지털 포렌식 중 가장 유익하고 흥미로운 영역 중 하나이다. 여러분들은 이 책을 통해 컴퓨터 메모리 수집과 콘텐츠를 프로파일하는 방법을 학습함으로써 사고 대응, 악성 코드 분석, 디지털 포렌식 능력을 높일 수 있을 것이다.

이 책은 디지털 포렌식, 악성 코드 분석, 네트워크 보안, 지능적 위협 수집, 사고 대응과 같은 기술 컴퓨팅 분야의 실무자들을 대상으로 할 뿐 아니라 법 집행관 및 디지털 범죄 현장을 조사하는 정부 요원들에게도 적합할 것이다. 또한, 비슷한 주제를 공부하는데 관심이 있는 학생들에게도 좋은 참고서가 될 것이다. 여러분들이 이미 위에서 언급한 분야에서 작업을 수행하고 있거나 할 예정이라면 이 책은 여러분에게 참고서가 될 것이다.

이 책은 크게 4파트로 구성되어 있으며 첫 번째 파트에서는 현대 컴퓨터의 하드웨어와 소프트웨어 대한 기본적인 사항들과 볼라틸리티 프레임워크를 통해 메모리 수집과 시작을 위해 필요한 툴과 방법들을 소개한다. 윈도우, 리눅스, 맥 운영체제에 대한 나머지 세 개의 파트에서는 각 운영체제에서 포렌식과 관련된 상세한 내용들을 다루고 있다.

각각의 OS를 다루는 파트의 장들은 네트워킹 루트킷과 같은 흔적들의 유형과 프로세스 메모리, 커널 메모리와 같이 흔적들이 발견되는 곳에 따라 각각 구성되었다.

 

 

내가 몇 년동안 읽어 본 최고의 가장 완벽한 기술 서적이다잭 크룩(Jack Crook), Incident Handler

 

메모리 포렌식에서 권위 있는 지침서브루스 댕 (Bruce Dang), 마이크로소프트

이 분야의 개척자들에게 메모리 포렌식에 대한 심도 있는 지침서브라이언 캐리어 (Brian Carrier), 베이시스 테크널러지 

마이클 해일 리(Michael Hale Ligh)

Malware Analyst’s Cookbook의 저자이자 볼라틸리티 재단의 총무겸 재무를 담당하고 있다. 개발자와 리버스 엔지니어로써 그는 악성 코드 암호화, 메모리 포렌식, 자동화된 분석에 전문가이다. 또한 세계 각국에서 악성 코드와 메모리 포렌식 을 학생들에게 가르쳤다.

 

앤드류 케이스(Andrew Case)

볼라틸리티 프로젝트에서 메모리, 디스크, 네트워크 포렌식 관련 프로젝트를 담당하고 있는 디지털 포렌식 연구원이다. 그는 Registry Decoder (National Institute of Justice에서 자금을 제공한 포렌식 애플리케이션)의 공동 개발자이며 2013년에 올해의 디지털 포렌식 조사관으로 선정되었다.

 

제이미 레비(Jamie Levy)

볼라틸리티 프로젝트의 선임 연구원이자 개발자이다. 제이미는 퀸즈 대학과 존 제이 대학에서 컴퓨터 포렌식 수업을 강의하고 있다. 그녀는 오픈 소스 컴퓨터 포렌식 커뮤니티에 열성 기여자이며, 컨퍼런스의 간행물 저자이기도 하고 많은 컨퍼런스에서 메모리, 네트워크 및 악성 코드 포렌식 분석에 대해 발표하였다.

 

아론 월터스(Aaron Walters)

볼라틸리티 프로젝트의 설립자이자 수석 개발자이며, 볼라틸리티 재단의 회장이고, 오픈 메모리 포렌식 워크샵의 의장이다. 애론의 연구는 디지털 수사관이 RAM을 분석하는 방법에 있어 획기적인 도움을 주는 툴들의 개발에 기여하였다. 그는 IEEEDigital Investigation 저널에 검증된 논물을 발표했고, Black Hat, 미 국방부 사이버 범죄 컨퍼런스와 포렌식 과학의 미국 아카데미 등에서 발표를 하였다.

 

옮긴이 약력

권영환

충남대학교 정보통신공학과 졸업 후 국내 굴지의 전자회사에서 연구원으로 재직중 KAIST 정보통신공학과에서 석, 박사를마쳤으며 현재는 기존과 다른 전자업체에서 홈기반 무선 연결 기술 표준 업무를 담당하고 있다.

 

한영태

KAIST에서 통신망을 전공하고 박사 후 연구원을 거치는 동안 네트워크 모니터링 트래픽 분석, 네트워크 성능 최적화, 네트워크 보안기술에 대한 연구를 수행하였다. 현재는 통신사에서 소프트웨어 정의 네트워킹(SDN), 네트워크 기능 가상화 기술(NFV)을 연구하고 있다. 

  


 

Part . 메모리 포렌식 소개

 

Chapter 01. 시스템 개요

1.1. 디지털 환경

1.2. PC 구조

1.3. 운영체제

1.4. 프로세스 관리

1.5. 메모리 관리

1.6. 파일 시스템

1.7. I/O 서브시스템

1.8. 요약

Chapter 02. 자료 구조

2.1. 기본 데이터 유형

2.2. 요약

Chapter 03. 볼라틸리티 프레임워크(Volatility Framework)

3.1. 왜 볼라틸리티인가?

3.2. 무엇이 볼라틸리티에서 지원되지 않는가?

3.3. 설치

3.4. 프레임워크

3.5. 볼라틸리티 사용하기

3.6. 요약

Chapter 04. 메모리 수집(Memory Acquisition)

4.1. 디지털 환경 보호하기

4.2. 소프트웨어 툴

4.3. 메모리 덤프 형식

4.4. 메모리 점프 변환하기

4.5. 디스크의 휘발성 메모리

4.6. 요약

 

Part . 윈도우 메모리 포렌식

 

Chapter 05. 윈도우 객체와 풀(pool) 할당

5.1. 윈도우 실행부 객체(Window Executive Object)

5.2. 풀 태그 탐색

5.3. 풀 탐색의 제약

5.4. 빅 페이지 풀

5.5. 풀 탐색 대안

5.6. 요약

Chapter 06. 프로세스, 핸들, 토큰

6.1. 프로세스

6.2. 프로세스 토큰

6.3. 권한

6.4. 프로세스 핸들

6.5. 메모리 핸들 열거하기

6.6. 요약

Chapter 07. 프로세스 메모리 내부

7.1. 프로세스 메모리에 무엇이 있는가?

7.2. 프로세스 메모리 열거하기

7.3. 요약

Chapter 08. 이벤트 로그

8.1. 프로세스 환경 블록그

8.2. 메모리 내 PE 파일

8.3. 패킹과 압축

8.4. 코드 삽입

8.5. 요약

Chapter 09. 이벤트 로그

9.1. 메모리내 이벤트 로그

9.2. 실제 사례

9.3. 요약

Chapter 10. 메모리 내 레지스트리

10.1. 윈도우 레지스트리 분석

10.2. 볼라틸리티 레지스트리 API

10.3. Userassist 키 해석하기

10.4. Shimcache를 통한 악성 코드 검출하기

10.5. Shellbags을 통한 활동의 재구성

10.6. 패스워드 해쉬 덤프하기

10.7. LSA 비밀번호 획득하기

10.8. 요약

Chapter 11. 네트워킹

11.1. 네트워크 흔적(Artifacts)

11.2. 은닉된 연결

11.3. 원시 소켓 및 스니퍼

11.4. 차세대 TCP/IP 스택

11.5. 인터넷 히스토리

11.6. DNS 캐쉬 복구하기

11.7. 요약

Chapter 12. 윈도우 서비스

12.1. 서비스 아키텍처

12.2. 서비스 설치하기

12.3. 트릭과 은닉(Stealth)

12.4. 서비스 활동 조사하기

12.5. 요약

Chapter 13. 커널 포렌식과 루트킷

13.1. 커널 모듈

13.2. 메모리 덤프 내 모듈

13.3. 커널 모드 스레드

13.4. 드라이버 객체와 IRP

13.5. 디바이스 트리

13.6. SSDT 감사하기

13.7. 커널 콜백

13.8. 커널 타이머

13.9. 종합

13.10. 요약

Chapter 14. 윈도우 GUI 서브시스템

14.1. GUI

14.2. GUI 메모리 포렌식

14.3. 세션 공간

14.4. 윈도우 스테이션

14.5. 데스크톱

14.6. 아톰(Atom)과 아톰 테이블(Atom Table)

14.7. 윈도우

14.8. 요약

Chapter 15. 윈도우 GUI 서브시스템

15.1. 윈도우 메시지 가로채기

15.2. 사용자 핸들

15.3. 이벤트 가로채기

15.4. 윈도우 클립보드

15.5. ACCDFISA 랜썸웨어(Ransomware) 사례

15.6. 요약

Chapter 16. 메모리 디스크 흔적

16.1. 마스터 파일 테이블(MFT)

16.2. 파일 추출하기

16.3. TrueCrypt 디스크 암호 무력화

16.4. 요약

Chapter 17. 이벤트 재구성

17.1. 문자열

17.2. 명령 히스토리

17.3. 요약

Chapter 18. 타임라인

18.1. 메모리에서 시간 찾기

18.2. 타임라인 생성

18.3. 엔터프라이즈 내 Gh0st

18.3. 요약

Part . 리눅스 메모리 포렌식

Chapter 리눅스 메모리 수집

19.1. 과거의 수집 방법

19.2. 현재의 수집 방법

19.3. 볼라틸리티 리눅스 프로파일들

19.4. 요약

Chapter 20. 리눅스 운영체제

20.1. 과거의 수집 방법

20.2. 리눅스 데이터 구조

20.3. 리눅스 주소 변환

20.4. procfs sysfs

20.5. 압축 스왑(Compressed Swap)

20.6. 요약

Chapter 21. 프로세스와 프로세스 메모

21.1. 메모리에서의 프로세스들

21.2. 프로세스들을 나열하기

21.3. 프로세스 주소 공간

21.4. 프로세스 환경 변수

21.5. 오픈 파일 핸들

21.6. 저장된 콘텍스트 상태

21.7. 배쉬(Bash) 메모리 분석

21.8. 요약

Chapter 22. 네트워킹 흔적

22.1. 네트워크 소켓 파일 기술자

22.2. 네트워크 연결

22.3. 큐에 있는 네트워크 패킷들

22.4. 네트워크 인터페이스

22.5. 경로(Route) 캐쉬

22.6. ARP 캐쉬

22.7. 요약

Chapter 23. 커널 메모리 흔적

23.1. 물리 메모리 맵

23.2. 가상 메모리 맵

23.3. 커널 디버그 버퍼

23.4. 로드된 커널 모듈들

23.5. 요약

Chapter 24. 메모리에서의 파일시스템

24.1. 마운트된 파일 시스템

24.2. 파일 및 디렉토리 나열하기

24.3. 파일 메타데이터 추출

24.4. 파일 내용을 복구하기

24.5. 요약

Chapter 25. 사용자 영역 루트킷 (Userland Rootkits)

25.1. 셀 코드 주입

25.2. 프로세스 공동화(Process Hollowing)

25.3. 공유 라이브러리 삽입

25.4. LD_PRELOAD 루트킷

25.5. GOT/POT 덮어쓰기

25.6. 인라인 가로채기 (Inline Hooking)

25.7. 요약

Chapter 26. 커널 모드 루트킷

26.1. 커널 모드 접근하기

26.2. 숨겨진 커널 모듈

26.3. 숨겨진 프로세스들

26.4. 권한 상승

26.5. 시스템 호출 핸들러 가로채기

26.6. 키보드 알림

26.7. TTY 핸들러

26.8. 네트워크 프로토콜 구조체

26.9. 넷필터(Netfilter) 가로채기

26.10. 파일 동작

26.11. 인라인 코드 가로채기

26.12. 요약

Chapter 27. 팔랑크스2(Phalanx2) 사례 분석

27.1. 팔랑크스2(Phalanx2)

27.2. 팔랑크스2 메모리 분석

27.3. 팔랑크스2 리버스 엔지니어링

27.4. 팔랑크스2에 대한 마지막 생각

27.5. 요약

Part . 맥 메모리 포렌식

Chapter 28. 맥 획득과 내부

28.1. 맥 디자인

28.2. 메모리 획득

28.3. 맥 볼라탈리티 프로파일

28.4. Mach-O 실행 파일 형

28.5. 요약

Chapter 29. 맥 메모리 개요

29.1. 맥 대 리눅스 분석

29.2. 프로세스 분석

29.3. 주소 공간 매핑

29.4. 네트워킹 흔적

29.5. SLAB Allocator

29.6. 메모리로부터 파일 시스템 복구하기

29.7. 로드된 커널 확장

29.8. 다른 맥 플러그인

29.9. 맥 라이브 포렌식

29.10. 요약

Chapter 30. 악성 코드와 루트킷

30.1. 유저랜드 루트킷 분석

30.2. 커널 루트킷 분석

30.3. 메모리 내 일반적인 맥 악성 코드

30.4. 요약

Chapter 31. 사용자 활동 추적

31.1. 키체인(Keychain) 복구

31.2. 맥 애플리케이션 분석

31.3. 요약