책 소개
▣ 출판사서평
『웹 보안 담당자를 위한 취약점 진단 스타트 가이드』는 웹 응용프로그램의 취약점 확인을 하기 위한 해설서다. 웹 응용프로그램은 사용자의 개인정보나 상품 정보와 같은 중요한 정보를 취급한다. 웹 응용프로그램의 개발자가 보안에 자신이 있다고 해도 개발자의 사소한 실수로 인해 웹 응용프로그램의 침입이나 변조가 발생해 개인정보가 노출될 수 있다.
이 책에서는 웹 응용프로그램 개발 후 보안을 확인하기 위한 취약점 진단에 대해 다루고 있다. 취약점 진단을 수행할 때 가장 일반적으로 사용되는 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)
『웹 보안 담당자를 위한 취약점 진단 스타트 가이드』는 웹 응용프로그램의 취약점 확인을 하기 위한 해설서다. 웹 응용프로그램은 사용자의 개인정보나 상품 정보와 같은 중요한 정보를 취급한다. 웹 응용프로그램의 개발자가 보안에 자신이 있다고 해도 개발자의 사소한 실수로 인해 웹 응용프로그램의 침입이나 변조가 발생해 개인정보가 노출될 수 있다.
이 책에서는 웹 응용프로그램 개발 후 보안을 확인하기 위한 취약점 진단에 대해 다루고 있다. 취약점 진단을 수행할 때 가장 일반적으로 사용되는 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)
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |