| 000 | 00593namcc2200217 c 4500 | |
| 001 | 000045764886 | |
| 005 | 20130905120442 | |
| 007 | ta | |
| 008 | 130905s2013 ulka 001c kor | |
| 020 | ▼a 9788997924059 ▼g 93000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 082 | 0 4 | ▼a 005.16 ▼2 23 |
| 085 | ▼a 005.16 ▼2 DDCK | |
| 090 | ▼a 005.16 ▼b 2013 | |
| 100 | 1 | ▼a 한주성 |
| 245 | 1 0 | ▼a 리버싱 윈도우 : ▼b 장애, 해킹, 성능, 운영에 관한 실전 교과서 / ▼d 한주성 지음 |
| 260 | ▼a 서울 : ▼b 로드북, ▼c 2013 | |
| 300 | ▼a 1052 p. : ▼b 삽화 ; ▼c 26 cm | |
| 500 | ▼a 색인수록 | |
| 945 | ▼a KLPA |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.16 2013 | 등록번호 121226445 (10회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
윈도우 구조를 먼저 이해하고 이를 바탕으로 실습을 통해 '리버싱'을 익히는 책이다. 윈도우 구조 학습은 디버거를 활용해 직접 부팅 단계부터 내부를 들여다보면서 학습한다. 단순 이론만 가르쳐주는 방식이 아니라 실제로 디버깅 환경을 구축해보고 내부 구조를 살펴보는 방식을 취하고 있다. 윈도우 시스템의 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여준다.
윈도우 구조를 먼저 이해하고 이를 바탕으로 실습을 통해 '리버싱'을 익히는 책이다. 윈도우 구조 학습은 디버거를 활용해 직접 부팅 단계부터 내부를 들여다보면서 학습한다. 단순 이론만 가르쳐주는 방식이 아니라 실제로 디버깅 환경을 구축해보고 내부 구조를 살펴보는 방식을 취하고 있다. 윈도우 시스템의 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여준다.
무엇보다 보는 재미가 아니라 직접 해보는 재미가 쏠쏠한 책이다.
※ 샘플원고 살펴보기 → www.roadbook.co.kr/108
※ 리버싱 윈도우 특별판 <리버싱, 이것이 알고 싶다> → www.roadbook.co.kr/106
[대상 독자]
Q. 누구를 위한 책입니까?
A: 로우레벨 쪽에 관심이 있어 보안, 시스템 전문가가 되고 싶어하는 독자
Q. 필요한 선수지식은 있나요?
A: 기초적인 프로그래밍 지식과 가상 머신 설치하고 약간 활용할 수 있는 정도의 지식
[주요 내용]
윈도우 구조에 대한 이해부터 시작하는 체계적인 접근법
최초 부팅 단계부터 모든 시스템 자원이 세팅되는 단계까지 체계적으로 학습하여 기초를 단단하게 다진 후에 시작한다. 결국 '원리에 대한 이해'가 이 책의 근간을 이루는 가장 큰 핵심이다.
활용성 높은 도구를 이용한 실전 학습법
가상머신부터 디버깅 및 디버기, 디어셈블러 등 수많은 도구들 중 활용성을 기준으로 선별하여 실전과도 같은 실습 학습을 제시한다.
저자의 경험을 간접 체험할 수 있는 <이것이 알고 싶다> 코너
각 장의 끝에 편집자가 원고를 읽으면서 입문자의 입장이 되어 궁금한 질문을 하였다. 때론 바보 같은 질문일 수 있지만 리버서가 되기 위한 입문자들에게는 좋은 가이드가 되어줄 것이다.
보안, 해킹, 운영, 성능까지 다양한 간접 경험을 쌓을 수 있다
리버싱은 작은 단서로 시작하여 어떤 문제를 해결해가는 과정을 의미한다. 그것이 결국 보안의 문제일 수 있고 운영이나 성능의 문제일 수 있다. 이런 다양한 관점에 대한 접근법이 문제 해결 능력을 키우는 데 실질적인 도움을 줄 수 있을 것이다.
이 책은 저자가 10년 이상의 네트워크, 보안, 시스템 운영 경험과 보안 프로그램 개발 경험을 바탕으로 리버스 엔지니어링에 관심 있는 사람들이 반드시 알아야 할 내용을 체계적으로 기술하고 있다. 윈도우 리버스 엔지니어링 기본서로서 가까이 두고 참고해도 손색이 없는 책이다.
_베타리더 고승의(마이크로소프트 고객기술지원부)
이 책은 리버싱에만 초점을 맞춘 것이 아니라 OS의 기본을 먼저 힉습한 후에 이를 리버싱에 응용할 수 있도록 안내해 주고 있다. OS의 기본 구조뿐만 아니라 리버싱에 대해서도 많이 배울 수 있었다.
_베타리더 이현정(마이크로소프트 고객기술지원부)
[편집자 코멘트]
이 책을 편집하면서 '리버싱'이라는 분야가 참으로 매력적이구나, 라는 것을 느꼈습니다. 비트 사이를 헤집고 다니면서 작은 단서 하나에 의존하여 원인의 진원지를 찾아가면서 그 배경을 알아가는 게 참으로 기막힙니다. 단순히 이론이나 원리만 알려주는 책이었다면 느낄 수 없었을 것입니다.
정보제공 :
저자소개
한주성(지은이)
인프라 보안 기술 분야의 탐지와 운영 자동화 분야에 관심이 많습니다. 빅데이터를 보안에서도 많은 가시성(Visibility)을 만들어 내면서 보다 쉽고 정밀한 의사결정과 예측이 필요한 보안 분야에 사용할 수 있도록 노력하고 있습니다. 보안에서 집중해야 하는 핵심 데이터를 찾고 이를 보다 잘 활용하기 위해 지속적으로 연구 및 개발하고 있습니다. 현) 쿠팡 Principal Information Security Engineering 전) 크래프톤, 아이덴티티게임즈, 넷마블게임즈, 마이크로소프트 등 활동) Microsoft Developer Security, 차세대 보안 리더 BoB 멘토
목차
1부 윈도우 구조 : MBR에서 로그온까지
1장 부팅의 시작 : MBR(실습) = 23
1.1. 실습 준비 = 25
1.2. MBR 영역 코드 분석 = 29
1.3. MBR 영역 실시간 분석 = 36
1.4. 부트 섹터 = 47
2장 Windbg 준비(실습) = 57
2.1. 실습 준비 = 58
2.2. 심볼 설정 = 59
2.3. 커널 디버깅 = 64
3장 시스템 시작 : 커널 생성(Ntos****.exe) = 77
3.1. System과 Idle = 84
4장 커널과 유저의 소통 : 시스템 프로세스 = 89
4.1. 서브시스템(Subsystem) = 90
4.2. 세션 관리자 Smss.exe = 94
4.3. 서브시스템 관리자 Csrss.exe = 96
4.3.1. LPC = 97
4.4. 로그인 관리자 Winlogon.exe = 100
4.4.1. 새로운 세션 0 관리자 Wininit.exe = 111
4.5. 보안 관리자 - Lsass.exe = 113
4.6. 서비스 관리자 Services.exe = 135
4.6.1. 서비스 계정 = 141
4.7. 유저 초기화 - Userinit.exe = 145
4.8. 아직 끝나지 않은 부팅 - 자동 실행 = 147
5장 커널 진입 : Ntdll.dll = 157
6장 운영 : 성능/관리(실습) = 165
6.1. 실습 준비 = 166
6.2. 성능 = 169
6.2.1. 성능 모니터링 = 169
6.2.2. Xperf = 176
6.2.3. 네트워크 = 187
6.3. 관리 = 202
6.3.1. WMI = 202
6.4. 덤프 분석 = 230
2부 윈도우 내부 동작 이해
7장 프로세스, 스레드(실습) = 255
7.1. EPROCESS, KPROCESS = 268
8장 레지스터 = 291
9장 어셈블리(실습) = 303
9.1. 실습 준비 = 304
9.2. MOV 명령 = 315
9.3. CMP 명령 = 322
9.4. ADD/SUB 명령 = 327
9.5. PUSH/POP 명령 = 328
9.6. INC/DEC 명령 = 329
9.7. NOT/AND/OR/XOR 명령 = 330
9.8. DIV/IDIV 명령 = 336
9.9. CALL/JMP/RET 명령 = 339
10장 스택 = 345
10.1. 함수 호출 규약 = 364
11장 스레드 스케줄링 = 371
12장 퀀텀 = 385
13장 디스패칭 = 397
13.1. Interrupt Dispatching = 402
13.2. System Service Dispatching = 403
13.3. Exception Dispatching = 408
13.3.1. 1st Chance, 2nd Chance 확인/분석 = 410
13.3.2. KiDebugRoutine = 416
14장 메모리 관리 = 427
14.1. 메모리 풀 = 430
14.2. 힙 = 438
14.3. 페이지 테이블 엔트리(PTE) = 452
14.4. 데스크탑 힙(Desktop heap) = 463
15장 I/O Request = 469
15.1. 드라이버, 디바이스, 파일 개체 = 472
3부 윈도우 역분석 : 해킹과 장애
16장 인지의 중요성 = 485
16.1. 해킹 진행 절차 = 487
16.1.1. 정보 수집 단계 = 488
16.1.2. 취약점 확인(공격) 단계 = 490
17장 역분석의 묘미 : 프로그램 역분석(실습) = 499
17.1. 기계어를 분석한다 = 500
17.2. 디어셈블러(디버거) = 504
17.3. 디컴파일러 = 510
17.3.1. C/C++ = 511
17.3.2. .NET(C#) = 514
17.3.3. 그외 = 518
17.4. 분석 준비 - PE 구조(실습) = 520
17.4.1. 실습 준비 = 520
17.4.2. PE 구조(Header) = 521
17.4.2.1. DOS Header = 523
17.4.2.2. NT Header = 524
17.4.2.3. IMAGE_OPTIONAL_HEADER32 = 527
17.4.2.4. Section Header = 531
17.4.2.5. IAT(Import Address Table), EAT(Export Address Table) = 535
17.5. 프로그램 정적 분석 = 543
17.5.1. PEiD = 543
17.5.2. Strings = 544
17.5.3. Virustotal = 544
17.6. 프로그램 동적 분석 = 545
18장 증거 확보/분석을 위한 데이터 수집(실습) = 559
18.1. 실습 준비 = 561
18.2. 휘발성 데이터 = 564
18.2.1. 시스템 이름 = 564
18.2.2. 시스템 시간 = 566
18.3.3. 디스크 정보 수집 = 567
18.2.4. 로그인 유저 = 569
18.2.5. 사용 중인 프로세스 리스트 = 574
18.2.6. 사용 중인 서비스 리스트 = 576
18.2.7. 사용중인 핸들 = 577
18.2.8. 사용 중인 Dll = 578
18.2.9. 변조된 시스템 파일 = 579
18.2.10. 숨김 파일 = 580
18.2.11. 최근에 접근한 파일 = 583
18.2.12. 네트워크 인터페이스 정보 = 589
18.2.13. 네트워크 사용 정보 = 596
18.2.14. 네트워크 공유 리스트 = 598
18.2.15. 메모리 = 601
18.2.15.1. 메모리와 프로그램(실행 파일) 분석의 차이와 이유 = 603
18.2.15.2. 프로세스별 메모리 덤프 생성 = 607
18.2.15.3. 전체 메모리 덤프 생성 = 608
18.2.16. 클립보드 및 명령 사용 내역 = 614
18.3. 비휘발성 데이터 = 615
18.3.1. 이벤트 로그 = 615
18.3.2. 레지스트리 = 621
18.3.3. 디스크 데이터 = 625
18.3.4. MBR 영역 = 634
18.4. 수집 방법 = 638
18.4.1. 로컬 수집 = 640
18.4.2. 원격 수집 = 642
18.4.2.1. Psexec = 642
18.4.2.2. Netcat = 644
18.4.2.3. FSP와 FRUC = 650
18.5. MPSReport - 종합 로그 수집 도구 = 655
19장 분석 = 663
19.1. 로그 분석 = 664
19.1.1. 분석을 위한 준비 = 664
19.1.2. tr = 665
19.1.3. awk = 668
19.1.4. uniq = 669
19.1.5. sort = 669
19.2. 메모리 분석 = 672
19.2.1. Volatility = 672
19.3. 레지스트리 분석 = 689
19.3.1. 키, 값 = 689
19.3.2. 하이브 = 690
19.3.3. Regripper = 691
19.3.3.1. System = 692
19.3.3.2. Software = 697
19.3.3.3. Security = 698
19.3.3.4. Sam = 700
19.3.4. 삭제된 레지스트리 확인 = 700
19.4. 패킷 분석 = 703
19.4.1. TCP/IP 4계층 = 704
19.4.2. 패킷 분석 = 708
19.4.3. 패킷 수집 = 714
19.4.3.1. Tcpdump = 714
19.4.3.2. Tshark = 718
19.4.4. 패킷 통계(세션) = 721
19.4.4.1. Argus = 727
19.5. 파일 분석 = 735
19.5.1. 파일 헤더 = 735
19.5.2. Autopsy = 737
19.5.3. 삭제 파일 = 742
19.5.4. 파일 복구 = 756
19.5.5. 파일 복구 방지 = 760
20장 증명할 수 있는 근거 : 무결성 = 767
20.1. Fciv = 772
20.2. FileVerifier++ = 774
21장 난 네가 한 일을 알고 있다 : 사용자 추적 = 779
21.1. 실행 프로그램 - Userassist Keys = 780
21.2. 실행 프로그램 - MUICache = 782
21.3. 열어본 문서와 입력 실행 - MRUList, RunMRU = 782
21.4. 인터넷 흔적 - Typedurls = 784
21.5. 메일 추적 - Exchange = 787
22장 보초를 세우다 : 감시 = 789
22.1. 시스템 감시 - 파일 = 790
22.2. 시스템 감시 - 로그 = 794
22.3. 네트워크 감시 = 800
22.3.1. Windows에서 스구일 클라이언트 실행하기 = 808
22.3.2. IP 역추적 = 810
22.3.3. IP 확인 = 811
22.3.4. Nmap = 819
22.3.4.1. 오픈 포트 스캔 = 819
22.3.4.2. 차단 포트 스캔형(스텔스 스캔) = 821
22.3.4.3. 스캔 부가 옵션 = 824
4부 끝나지 않는 이슈 : 보안과 운영
23장 후킹 = 829
23.1. 유저 모드 후킹 = 831
23.1.1. SetWindowsHookEx = 832
23.1.2. CreateRemoteThread = 843
23.2. 커널 모드 후킹 = 855
23.2.1. IRP 후킹 = 856
23.2.2. SSDT 후킹 = 862
23.3. 루트킷 탐지 = 868
23.3.1. HookShark = 868
23.3.2. GMER 869 = 869
23.3.3. Kaspersky TDSSKiller = 870
23.3.4. Avast Anti-Rootkit = 870
23.3.5. Sophos Anti-Rootkit = 871
24장 안티 디버깅 : 프로그램 보호 = 873
24.1. 디버거 탐지 = 874
24.1.1. INT3(예외 처리) = 874
24.1.2. GetTickCount(시간차) = 878
24.1.3. BeingDebugged(프로세스 정보) = 883
24.1.4. CheckRemoteDebuggerPresent(API) = 890
24.1.5. HardwareBreakpoint(브레이크 포인트) = 892
24.1.6. FindWindow(프로세스 확인) = 897
24.2. 프로세스(프로그램) 보호 = 900
24.2.1. 스레드 ID = 900
24.2.2. 스택 영역 = 904
24.2.3. DKOM = 907
24.3. 패킹 - 프로그램 암호화 = 914
24.3.1. 패커 분석 = 918
24.3.2. 패킹 도구-더미다 = 926
24.3.3. JunkCode = 933
25장 네트워크 보호 = 943
25.1. ACL 기본 = 944
25.1.1. 일반형(Standard) Access-list = 944
25.1.2. 확장형(Extended) Access-List = 945
25.1.3. 왜 인바운드(Inbound)를 차단할까? = 948
25.1.4. Established를 통한 인바운드 트래픽 필터링 설정 = 949
25.2. DDoS 보호 설정 = 952
25.2.1. 사설, 내부 네트워크, Broadcast Spoofing 필터링 구성 = 952
25.2.2. RPF(Reverse Path Forwarding)를 이용한 Source IP Spoofing 필터링 = 953
25.2.3. TCP Syn Flooding 필터링 = 954
25.2.4. Rate limit 설정을 통한 필터링 = 955
25.3. 논리적 격리 VLAN = 956
25.4. IP 숨기기, 속이기 = 959
26장 IP 기반 로그인 보안 프로세스 구성과 개발(실습) = 965
26.1. 현재 로그인 보안 프로세스 = 967
26.2. 우리가 알아야 할 것 = 968
26.3. 어떻게 통제할 것인가? = 969
26.4. 실습 준비 = 972
26.5. 실전 개발 - 웹 부분 = 977
26.5.1. 10초 이내 로그인 방지 = 982
26.5.2. 블록(차단) IP 확인 = 984
26.5.3. 1시간 이내 로그인 성공 계정 보호, 공격 IP 설정 = 985
26.6. 실전 개발 - 저장 프로시저 부분 = 993
27장 NoSQL?! : 부하 분산(실습) = 997
27.1. 실습 준비 = 999
27.2. SqlCacheDependency를 이용한 ASP 캐시 = 1007
28장 유용한 도구들 = 1017
28.1. Paros = 1018
28.2. CooxieBar = 1023
28.3. Cppcheck = 1027
28.4. DumpbinGUI = 1029
28.5. Fiddler2 = 1031
28.6. Websecurify = 1031
28.7. Gflags = 1034
찾아보기 = 1045



