• 취약점 진단 스타트 가이드
  • 웹 보안 담당자를 위한

  • 우에노 센 지음
  • 양현 옮김

  • 해킹 & 보안 시리즈_009
  • ISBN: 9791158390556
  • 25,000원 | 2017년 02월 27일 발행 | 312쪽



『웹 보안 담당자를 위한 취약점 진단 스타트 가이드』는 취약점 진단을 시작하고 싶은 사람들을 위해 보안 전문가인 저자가 취약점 진단을 위한 기초 지식과 기술을 친절하게 해설 한 입문서이다. 이 책에서는 웹 응용프로그램 취약점 진단을 수행하기 위해 필요한 기초 지식, 진단에 필요한 도구, 취약점을 효율적으로 발견하기 위한 진단 절차, 보고서를 작성하는 법 등을 다룬다.

취약점 분석 기술을 습득함으로써 보안을 객관적으로 판단할 수 있는 능력을 갖출 수 있으므로 웹 응용프로그램의 취약점 진단 기술을 공부하고 싶은 학생뿐만 아니라 웹 응용프로그램 개발자, 외주로 시스템을 도입해 검사를 수행해야 하는 담당자, 보안에 관심 있는 관리자와 경영자에게도 많은 도움이 될 것이다.

『웹 보안 담당자를 위한 취약점 진단 스타트 가이드』는 웹 응용프로그램의 취약점 확인을 하기 위한 해설서다. 웹 응용프로그램은 사용자의 개인정보나 상품 정보와 같은 중요한 정보를 취급한다. 웹 응용프로그램의 개발자가 보안에 자신이 있다고 해도 개발자의 사소한 실수로 인해 웹 응용프로그램의 침입이나 변조가 발생해 개인정보가 노출될 수 있다.

이 책에서는 웹 응용프로그램 개발 후 보안을 확인하기 위한 취약점 진단에 대해 다루고 있다. 취약점 진단을 수행할 때 가장 일반적으로 사용되는 OWASP ZAP와 Burp Suite를 사용해 개발자나 보안 담당자가 보안에 문제가 있는지 검토할 수 있다.

이 책의 앞부분에서는 웹 응용프로그램이 어떤 방법으로 통신하고, 어떻게 취약점이 발생하는지 등 진단에 필요한 기본적인 지식을 다룬다. 뒷부분에서는 실제로 취약점이 존재하는 BAD STORE라는 웹 응용프로그램을 가상 머신에 설치해 취약점 진단을 실제로 수행해 본다. OWASP ZAP을 사용해 통신 경로 등을 진단하는 방법과 수동으로 검색 기능 등에 매개변수를 삽입해 진단하는 방법 등 다양한 방법을 설명한다. 또한 취약점 진단을 수행할 때 편리한 취약점 체크리스트도 함께 제공한다.

우에노 센 (上野宣)

주식회사 트라이코더의 대표이사. 나라 첨단과학기술대학원에서 정보 보안을 전공하고 e커머스 개발 벤처로 도쿄 증권 거래소 마더스 상장을 경험하고 2006년 주식회사 트라이코드를 설립. 기업과 관공서 등에 사이버 보안 교육 및 훈련, 플랫폼/웹 응용프로그램 취약점 진단 서비스를 제공. OWASP Japan 챕터 리더, 정보 보안 전문지 'ScanNet Security' 편집장, Hardening 프로젝트 실행위원, JNSA ISOG-JWG1 리더, SECCON 실행위원, 보안 캠프 주임강사, 독립 행정법인 정보처리 추진기구 보안 센터 연구원 등을 역임.

양현

경희대학교 지리학과를 졸업하고 웹 개발자로 근무하다 보안 업무에 뛰어들었다. SK인포섹에서 소스 취약점 분석, 모의해킹, 서버 취약점 분석 업무로 본격적인 보안 실무 경험을 쌓고, 일본 NHN-Techorus에서 앱(웹/모바일) 진단 및 교육을 담당하고 있다. 번역한 책으로는 『CTF 정보보안 콘테스트 챌린지 북』 『알기 쉽게 설명한 VMware NSX』 『리눅스 서버 보안』이 있다.

  • ▣ 01장: 취약점 진단이란
    • 1-1 취약점이란 '취약점을 발견하기 위한 테스트 방법’
      • 취약점이란
    • 1-2 이 책의 취약점 진단 대상과 웹사이트 취약점 대응
      • 취약점 진단 대상
      • 플랫폼 취약점 대응
      • 웹 응용프로그램 취약점 대응
      • 이 책의 취약점 진단 대상
    • 1-3 취약점 진단자에게 필요한 지식과 기술
      • 취약점 진단자 스킬 맵(Skill Map)
      • 보안 이외에 취약점 진단자에게 요구되는 지식
    • 1-4 취약점 진단자에게 요구되는 윤리관
    •  
  • ▣ 02장: 진단에 필요한 HTTP 기본 지식
    • 2-1 HTTP란
      • 웹을 구성하는 3개의 기술
      • HTTP 버전
    • 2-2 TCP/IP는 프로토콜 집합
      • TCP/IP와 HTTP의 관계
      • TCP/IP의 통신 흐름
    • 2-3 HTTP와 깊게 연관된 프로토콜 - IP / TCP / DNS
      • 전송을 담당하는 IP
      • 신뢰성을 담당하는 TCP
      • 이름 변환을 담당하는 DNS
      • IP / TCP / DNS와 HTTP의 관계
    • 2-4 URL과 URI
      • URI는 자원 식별자
      • URI 형식
      • 퍼센트 인코딩
    • 2-5 단순 프로토콜 HTTP
      • HTTP는 클라이언트와 서버 간 통신을 수행
      • 통신은 요청(Request)과 응답(Response)의 교환
      • HTTP 메시지 구조
      • 요청 메시지와 응답 메시지 구조
      • 요청 URI로 자원 식별하기
      • 메서드로 서버에 명령 내리기
      • GET과 POST
      • 결과를 알려주는 HTTP 상태 코드(Status Code)
      • HTTP는 상태를 보존하지 않는 프로토콜
    •  
  • ▣ 03장: 웹 응용프로그램의 취약점
    • 3-1 웹 프로그램 공격이란
      • HTTP에는 필요한 보안 기능이 없다
      • 웹 프로그램 공격
      • 웹 프로그램 공격 패턴
      • 이 책이 대상으로 하는 웹 프로그램 취약점
    • 3-2 웹 프로그램 취약점
      • SQL 인젝션
      • Command 인젝션
      • CRLF 인젝션
      • 크로스 사이트 스크립트(XSS)
    • 3-2 웹 프로그램 취약점
      • 인증
      • 인증 우회
      • 로그아웃 기능 미비 또는 미구현
      • 과도한 로그인 시도에 대한 대책 미비 또는 누락
      • 취약한 패스워드 정책
      • 복호화 가능한 패스워드 저장
      • 패스워드 초기화 기능 미비
    • 3-4 접근제어 기능 미비 또는 누락- 웹 프로그램 취약점
      • 접근제어 기능 미비 또는 누락
      • 권한 상승
      • 강제 브라우징
      • 매개변수 조작을 통한 기능 사용
    • 3-5 세션 관리 미비 - 웹 프로그램 취약점
      • 세션 관리 미비
      • 세션 고정
      • 사이트 간 요청 변조(CSRF)
      • 쿠키에 HttpOnly 속성 미설정
      • 추측 가능한 세션 ID
    • 3-6 정보 노출 - 웹 프로그램 취약점
      • 정보 노출
      • 매개변수를 통한 정보 노출
      • 캐시로부터의 정보 노출
      • 패스워드 필드의 마스킹 미흡
      • 에러 메시지를 통한 정보 노출
      • 민감 정보 표시
      • HTTPS를 사용할 때 secure 속성 없이 구성된 쿠키정보
      • 민감 정보의 평문 저장
      • 부적절한 HTTPS 사용
      • 불필요한 정보 저장
    • 3-7 기타 - 웹 프로그램 취약점
      • 경로 탐색
      • 오픈 리다이렉트
      • 원격 파일 참조(RFI)
      • 클릭재킹
    •  
  • ▣ 04장: 취약점 진단 흐름
    • 4-1 진단 업무의 흐름
      • 진단 업무의 흐름
    • 4-2 진단 수행 사전 준비
      • 진단 수행 사전 준비
    • 4-3 취약점 진단 수행 절차
      • 취약점 진단 수행 절차
      • 자동 진단 도구를 통한 진단
      • 수동 진단 보조 도구를 통한 진단
    •  
  • ▣ 05장: 실습 환경 준비
    • 5-1 진단 도구 준비
      • 웹 프로그램 취약점 진단 도구
      • 자바 환경(JDK) 설정
      • OWASP ZAP 설치
      • Burp Suite 설치
    • 5-2 진단을 위한 웹 브라우저 설정
      • 파이어폭스 설정
      • 프록시 및 인증서 설정
    • 5-3 실습 환경 설정
      • 실습 환경에 대해
      • BadStore 설치
    • 5-4 실제 진단에서의 주의사항
      • 진단에 필요한 준비
      • 진단 도구 설정을 할 때 주의점
    •  
  • ▣ 06장: 자동 진단 도구를 통한 취약점 진단 수행
    • 6-1 자동 취약점 도구를 사용한 취약점 진단 수행 절차
    • 6-2 OWASP ZAP 기본 조작
      • OWASP ZAP 기본 조작
      • 요청과 응답의 기록 및 확인
    • 6-3 OWASP ZAP에 진단 대상 기록
      • OWASP ZAP에 진단 대상 기록
    • 6-4 WASP ZAP에서 진단 실행
      • 동적 스캔의 실행 및 확인
      • 보고서 생성
      • OWASP ZAP이 찾아낼 수 있는 취약점
    •  
  • ▣ 07장: 수동 진단 보조 도구를 통한 취약점 진단 수행
    • 7-1 수동 진단 보조 도구를 사용한 취약점 진단 실시 절차
    • 7-2 웹 프로그램 취약점 진단 방법
      • 진단 방법과 기준
    • 7-3 Burp Suite 기본 조작
      • Burp Suite 기본 조작
      • 요청과 응답 기록
      • 범위 등록
    • 7-4 진단 리스트 작성
      • 진단 리스트 개요
      • 진단 리스트 작성
    • 7-5 Burp Suite의 각종 기능 사용 방법
      • 요청 재전송(Repeater)
      • 요청 연속 전송(Intruder)
      • 세션 관리 보조 기능
    • 7-6 Burp Suite를 사용한 취약점 진단
      • 매개변수 값에 탐지 패턴 삽입
      • 응답 메시지를 확인
    • 7-7 Burp Suite를 사용한 취약점 진단
      • 정형적인 탐지 패턴 이외의 취약점 진단
      • Google Hacking Database(GHDB)
    •  
  • ▣ 08장: 진단 보고서 작성
    • 8-1진단 보고서 기재사항
      • 진단 보고서에 대해
      • 진단 보고서 기재사항
    • 8-2 종합 평가 및 개별 취약점 보고
      • 종합평가
      • 개별 취약점 보고
    • 8-3 위험 평가
      • 공통 취약점 평가 시스템 CVSS v3
    •  
  • ▣ 09장: 관계 법령 및 가이드라인
    • 9-1 취약점 진단과 관련된 법률, 규칙, 기준 등
      • 취약점 진단에 관련된 법률 및 처벌
      • S/W 신규 취약점 신고 포상제
      • 보안에 관한 기준
    •  
  • ▣ 부록: 실습 환경 구축(Oracle VM VirtualBox)

관련 글


엮인 글

엮인 글 주소: http://wikibook.co.kr/web-security/trackback/