장바구니 담기 close

장바구니에 상품을 담았습니다.

웹 애플리케이션 보안 완벽 가이드

웹 애플리케이션 보안 완벽 가이드

  • 토쿠마루히로시
  • |
  • 위키북스
  • |
  • 2019-10-04 출간
  • |
  • 656페이지
  • |
  • 188 X 240 mm
  • |
  • ISBN 9791158391690
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평



★ 이 책에서 다루는 내용 ★

◎ 취약점 설명과 정의
◎ 웹 보안 기초
◎ 기능별 발생 가능한 취약점
◎ 취약점의 원리 및 대응 방법
◎ 취약점으로 인한 영향
◎ 개발 시 고려해야 할 보안 기능
◎ OpenVAS를 이용한 플랫폼 취약점 진단
◎ OWASP ZAP을 이용한 취약점 진단
◎ 취약점 진단을 수행하는 방법
◎ 취약점 진단 보고서를 작성하는 방법
◎ 안전한 웹 애플리케이션 개발을 위한 관리 방법
◎ 네트워크 및 서버를 안전하게 지키는 방법


목차


▣ 01장: 웹 응용 프로그램 취약점이란?
01. 취약점이란 ‘악용 가능한 버그’
02. 왜 취약점이 존재하면 안 되는가?
____경제적 손실
____법적 규제
____사용자가 회복 불가능한 손실을 받을 수 있다
____웹 사이트 사용자에게 신뢰도 하락
____의도하지 않게 공격자가 될 수 있다
03. 취약점이 발생하는 이유
04. 보안 버그와 보안 기능
05. 이 책의 구성
06. 보안 지침과 대응
____소프트웨어 개발 보안 가이드
____OWASP Top10

▣ 02장: 실습 환경 설정
01. 실습 환경 개요
____실습용 가상 시스템 다운로드
____예제 프로그램 라이선스
02. 파이어폭스 설치
03. 버추얼박스 설치
____버추얼박스란?
____버추얼박스 다운로드
04. 가상머신 가져오기 및 동작 확인
____가상 시스템 동작 확인
____가상 시스템 종료 방법
____리눅스 운영
05. OWASP ZAP 설치
____OWASP ZAP이란?
____JRE 설치
____OWASP ZAP 설치
____OWASP ZAP 설정
06. 파이어폭스 확장 기능 FoxyProxy-Standard 설치
07. OWASP ZAP 사용하기
08. 웹 메일 확인
____참고 / 가상머신 데이터 목록

▣ 03장: 웹 보안 기초 - HTTP, 세션 관리, 동일 출처 정책, CORS
01. HTTP와 세션 관리
____왜 HTTP를 공부하는가?
____가장 간단한 HTTP
____입력-확인-등록 형식
____상태 비보존 HTTP 인증
____쿠키 및 세션 관리
____정리
02. 수동적 공격과 동일 출처 정책(Same Origin Policy)
____능동적 공격과 수동적 공격
____브라우저는 어떻게 수동 공격을 막을까
____자바스크립트 이외의 크로스 도메인 접근
____CSS
____정리
03. CORS(Cross-Origin Resource Sharing)
____간단한 요청
____사전 점검 요청
____인증 정보를 포함한 요청

▣ 04장: 웹 응용 프로그램 기능별 보안 버그
01. 웹 응용 프로그램의 기능과 취약점 대응
____취약점은 어디서 발생하는가?
____인젝션 관련 취약점이란?
____정리
02. 입력 처리와 보안
____웹 응용 프로그램에서 ‘입력’은 무슨 역할인가?
____문자 인코딩 검증
____문자 인코딩 변환
____문자 인코딩 검사 및 변환의 예
____입력값 검증
____예제
____정리
____참고: ‘제어 문자 이외’를 표현하는 정규 표현식
03. 표시 처리에 따른 문제
__4.3.1 크로스 사이트 스크립팅(기본편)
____개요
____공격 방법과 영향
____취약점이 발생하는 원인
____대책
____참고: Perl을 이용한 대책 예
__4.3.2 크로스 사이트 스크립팅(응용편)
____href 속성과 src 속성을 사용한 XSS
____자바스크립트 동적 생성
____HTML 태그와 CSS 입력을 허용하는 경우의 대책
__4.3.3 에러 메시지로부터의 정보 유출
____정리
____더 높은 단계로 나아가기 위해
04. SQL 호출에 따른 취약점
__4.4.1 SQL 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
____참고: 자리 표시자를 사용할 수 없는 경우의 대책
____참고: Perl+MySQL의 안전한 연동 방법
____참고: PHP 5.3.5까지 사용할 수 있는 안전한 연동 방법
____참고: Java+MySQL의 안전한 연동 방법
05. ‘중요한 처리’시에 삽입되는 취약점
__4.5.1 크로스 사이트 요청 변조(CSRF)
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.5.2 클릭재킹
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
06. 세션 관리 미비
__4.6.1 세션 하이재킹의 원인과 영향
__4.6.2 추측 가능한 세션 ID
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: 자체 세션 관리 메커니즘과 관련된 다른 취약점
__4.6.3 URL에 삽입된 세션 ID
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.6.4 세션 ID 고정화
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
07. 리다이렉트 처리와 관련된 취약점
__4.7.1 오픈 리다이렉트
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.7.2 HTTP 헤더 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
08. 쿠키 출력과 관련된 취약점
__4.8.1 쿠키의 부적절한 출력
__4.8.2 쿠키의 보안 속성 미흡
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____보안 속성 외 속성값에 대한 주의
____정리
09. 메일 전송 문제
__4.9.1 메일 전송 문제 개요
__4.9.2 메일 헤더 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
10. 파일 접근과 관련된 문제
__4.10.1 디렉터리 탐색
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
__4.10.2 의도하지 않은 파일 노출
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: Apache 웹 서버에서 특정 파일을 숨기는 방법
11 OS 명령 호출 시 발생하는 취약점
__4.11.1 OS 명령어 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: 내부 셸을 호출하는 함수
12. 파일 업로드와 관련된 문제
__4.12.1 파일 업로드 문제 개요
__4.12.2 업로드된 파일을 통한 스크립트 실행
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.12.3 파일 다운로드를 통한 크로스 사이트 스크립팅
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
__4.12.4 PDF의 FormCalc를 통한 콘텐츠 하이재킹
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
13. 포함 기능과 관련된 문제
__4.13.1 파일 포함 공격
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
14. 구조화된 데이터 읽기 관련 문제
__4.14.1 eval 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
__4.14.2 안전하지 않은 역직렬화
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.14.3 XML 외부 개체 참조(XXE)
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
15. 공유 자원 및 캐시와 관련된 문제
__4.15.1 경쟁 상태 취약점
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____참고: 자바 서블릿의 기타 주의 사항
__4.15.2 캐시로부터의 정보 유출
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
16. 웹 API 구현에서 발생할 수 있는 취약점
__4.16.1 JSON과 JSONP 개요
____JSON이란?
____JSONP이란?
__4.16.2 JSON 이스케이프 미흡
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.16.3 JSON 직접 열람에 의한 XSS
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.16.4 JSONP의 콜백 함수 이름을 통한 XSS
____개요
____공격 방법 및 영향
____취약점이 발생한 원인
____대책
__4.16.5 웹 API의 CSRF
____웹 API에 대한 CSRF 공격 경로
____대책
__4.16.6 JSON 하이재킹
____개요
____공격 방법 및 영향
____대책
__4.16.7 JSONP의 부적절한 사용
____JSONP에 의한 비밀 정보 제공
____신뢰할 수 없는 JSONP API 사용
____정리
__4.16.8 CORS 검증 미흡
__4.16.9 보안을 강화하는 응답 헤더
____정리
17. 자바스크립트 문제
__4.17.1 DOM Based XSS
____개요
____취약점이 발생한 원인
____대책
__4.17.2 웹 저장소의 부적절한 사용
____웹 저장소란?
____웹 저장소에 무엇을 저장해야 하는가?
____웹 저장소의 부적절한 사용 예
__4.17.3 postMessage호출의 미비
____postMessage란?
____메시지 송신지의 미확인
____메시지 수신처 미확인
____대책 정리
__4.17.4 오픈 리다이렉트
____취약점이 발생한 원인
____대책
____정리

▣ 05장: 대표적인 보안 기능
01. 인증
__5.1.1 로그인 기능
____로그인 기능에 대한 공격
____로그인 기능이 파손됐을 때의 영향
____부정 로그인을 막기 위해서는
__5.1.2 패스워드 인증을 노리는 공격에 대한 대책
____기본적인 계정 잠금
____패스워드 인증에 대한 공격 종류와 대책
__5.1.3 패스워드 저장 방법
____패스워드 보호의 필요성
____암호화를 통한 패스워드 보호와 해결 과제
____메시지 다이제스트를 통한 패스워드 보호와 과제
__5.1.4 자동 로그인
____안전하지 않은 구현 예
____안전한 자동 로그인 구현 방법
____자동 로그인의 위험을 낮추기 위해
__5.1.5 로그인 폼
__5.1.6 오류 메시지 요건
____ID와 패스워드 어느 쪽이 틀렸는지를 표시하면 안 되는 이유
____ID와 패스워드를 2단계로 나눠 입력하는 사이트 증가
__5.1.7 로그아웃 기능
__5.1.8 인증 기능 정리
02. 계정 관리
__5.2.1 사용자 등록
____메일 주소 수신 확인
____사용자 ID 중복 방지
____사용자 자동 등록에 대한 대처
__5.2.2 패스워드 변경
____현재 패스워드를 확인하는 것
____패스워드 변경 시 메일 알림
____패스워드 변경 기능에서 발생하기 쉬운 취약점
__5.2.3 메일 주소 변경
____메일 주소 변경에 필요한 기능적 대책
__5.2.4 패스워드 초기화
____관리자용 패스워드 초기화 기능
____사용자용 패스워드 초기화 기능
__5.2.5 계정 정지
__5.2.6 계정 삭제
__5.2.7 계정 관리 정리
03. 인가
__5.3.1 인가란?
__5.3.2 인가 미비의 예
____정보가 있는 URL을 알면 인증 없이 정보가 열람 가능
____정보 자원의 ID를 변경하면 권한을 넘어서는 정보를 열람할 수 있음
____권한에 따라 메뉴만 달리 표시하는 경우
____hidden 매개변수나 쿠키에 권한 정보를 보존
____인가 미비 정리
__5.3.3 인가 제어의 요건 정의
__5.3.4 인가 제어의 올바른 정의
__5.3.5 정리
04. 로그 출력
__5.4.1 로그 출력 목적
__5.4.2 로그 종류
____오류 로그
____접근 로그
____디버그 로그
__5.4.3 로그 출력 요건
____로그에 기록해야 할 이벤트
____로그 출력 항목
____로그 보호
____로그를 출력할 곳
____로그 보관 기간
____서버 시간 맞춤
__5.4.4 로그 출력 구현
__5.4.5 정리
____참고 : 접근 로그 요구 가이드라인

▣ 06장: 문자 코드와 보안
01. 문자 코드와 보안 개요
02. 문자 집합
03. 문자 인코딩
04. 문자 코드로 인한 취약점 발생 요인 정리
05. 문자 코드를 올바르게 취급하는 방법
06. 정리

▣ 07장: 취약점 진단 입문
01. 취약점 진단 개요
02. 취약한 응용 프로그램 Bad Todo
____Nmap
03. 진단 도구 다운로드 및 설치
____OpenVAS
____RIPS
04. Nmap을 이용한 포트 스캔
____Nmap 사용해보기
____Nmap 결과를 보는 방법
____OpenVAS 사용해보기
05. OpenVAS을 통한 플랫폼 취약점 진단
____OpenVAS 결과 확인 방법
____OWASP ZAP 설정
06. OWASP ZAP을 이용한 자동 취약점 스캔
____세션 정보 설정
____크롤링
____자동 진단
____진단 결과 확인
____진단 보고서 작성
____진단 후처리
07. OWASP ZAP을 이용한 수동 취약점 진단
____URL 목록표 작성
____진단 작업
____보고서 작성
____진단 후처리
____RIPS 사용해보기
08. RIPS를 사용한 소스코드 진단
09. 취약점 진단 실시를 할 때 주의할 점
10. 정리
11. 취약점 진단 보고서 예제
__7.11.1 XML 외부 엔티티 참조(XXE)
__7.11.2 크로스 사이트 스크립팅(XSS)

▣ 08장: 웹 사이트의 안전성을 높이기 위해
01. 웹 서버에 대한 공격 경로 및 대책
__8.1.1 기반 소프트웨어 취약점을 노린 공격
__8.1.2 무단 로그인
__8.1.3 대책
____적절한 서버 기반을 선정
____불필요한 소프트웨어는 사용하지 않음
____취약점 대처는 실시간으로 수행
____공개할 필요가 없는 포트나 서비스는 접근을 제한
____인증 강도를 높임
02. 피싱 사이트 대책
__8.2.1 네트워크를 통한 피싱 사이트 수법
____DNS에 대한 공격
____ARP 스푸핑
__8.2.2 피싱
__8.2.3 가짜 웹 사이트 대책
____네트워크적인 대책
____TLS 도입
____확인하기 쉬운 도메인명 사용
03. 도청, 변조 대책
__8.3.1 도청, 변조 경로
__8.3.2 중간자 공격
____OWASP ZAP을 이용한 중간자 공격 실습
____OWASP ZAP 루트 인증서 설치
__8.3.3 대책
____TLS 이용 시 주의할 점
04. 악성코드 대책
__8.4.1 웹 사이트 악성코드 대책이란?
__8.4.2 악성코드 감염 경로
__8.4.3 웹 서버 악성코드 대책 개요
__8.4.4 웹 서버에 악성코드가 들어오지 않게 하기 위한 대책
____악성코드 방지 대책 여부 검토
____정책을 정하고 사용자에게 고지
____백신 소프트웨어를 이용한 대처
05. 정리

▣ 09장: 안전한 웹 응용 프로그램을 위한 개발 관리
01. 개발 관리에 따른 보안 대책의 전체 모습
02. 개발 체제
03. 개발 프로세스
__9.3.1 기획 단계에서의 유의점
__9.3.2 발주할 때의 유의점
__9.3.3 요건 정의를 할 때 유의할 점
__9.3.4 기본 설계 진행 방식
__9.3.5 상세 설계, 프로그래밍시 유의점
__9.3.6 보안 테스트의 중요성 및 방법
__9.3.7 수주자측 테스트
__9.3.8 개발자 쪽에서의 테스트(검수)
__9.3.9 운영 단계에서의 유의점
__9.3.10 애자일 개발 프로세스에 적용
04. 정리

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.