네트워크 프로토콜 보안은 세계 최고의 버그 사냥꾼 중 하나인 제임스 포쇼우(James Forshaw)가 제공하는 매우 깊이 있는 내용이다. 이 책의 내용은 공격자의 관점에서 네트워킹을 살펴보고 취약점 발견, 악용을 통해 궁극적으로 네트워크 프로토콜을 보호하는 것이다. 정적과 동적 프로토콜 분석, 일반적인 프로토콜 구조, 암호화 및 프로토콜 보안을 살펴보기 전에 먼저 네트워킹 기본 지식과 프로토콜 트래픽 캡처에 대해 설명한다. 그런 다음 일반적인 버그 클래스, 퍼징, 디버깅 및 고갈 공격을 통해 취약성을 찾아 악용하는 데 중점을 둔다. 네트워크 프로토콜 보안은 네트워크 취약점을 이해하고 발견하려는 침투 테스터, 버그 헌터 또는 개발자에게 반드시 필요한 도구이다.
◆ 저자소개
제임스 포쇼우(James Forshaw)
구글 프로젝트 제로의 컴퓨터 보안 연구원으로 지난 10여 년 동안 응용 프로그램(application) 네트워크 프로토콜을 분석하고 개발한 전문가이다. 특히 그는 게임 콘솔을 크랙킹하고, 운영체제, 특히 마이크로소프트 윈도우가 갖는 복잡한 설계 문제를 찾아내는 것까지 폭넓은 기술을 가지고 있다. 윈도우의 버그를 찾아내어 최대 10만 달러의 상금을 받아 마이크로소프트 보안 대응 센터(MSRC: Microsoft Security Response Center) 게시판 목록의 첫 번째 연구원이기도 하다. 그는 네트워크 프로토콜 분석 도구인 Canape를 개발한 경험이 있다. 또한 BlackHat, CanSecWest, Chaos Computer Congress와 같은 글로벌 보안 컨퍼런스에서 초대를 받아 뛰어난 보안 연구 내용을 발표하기도 했다.
◆ 역자소개
이재광
한남대학교 컴퓨터공학과에 정교수로 재직 중이며, 컴퓨터 통신과 정보보호 분야를 연구하고, 데이터 통신, 컴퓨터 네트워크, 정보통신 보안, C 프로그래밍 등을 강의하고 있다. 한국정보처리학회 이사, 한국정보보호학회 부회장을 맡고 있다.
e-mail: jklee@hnu.kr
CHAPTER01 네트워킹 개요
네트워크 구조와 프로토콜
인터넷 프로토콜 모음
데이터 캡슐화
네트워크 라우팅
네트워크 프로토콜 분석을 위한 나의 모델
장을 마치면서
CHAPTER02 응용 프로그램 트래픽 캡처하기
수동 네트워크 트래픽 캡처
와이어샤크를 위한 빠른 학습
또 다른 수동 캡처 기술
수동 캡처의 장단점
능동 네트워크 트래픽 챕처
네트워크 프록시
장을 마치면서
CHAPTER03 네트워크 프로토콜 구조
2진 프로토콜 구조
날짜와 시간
태그, 길이, 값 패턴
다중화와 단편화
네트워크 주소 정보
구조화된 2진 형식
텍스트 프로토콜 구조
2진 데이터 부호화
장을 마치면서
CHAPTER04 고급 응용 프로그램 트래픽 캡처
트래픽 경로 재지정
라우터 구성하기
네트워크 주소 변환
트래픽을 게이트웨이로 전달하기
장을 마치면서
CHAPTER05 통신 회선을 통한 분석
트래픽을 생성하는 응용 프로그램: superFunkyChat
Wireshark를 이용한 분석의 충돌 과정
16진 덤프를 이용하여 패킷 구조 살펴보기
Lua에서 Wireshark 구문 해석기 개발하기
트래픽을 적극적으로 분석하기 위한 프록시 사용
장을 마치면서
CHAPTER06 응용 프로그램 역공학
컴파일러, 인터프리터, 어셈블러
X86 구조
운영체제 기본 사항
정적 역공학
동적 역공학
역공학 관리 언어
역공학 자원
장을 마치면서
CHAPTER07 네트워크 프로토콜 보안
암호화 알고리즘
난수 발생기
대칭키 암호화
비대칭키 암호화
서명 알고리즘
공개키 기반 구조
사례 연구: 전송 계층 보안
장을 마치면서
CHAPTER08 네트워크 프로토콜 구현하기
캡처된 네트워크 트래픽을 재전송하기
기존 실행 코드의 용도 변경하기
TLS를 이용한 암호화와 거래
장을 마치면서
CHAPTER09 보안 취약점의 근본 원인
취약성 클래스
메모리 손상 취약성
기본 값 또는 하드코딩된 자격 증명
사용자 열거하기
잘못된 자원 접근하기
메모리 고갈 공격
스토리지 고갈 공격
CPU 고갈 공격
형식 문자열 취약성
명령 인젝션
SQL 인젝션
텍스트-부호화 문자 치환
장을 마치면서
CHAPTER10 보안 취약성 찾아 조사하기
퍼지 테스트
취약성 탐색
일반적인 취약성 악용하기
쉘 코드 작성하기
메로리 손상으로 인한 완화 조치
장을 마치면서
부록
네트워크 프로토콜 분석 툴킷
수동 네트워크 프로토콜 캡처와 분석 도구
능동 네트워크 캡처와 분석
네트워크 연결과 프로토콜 테스트
웹 응용 프로그램 테스트
퍼지(Fuzzing), 패킷 생성과 취약성 공격 프레임워크
네트워크 스푸핑과 재지정
실행 가능한 역공학
찾아보기