웹 애플리케이션 보안: 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것

Book description

웹 애플리케이션 보안의 정찰, 공격, 방어를 모두 다루는 실용서다. 웹 애플리케이션에 침투하기 위해 해커가 실제로 사용하는 여러 기법을 소개하고 안전을 확보하는 법을 배운다. 각 장은 OWASP 취약점 중에서도 위험성이 높은 주제의 공격과 방어 양면을 다룬다. 책에서 다루는 기술을 익히면 웹 애플리케이션 코드베이스의 취약 부분을 파악하고 시큐어 코드는 어떻게 작성해야 하는지 이해할 수 있다. 해커로부터 소프트웨어를 보호하는 기법을 익히고 더 안전한 웹 애플리케이션을 구축할 수 있게 될 것이다.

Table of contents

  1. 헌사
  2. 지은이·옮긴이 소개
  3. 옮긴이의 말
  4. 이 책에 대하여 (1/6)
  5. 이 책에 대하여 (2/6)
  6. 이 책에 대하여 (3/6)
  7. 이 책에 대하여 (4/6)
  8. 이 책에 대하여 (5/6)
  9. 이 책에 대하여 (6/6)
  10. CHAPTER 1 소프트웨어 보안의 역사
    1. 1.1 해킹의 기원
    2. 1.2 에니그마(1930년경)
    3. 1.3 에니그마 코드 크래킹 자동화(1940년경)
      1. 1.3.1 봄브
    4. 1.4 전화 프리킹(1950년경)
    5. 1.5 프리킹 방지 기술(1960년경)
    6. 1.6 컴퓨터 해킹의 태동(1980년경)
    7. 1.7 월드 와이드 웹의 부흥(2000년경)
    8. 1.8 현대의 해커(2015년 이후)
    9. 1.9 마치며
  11. PART I 정찰
    1. CHAPTER 2 웹 애플리케이션 정찰 개요
      1. 2.1 정보 수집
      2. 2.2 웹 애플리케이션 매핑
      3. 2.3 마치며
    2. CHAPTER 3 현대 웹 애플리케이션의 구조
      1. 3.1 전통 웹 애플리케이션과 현대 웹 애플리케이션 비교
      2. 3.2 REST API
      3. 3.3 자바스크립트 객체 표기법
      4. 3.4 자바스크립트 (1/3)
      5. 3.4 자바스크립트 (2/3)
      6. 3.4 자바스크립트 (3/3)
        1. 3.4.1 변수와 스코프
        2. 3.4.2 함수
        3. 3.4.3 콘텍스트
        4. 3.4.4 프로토타입 상속
        5. 3.4.5 비동기
        6. 3.4.6 브라우저 DOM
      7. 3.5 SPA 프레임워크
      8. 3.6 인증 및 권한 부여 시스템
        1. 3.6.1 인증
        2. 3.6.2 권한 부여
      9. 3.7 웹 서버
      10. 3.8 서버 측 데이터베이스
      11. 3.9 클라이언트 측 데이터 저장소
      12. 3.10 마치며
    3. CHAPTER 4 서브도메인 찾기
      1. 4.1 한 도메인에 여러 애플리케이션이 있는 경우
      2. 4.2 브라우저에 내장된 네트워크 분석 도구
      3. 4.3 공개된 레코드를 이용하기 (1/2)
      4. 4.3 공개된 레코드를 이용하기 (2/2)
        1. 4.3.1 검색 엔진 캐시
        2. 4.3.2 의도하지 않은 아카이브
        3. 4.3.3 소셜 스냅숏
      5. 4.4 존 전송 공격
      6. 4.5 서브도메인에 대한 브루트 포싱 (1/2)
      7. 4.5 서브도메인에 대한 브루트 포싱 (2/2)
      8. 4.6 딕셔너리 공격
      9. 4.7 마치며
    4. CHAPTER 5 API 분석
      1. 5.1 엔드포인트 탐색
      2. 5.2 인증 메커니즘
      3. 5.3 엔드포인트 형상
        1. 5.3.1 일반적 형상
        2. 5.3.2 애플리케이션별 형상
      4. 5.4 마치며
    5. CHAPTER 6 서드파티 의존성 식별
      1. 6.1 클라이언트 측 프레임워크 검출
        1. 6.1.1 SPA 프레임워크 검출
        2. 6.1.2 자바스크립트 라이브러리 검출
        3. 6.1.3 CSS 라이브러리 검출
      2. 6.2 서버 측 프레임워크 검출 (1/2)
      3. 6.2 서버 측 프레임워크 검출 (2/2)
        1. 6.2.1 헤더 검출
        2. 6.2.2 디폴트 오류 메시지와 404 페이지
        3. 6.2.3 데이터베이스 검출
      4. 6.3 마치며
    6. CHAPTER 7 애플리케이션 아키텍처 약점 식별
      1. 7.1 보안 아키텍처와 비보안 아키텍처
      2. 7.2 다중 보안 계층
      3. 7.3 바퀴를 재발명할 것인가
      4. 7.4 마치며
    7. CHAPTER 8 1부를 마치며
  12. PART II 공격
    1. CHAPTER 9 웹 애플리케이션 해킹 개요
      1. 9.1 해커의 마음가짐
      2. 9.2 정찰 기법 응용
    2. CHAPTER 10 사이트 간 스크립팅(XSS)
      1. 10.1 XSS 탐색과 익스플로잇
      2. 10.2 저장 XSS
      3. 10.3 반사 XSS
      4. 10.4 DOM 기반 XSS
      5. 10.5 뮤테이션 기반 XSS
      6. 10.6 마치며
    3. CHAPTER 11 사이트 간 요청 위조(CSRF)
      1. 11.1 질의 매개변수 변조
      2. 11.2 GET 페이로드 바꿔치기
      3. 11.3 POST 엔드포인트에 대한 CSRF
      4. 11.4 마치며
    4. CHAPTER 12 XML 외부 엔티티(XXE)
      1. 12.1 직접 XXE
      2. 12.2 간접 XXE
      3. 12.3 마치며
    5. CHAPTER 13 인젝션
      1. 13.1 SQL 인젝션
      2. 13.2 코드 인젝션
      3. 13.3 명령 인젝션
      4. 13.4 마치며
    6. CHAPTER 14 서비스 거부(DoS)
      1. 14.1 정규 표현식 DoS
      2. 14.2 논리 DoS 취약점
      3. 14.3 분산 DoS
      4. 14.4 마치며
    7. CHAPTER 15 서드파티 의존성 익스플로잇
      1. 15.1 통합 방법
        1. 15.1.1 브랜치와 포크
        2. 15.1.2 자체 호스팅 애플리케이션 통합
        3. 15.1.3 소스 코드 통합
      2. 15.2 패키지 관리자
        1. 15.2.1 자바스크립트
        2. 15.2.2 자바
        3. 15.2.3 기타 언어
      3. 15.3 CVE 데이터베이스
      4. 15.4 마치며
    8. CHAPTER 16 2부를 마치며
  13. PART III 방어
    1. CHAPTER 17 현대 웹 애플리케이션 보안
      1. 17.1 방어적 소프트웨어 아키텍처
      2. 17.2 완전한 코드 리뷰
      3. 17.3 취약점 탐색
      4. 17.4 취약점 분석
      5. 17.5 취약점 관리
      6. 17.6 회귀 테스팅
      7. 17.7 완화 전략
      8. 17.8 정찰과 공격 기법을 응용
    2. CHAPTER 18 안전한 애플리케이션 아키텍처
      1. 18.1 기능 요구사항 분석
      2. 18.2 인증과 권한 부여 (1/2)
      3. 18.2 인증과 권한 부여 (2/2)
        1. 18.2.1 SSL/TLS
        2. 18.2.2 자격 증명 보안
        3. 18.2.3 자격 증명 해싱
        4. 18.2.4 이중 인증
      4. 18.3 개인 식별 정보와 금융 데이터
      5. 18.4 검색
      6. 18.5 마치며
    3. CHAPTER 19 보안 코드 리뷰
      1. 19.1 코드 리뷰 방법
      2. 19.2 전형적인 취약점과 커스텀 로직 버그
      3. 19.3 보안 리뷰 시작 위치
      4. 19.4 시큐어 코딩 안티패턴
        1. 19.4.1 거부 목록
        2. 19.4.2 보일러플레이트 코드
        3. 19.4.3 퍼미션과 사용자 결합
        4. 19.4.4 클라이언트와 서버 결합
      5. 19.5 마치며
    4. CHAPTER 20 취약점 탐색
      1. 20.1 보안 자동화
        1. 20.1.1 정적 분석
        2. 20.1.2 동적 분석
        3. 20.1.3 취약점 회귀 테스팅
      2. 20.2 ‘책임 있는 공개’ 프로그램
      3. 20.3 버그 바운티
      4. 20.4 서드파티 침투 테스팅
      5. 20.5 마치며
    5. CHAPTER 21 취약점 관리
      1. 21.1 취약점 재현
      2. 21.2 취약점 심각도 순위
      3. 21.3 공통 취약점 등급 시스템 (1/2)
      4. 21.3 공통 취약점 등급 시스템 (2/2)
        1. 21.3.1 CVSS: 기본 점수
        2. 21.3.2 CVSS: 임시 점수
        3. 21.3.3 CVSS: 환경 점수
      5. 21.4 취약점 채점 고도화
      6. 21.5 취약점 분류와 채점 이후
      7. 21.6 마치며
    6. CHAPTER 22 XSS 공격 방어
      1. 22.1 안티 XSS 코딩 모범 사례
      2. 22.2 사용자 입력 정제
        1. 22.2.1 DOMParser 싱크
        2. 22.2.2 SVG 싱크
        3. 22.2.3 블롭 싱크
        4. 22.2.4 하이퍼링크 정제
        5. 22.2.5 HTML 엔티티 인코딩
      3. 22.3 CSS
      4. 22.4 XSS를 방지하기 위한 콘텐츠 보안 정책
        1. 22.4.1 스크립트 소스
        2. 22.4.2 안전하지 않은 평가 및 인라인
        3. 22.4.3 CSP 구현
      5. 22.5 마치며
    7. CHAPTER 23 CSRF 공격 방어
      1. 23.1 헤더 검증
      2. 23.2 CSRF 토큰
        1. 23.2.1 상태 비저장 CSRF 토큰
      3. 23.3 안티 CSRF 코딩 모범 사례
        1. 23.3.1 상태 비저장 GET 요청
        2. 23.3.2 애플리케이션 차원의 CSRF 완화
      4. 23.4 마치며
    8. CHAPTER 24 XXE 방어
      1. 24.1 다른 데이터 포맷 평가
      2. 24.2 고도화된 XXE 위험
      3. 24.3 마치며
    9. CHAPTER 25 인젝션 방어
      1. 25.1 SQL 인젝션 완화
        1. 25.1.1 SQL 인젝션 탐지
        2. 25.1.2 프리페어드 스테이트먼트
        3. 25.1.3 데이터베이스별 방어
      2. 25.2 일반적인 인젝션 방어
        1. 25.2.1 잠재적 인젝션 타깃
        2. 25.2.2 최소 권한 원칙
        3. 25.2.3 명령 허용 목록
      3. 25.3 마치며
    10. CHAPTER 26 DoS 방어
      1. 26.1 정규 표현식 DoS 방어
      2. 26.2 논리 DoS 방어
      3. 26.3 DDoS 방어
        1. 26.3.1 DDoS 완화
      4. 26.4 마치며
    11. CHAPTER 27 서드파티 의존성 보안
      1. 27.1 의존성 트리 평가
        1. 27.1.1 의존성 트리 모델링
        2. 27.1.2 실세계의 의존성 트리
        3. 27.1.3 평가 자동화
      2. 27.2 안전한 통합 기법
        1. 27.2.1 걱정거리를 분리
        2. 27.2.2 패키지를 안전하게 관리
      3. 27.3 마치며
    12. CHAPTER 28 3부를 마치며
      1. 28.1 소프트웨어 보안의 역사
      2. 28.2 웹 애플리케이션 정찰
      3. 28.3 공격
      4. 28.4 방어
  14. 마지막으로
  15. 찾아보기 (1/3)
  16. 찾아보기 (2/3)
  17. 찾아보기 (3/3)

Product information

  • Title: 웹 애플리케이션 보안: 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것
  • Author(s): 최용, 앤드루 호프먼
  • Release date: February 2021
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162247099