책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 윈도우 프로그래밍
· ISBN : 9788997924059
· 쪽수 : 1052쪽
책 소개
목차
1부. 윈도우 구조: MBR에서 로그온까지
1장. 부팅의 시작: MBR (실습)
1.1 실습 준비
1.2 MBR 영역 코드 분석
1.3 MBR 영역 실시간 분석
1.4 부트 섹터
2장 Windbg 준비 (실습)
2.1 실습 준비
2.2 심볼 설정
2.3 커널 디버깅
3장 시스템 시작: 커널 생성 (Ntos****.exe)
3.1 System과 Idle
4장 커널과 유저의 소통: 시스템 프로세스
4.1 서브시스템(Subsystem)
4.2 세션 관리자 Smss.exe
4.3 서브시스템 관리자 Csrss.exe
4.3.1 LPC
4.4 로그인 관리자 Winlogon.exe
4.4.1 새로운 세션 0 관리자 Wininit.exe
4.5 보안 관리자 - Lsass.exe
4.6 서비스 관리자 Services.exe
4.6.1 서비스 계정
4.7 유저 초기화 - Userinit.exe
4.8 아직 끝나지 않은 부팅 - 자동 실행
5장 커널 진입: Ntdll.dll
6장 운영: 성능/관리 (실습)
6.1 실습 준비
6.2 성능
6.2.1 성능 모니터링
6.2.2 Xperf
6.2.3 네트워크
6.3 관리
6.3.1 WMI
6.4 덤프 분석
2부 윈도우 내부 동작 이해
7장 프로세스, 스레드(실습)
7.1 EPROCESS, KPROCESS
8장 레지스터
9장 어셈블리 (실습)
9.1 실습 준비
9.2 MOV 명령
9.3 CMP 명령
9.4 ADD/SUB 명령
9.5 PUSH/POP 명령
9.6 INC/DEC 명령
9.7 NOT/AND/OR/XOR 명령
9.8 DIV/IDIV 명령
9.9 CALL/JMP/RET 명령
10장 스택
10.1 함수 호출 규약
11장 스레드 스케줄링
12장 퀀텀
13장 디스패칭
13.1 Interrupt Dispatching
13.2 System Service Dispatching
13.3 Exception Dispatching
13.3.1 1st Chance, 2nd Chance 확인/분석
13.3.2 KiDebugRoutine
14장 메모리 관리
14.1 메모리 풀
14.2 힙
14.3 페이지 테이블 엔트리(PTE)
14.4 데스크탑 힙(Desktop heap)
15장 I/O Request
15.1 드라이버, 디바이스, 파일 개체
3부 윈도우 역분석: 해킹과 장애
16장 인지의 중요성
16.1 해킹 진행 절차
16.1.1 정보 수집 단계
16.1.2 취약점 확인(공격) 단계
17장 역분석의 묘미: 프로그램 역분석 (실습)
17.1 기계어를 분석한다
17.2 디어셈블러(디버거)
17.3 디컴파일러
17.3.1 C/C++
17.3.2 .NET (C#)
17.3.3 그외
17.4 분석 준비 - PE 구조 (실습)
17.4.1 실습 준비
17.4.2 PE 구조(Header)
17.4.2.1 DOS Header
17.4.2.2 NT Header
17.4.2.3 IMAGE_OPTIONAL_HEADER32
17.4.2.4 Section Header
17.4.2.5 IAT(Import Address Table), EAT(Export Address Table)
17.5 프로그램 정적 분석
17.5.1 PEiD
17.5.2 Strings
17.5.3 Virustotal
17.6 프로그램 동적 분석
18장 증거 확보/분석을 위한 데이터 수집(실습)
18.1 실습 준비
18.2 휘발성 데이터
18.2.1 시스템 이름
18.2.2 시스템 시간
18.3.3 디스크 정보 수집
18.2.4 로그인 유저
18.2.5 사용 중인 프로세스 리스트
18.2.6 사용 중인 서비스 리스트
18.2.7 사용중인 핸들
18.2.8 사용 중인 Dll
18.2.9 변조된 시스템 파일
18.2.10 숨김 파일
18.2.11 최근에 접근한 파일
18.2.12 네트워크 인터페이스 정보
18.2.13 네트워크 사용 정보
18.2.14 네트워크 공유 리스트
18.2.15 메모리
18.2.15.1 메모리와 프로그램(실행 파일) 분석의 차이와 이유
18.2.15.2 프로세스별 메모리 덤프 생성
18.2.15.3 전체 메모리 덤프 생성
18.2.16 클립보드 및 명령 사용 내역
18.3 비휘발성 데이터
18.3.1 이벤트 로그
18.3.2 레지스트리
18.3.3 디스크 데이터
18.3.4 MBR 영역
18.4 수집 방법
18.4.1 로컬 수집
18.4.2 원격 수집
18.4.2.1 Psexec
18.4.2.2 Netcat
18.4.2.3 FSP와 FRUC
18.5 MPSReport - 종합 로그 수집 도구
19장 분석
19.1 로그 분석
19.1.1 분석을 위한 준비
19.1.2 tr
19.1.3 awk
19.1.4 uniq
19.1.5 sort
19.2 메모리 분석
19.2.1 Volatility
19.3 레지스트리 분석
19.3.1 키, 값
19.3.2 하이브
19.3.3 Regripper
19.3.3.1 System
19.3.3.2 Software
19.3.3.3 Security
19.3.3.4 Sam
19.3.4 삭제된 레지스트리 확인
19.4 패킷 분석
19.4.1 TCP/IP 4계층
19.4.2 패킷 분석
19.4.3 패킷 수집
19.4.3.1 Tcpdump
19.4.3.2 Tshark
19.4.4 패킷 통계(세션)
19.4.4.1 Argus
19.5 파일 분석
19.5.1 파일 헤더
19.5.2 Autopsy
19.5.3 삭제 파일
19.5.4 파일 복구
19.5.5 파일 복구 방지
20장 증명할 수 있는 근거: 무결성
20.1 Fciv
20.2 FileVerifier++
21장 난 네가 한 일을 알고 있다: 사용자 추적
21.1 실행 프로그램 - Userassist Keys
21.2 실행 프로그램 - MUICache
21.3 열어본 문서와 입력 실행 - MRUList, RunMRU
21.4 인터넷 흔적 - Typedurls
21.5 메일 추적 - Exchange
22장 보초를 세우다: 감시
22.1 시스템 감시 - 파일
22.2 시스템 감시 - 로그
22.3 네트워크 감시
22.3.1 Windows에서 스구일 클라이언트 실행하기
22.3.2 IP 역추적
22.3.3 IP 확인
22.3.4 Nmap
22.3.4.1 오픈 포트 스캔
22.3.4.2 차단 포트 스캔형(스텔스 스캔)
22.3.4.3 스캔 부가 옵션
4부 끝나지 않는 이슈: 보안과 운영
23장 후킹
23.1 유저 모드 후킹
23.1.1 SetWindowsHookEx
23.1.2 CreateRemoteThread
23.2 커널 모드 후킹
23.2.1 IRP 후킹
23.2.2 SSDT 후킹
23.3 루트킷 탐지
23.3.1 HookShark
23.3.2 GMER 869
23.3.3 Kaspersky TDSSKiller
23.3.4 Avast Anti-Rootkit
23.3.5 Sophos Anti-Rootkit
24장 안티 디버깅: 프로그램 보호
24.1 디버거 탐지
24.1.1 INT3 (예외 처리)
24.1.2 GetTickCount (시간차)
24.1.3 BeingDebugged (프로세스 정보)
24.1.4 CheckRemoteDebuggerPresent (API)
24.1.5 HardwareBreakpoint (브레이크 포인트)
24.1.6 FindWindow (프로세스 확인)
24.2 프로세스(프로그램) 보호
24.2.1 스레드 ID
24.2.2 스택 영역
24.2.3 DKOM
24.3 패킹-프로그램 암호화
24.3.1 패커 분석
24.3.2 패킹 도구-더미다
24.3.3 JunkCode
25장 네트워크 보호
25.1 ACL 기본
25.1.1 일반형(Standard) Access-list
25.1.2 확장형(Extended) Access-List
25.1.3 왜 인바운드(Inbound)를 차단할까?
25.1.4 Established를 통한 인바운드 트래픽 필터링 설정
25.2 DDoS 보호 설정
25.2.1 사설, 내부 네트워크, Broadcast Spoofing 필터링 구성
25.2.2 RPF(Reverse Path Forwarding)를 이용한 Source IP Spoofing 필터링
25.2.3 TCP Syn Flooding 필터링
25.2.4 Rate limit 설정을 통한 필터링
25.3 논리적 격리 VLAN
25.4 IP 숨기기, 속이기
26장 IP 기반 로그인 보안 프로세스 구성과 개발 (실습)
26.1 현재 로그인 보안 프로세스
26.2 우리가 알아야 할 것
26.3 어떻게 통제할 것인가?
26.4 실습 준비
26.5 실전 개발-웹 부분
26.5.1 10초 이내 로그인 방지
26.5.2 블록(차단) IP 확인
26.5.3 1시간 이내 로그인 성공 계정 보호, 공격 IP 설정
26.6 실전 개발 - 저장 프로시저 부분
27장 NoSQL?!: 부하 분산 (실습)
27.1 실습 준비
27.2 SqlCacheDependency를 이용한 ASP 캐시
28장 유용한 도구들
28.1 Paros
28.2 CooxieBar
28.3 Cppcheck
28.4 DumpbinGUI
28.5 Fiddler2
28.6 Websecurify
28.7 Gflags