HOME > Detail View

Detail View

리버싱 윈도우 : 장애, 해킹, 성능, 운영에 관한 실전 교과서 (Loan 10 times)

Material type
단행본
Personal Author
한주성
Title Statement
리버싱 윈도우 : 장애, 해킹, 성능, 운영에 관한 실전 교과서 / 한주성 지음
Publication, Distribution, etc
서울 :   로드북,   2013  
Physical Medium
1052 p. : 삽화 ; 26 cm
ISBN
9788997924059
General Note
색인수록  
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

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.16 2013 Accession No. 121226445 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

윈도우 구조를 먼저 이해하고 이를 바탕으로 실습을 통해 '리버싱'을 익히는 책이다. 윈도우 구조 학습은 디버거를 활용해 직접 부팅 단계부터 내부를 들여다보면서 학습한다. 단순 이론만 가르쳐주는 방식이 아니라 실제로 디버깅 환경을 구축해보고 내부 구조를 살펴보는 방식을 취하고 있다. 윈도우 시스템의 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여준다.

윈도우 구조를 먼저 이해하고 이를 바탕으로 실습을 통해 '리버싱'을 익히는 책이다. 윈도우 구조 학습은 디버거를 활용해 직접 부팅 단계부터 내부를 들여다보면서 학습한다. 단순 이론만 가르쳐주는 방식이 아니라 실제로 디버깅 환경을 구축해보고 내부 구조를 살펴보는 방식을 취하고 있다. 윈도우 시스템의 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여준다.
무엇보다 보는 재미가 아니라 직접 해보는 재미가 쏠쏠한 책이다.

※ 샘플원고 살펴보기 → www.roadbook.co.kr/108
※ 리버싱 윈도우 특별판 <리버싱, 이것이 알고 싶다> → www.roadbook.co.kr/106

[대상 독자]
Q. 누구를 위한 책입니까?
A: 로우레벨 쪽에 관심이 있어 보안, 시스템 전문가가 되고 싶어하는 독자

Q. 필요한 선수지식은 있나요?
A: 기초적인 프로그래밍 지식과 가상 머신 설치하고 약간 활용할 수 있는 정도의 지식

[주요 내용]
윈도우 구조에 대한 이해부터 시작하는 체계적인 접근법

최초 부팅 단계부터 모든 시스템 자원이 세팅되는 단계까지 체계적으로 학습하여 기초를 단단하게 다진 후에 시작한다. 결국 '원리에 대한 이해'가 이 책의 근간을 이루는 가장 큰 핵심이다.

활용성 높은 도구를 이용한 실전 학습법
가상머신부터 디버깅 및 디버기, 디어셈블러 등 수많은 도구들 중 활용성을 기준으로 선별하여 실전과도 같은 실습 학습을 제시한다.

저자의 경험을 간접 체험할 수 있는 <이것이 알고 싶다> 코너
각 장의 끝에 편집자가 원고를 읽으면서 입문자의 입장이 되어 궁금한 질문을 하였다. 때론 바보 같은 질문일 수 있지만 리버서가 되기 위한 입문자들에게는 좋은 가이드가 되어줄 것이다.

보안, 해킹, 운영, 성능까지 다양한 간접 경험을 쌓을 수 있다
리버싱은 작은 단서로 시작하여 어떤 문제를 해결해가는 과정을 의미한다. 그것이 결국 보안의 문제일 수 있고 운영이나 성능의 문제일 수 있다. 이런 다양한 관점에 대한 접근법이 문제 해결 능력을 키우는 데 실질적인 도움을 줄 수 있을 것이다.

이 책은 저자가 10년 이상의 네트워크, 보안, 시스템 운영 경험과 보안 프로그램 개발 경험을 바탕으로 리버스 엔지니어링에 관심 있는 사람들이 반드시 알아야 할 내용을 체계적으로 기술하고 있다. 윈도우 리버스 엔지니어링 기본서로서 가까이 두고 참고해도 손색이 없는 책이다.
_베타리더 고승의(마이크로소프트 고객기술지원부)


이 책은 리버싱에만 초점을 맞춘 것이 아니라 OS의 기본을 먼저 힉습한 후에 이를 리버싱에 응용할 수 있도록 안내해 주고 있다. OS의 기본 구조뿐만 아니라 리버싱에 대해서도 많이 배울 수 있었다.
_베타리더 이현정(마이크로소프트 고객기술지원부)

[편집자 코멘트]
이 책을 편집하면서 '리버싱'이라는 분야가 참으로 매력적이구나, 라는 것을 느꼈습니다. 비트 사이를 헤집고 다니면서 작은 단서 하나에 의존하여 원인의 진원지를 찾아가면서 그 배경을 알아가는 게 참으로 기막힙니다. 단순히 이론이나 원리만 알려주는 책이었다면 느낄 수 없었을 것입니다.


Information Provided By: : Aladin

Author Introduction

한주성(지은이)

인프라 보안 기술 분야의 탐지와 운영 자동화 분야에 관심이 많습니다. 빅데이터를 보안에서도 많은 가시성(Visibility)을 만들어 내면서 보다 쉽고 정밀한 의사결정과 예측이 필요한 보안 분야에 사용할 수 있도록 노력하고 있습니다. 보안에서 집중해야 하는 핵심 데이터를 찾고 이를 보다 잘 활용하기 위해 지속적으로 연구 및 개발하고 있습니다. 현) 쿠팡 Principal Information Security Engineering 전) 크래프톤, 아이덴티티게임즈, 넷마블게임즈, 마이크로소프트 등 활동) Microsoft Developer Security, 차세대 보안 리더 BoB 멘토

Information Provided By: : Aladin

Table of Contents


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

New Arrivals Books in Related Fields