엘프리드 더스틴(Elfriede Dustn)이 저자인 것에 흥미를 느껴 쥔장이 원서를 살펴보던 것이 역서로 나온 것을 보게 되었다.
테스팅과 보안 기술의 영역을 넘나드는 것 같지만, 저자들의 비율로 보아서도 알듯이 기술서에 좀 더 가까울 듯 하다. 혹여나 이 책을 테스팅 일반 서적으로 오인하여 구입하시는 오류가 없으시길... ^^
제1부 개 론 01 공격 당하기 전에 자신의 약점을 먼저 면밀히 조사하라 : 전통적 소프트웨어 검사를 벗어난 패러다임의 전환 47 ◈ 보안 검사 대 전통적인 소프트웨어 검사 50 _ SQL 주입 공격 패턴 53 ◈ 보안 검사의 패러다임 전환 53 ◈ 고수준 보안 검사 전략 55 _ 오류 주입 공격형 검사 : 탐정으로서 검사자 55 ◈ 공격자처럼 생각하라 57 _ 작업 우선순위 정하기 60 _ 손쉬운 길을 택하라 : 탐정작업에 도움이 되는 툴 사용 62 _ 취약점이란 지식나무에서 배워라 63 ◈ 요약 : 검사 비법 66 02 취약점들은 모든 소프트웨어에 어떻게 스며드는가? 68 ◈ 설계 취약점 대 구현 취약점 69 ◈ 안전한 설계와 관련된 일반적인 이슈들 72 _ 빈약한 암호 작성법 사용 72 _ 사용자 및 사용허가 추적 75 _ 결함 있는 입력 유효성 검증 76 _ 빈약한 구조적 보안 78 _ 기타 설계와 관련된 결함들 81 ◈ 프로그래밍 언어 구현 관련 이슈들 83 _ 컴파일러형 언어 : C와 C++ 83 _ 해석형 언어들 : 셸 스크립팅과 PHP 96 _ PHP 99 _ 가상 컴퓨터 언어 : 자바와 C# 101 ◈ 플랫폼 구현 이슈들 103 _ 문제점 : 기호 연결 104 _ 문제점 : 디렉터리 접근 공격 105 _ 문제점 : 문자 변환 106 ◈ 애플리케이션 보안 구현과 연관된 일반적인 이슈들 108 _ SQL 주입 공격 108 _ 크로스사이트 스크립팅 110 ◈ 개발 과정에서 생기는 문제점들 111 _ 빈약하게 문서로 만들어진 보안 요구사항들과 가정들 111 _ 빈약한 의사소통과 문서화 112 _ 개발과정에서 보안 프로세스 결여 113 ◈ 취약한 배포 114 ◈ 취약점의 근본 원인들에 대한 분류작업 115 ◈ 요약 : 검사 비망록 116
03 안전한 소프트웨어 개발 생명주기 118 ◈ 보안 검사를 소프트웨어 개발 생명주기에 맞추기 119 ◈ SSDL 1단계 : 보안 지침, 규칙, 규제 123 ◈ SSDL 2단계 : 보안 요구사항 : 공격 유스 케이스 125 _ 보안 요구사항 샘플 127 ◈ SSDL 3단계 : 아키텍처 및 설계 리뷰와 위협 모델링 129 ◈ SSDL 4단계 : 안전한 코드작업 지침 130 ◈ SSDL 5단계 : 블랙박스/그레이박스/화이트박스 검사 131 ◈ SSDL 6단계 : 악용 가능성 판단 132 ◈ 애플리케이션의 안전한 배포 133 ◈ 패치 관리 : 취약점 관리 134 ◈ 역할과 책임 135 ◈ SSDL과 시스템 개발 생명주기의 관계 136 ◈ 요약 138
04 위험 기반의 보안 검사 : 위협 모델링을 이용한 보안 검사 우선순위 140 ◈ 정보 수집 141 _ 설계사들과 회의 141 _ 런타임 검사 143 ◈ 윈도우 플랫폼 144 ◈ 유닉스 족적 추적 149 ◈ 정보 수집 종결 152 ◈ 모델링 프로세스 153 _ 위협 경로 식별 154 _ 위협 식별 158 _ 취약점 식별 160 _ 취약점과 연관된 위험 등급 매기기 161 ◈ 악용 가능성 판단 162
05 세 가지 분석의 미묘한 차이 : 화이트박스, 그레이박스, 블랙박스 검사 164 ◈ 화이트박스 검사 164 ◈ 블랙박스 검사 165 ◈ 그레이박스 검사 167 ◈ 검사를 위한 실험실 설정 168 _ 퓨저 169 _ 스나이퍼 170 _ 디버거 170 _ 하드웨어 171 _ 상용 검사용 툴들 171 _ 네트워크 하드웨어 172 ◈ 계획적으로 실시하는 애플리케이션 공격 172 _ 실험실 환경 172 _ 네트워크 공격 175 제2부 공격 수행 06 일반적인 네트워크 장애 주입 공격 183 ◈ 네트워크 183 ◈ 포트 탐색 184 _ netstat와 로컬 툴 185 _ 포트 주사 189 ◈ 프록시 190 _ 가장 간단한 프록시 : 임의의 TCP/UDP 오류 주입기 192 _ 오류 주입 공격용 데이터 세트 작성법 198 _ 끼어들기 프록시 202 ◈ 결론 204 ◈ 요약 204
07 웹 애플리케이션 : 세션 공격 205 ◈ 목표 애플리케이션 겨냥 205 ◈ 인증 대 인가 205 ◈ 세션과 자원 ID에 대한 주먹구구식 공격 207 ◈ 쿠키 수집 212 ◈ SID 견고성 판단 : 위상 공간 분석 215 ◈ 크로스사이트 스크립팅 공격 219 ◈ 결론 222 ◈ 요약 223 08 웹 애플리케이션 : 일반적인 이슈들 224 ◈ 인가 회피 224 ◈ SQL 주입 공격 227 _ 기본사항 228 _ 데이터베이스 스키마 찾기 234 _ SQL 서버에서 명령 실행하기 239 ◈ 실행 코드(ASP, PHP, 배치 파일) 올리기 243 ◈ 파일 나열하기 245 ◈ 소스코드 노출 취약점 250 ◈ HTTP의 숨은 필드 253 ◈ 결론 257 ◈ 요약 257
09 웹 프록시 : 웹스카랩 사용하기 259 ◈ 웹스카랩 프록시 259 ◈ 결론 276 ◈ 요약 276
11 로컬 애플리케이션 장애 주입 공격 297 ◈ 로컬 자원 그리고 프로세스 간 통신 297 _ 윈도우NT 객체 299 _ 유닉스의 set-user-id 프로세스 그리고 프로세스 간 통신 302 ◈ 로컬 애플리케이션 위협 모델링 304 _ 윈도우 애플리케이션 자원 나열 305 _ 유닉스 애플리케이션 자원 나열 306 ◈ 스크립팅 가능한 액티브엑스 객체 인터페이스 검사 308 ◈ 스크립팅해도 되는 ‘안전한’ 객체 식별 310 ◈ 객체 인터페이스 검사 313 _ 인터페이스 수동 검사 313 _ 액티브엑스 인터페이스 자동 검사 315 _ 충돌 평가 316 ◈ 파일 형식 퓨징 317 ◈ 파일 훼손 검사 319 ◈ 파일 훼손 자동화 319 ◈ 명령행 퓨징 유틸리티 321 ◈ 셰어퓨즈 322 ◈ 브루트-포스 이진 검사기 324 ◈ CLI 퓨즈 325 ◈ 공유 메모리 329 ◈ 요약 333
제3부 분 석 12 악용 가능성 판단 337 ◈ 취약점 등급 정하기 337 _ 시간 338 _ 신빙성과 재현 가능성 338 _ 접근방법 339 _ 위치 선정 341 ◈ 메모리 침해와 임의의 코드 실행 342 ◈ 컴퓨터 아키텍처 344 _ 스택 346 _ 스택 버퍼 초과 347 _ 힙 348 ◈ 악용 가능성 판단 351 _ 프로세스 충돌 덤프 351 _ 공격자의 수중에 들어간 메모리와 레지스터 353 _ 취약점을 경감시켜주는 요소들 : 스택과 힙 보호 358 ◈ 더 참고할 만한 자료들 358 ◈ 찾아보기 361
댓글 영역