HOME > 상세정보

상세정보

웹 애플리케이션 보안 완벽 가이드 : 체계적으로 배우는 안전한 웹 애플리케이션 제작 기법 (3회 대출)

자료유형
단행본
개인저자
德丸浩 양현, 역 김민호, 역 연구흠, 역
서명 / 저자사항
웹 애플리케이션 보안 완벽 가이드 : 체계적으로 배우는 안전한 웹 애플리케이션 제작 기법 / 토쿠마루 히로시 지음 ; 양현, 김민호, 연구흠 옮김
발행사항
파주 :   위키북스,   2019  
형태사항
xx, 636 p. : 삽화 ; 25 cm
총서사항
위키북스 해킹 & 보안 시리즈 ;020
원표제
體系的に学ぶ安全なWebアプリケ-ションの作り方 : 脆弱性が生まれる原理と対策の実践
ISBN
9791158391690
일반주기
색인수록  
000 00000nam c2200205 c 4500
001 000046002068
005 20191015091240
007 ta
008 191014s2019 ggka 001c kor
020 ▼a 9791158391690 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h jpn
082 0 4 ▼a 005.8 ▼2 23
085 ▼a 005.8 ▼2 DDCK
090 ▼a 005.8 ▼b 2019z4
100 1 ▼a 德丸浩
245 1 0 ▼a 웹 애플리케이션 보안 완벽 가이드 : ▼b 체계적으로 배우는 안전한 웹 애플리케이션 제작 기법 / ▼d 토쿠마루 히로시 지음 ; ▼e 양현, ▼e 김민호, ▼e 연구흠 옮김
246 1 9 ▼a 體系的に学ぶ安全なWebアプリケ-ションの作り方 : ▼b 脆弱性が生まれる原理と対策の実践
246 3 ▼a Taikeiteki ni manabu anzen na uebu apurikeshon no tsukurikata : ▼b zeijakusei ga umareru genri to taisaku no jissen
260 ▼a 파주 : ▼b 위키북스, ▼c 2019
300 ▼a xx, 636 p. : ▼b 삽화 ; ▼c 25 cm
440 0 0 ▼a 위키북스 해킹 & 보안 시리즈 ; ▼v 020
500 ▼a 색인수록
700 1 ▼a 양현, ▼e
700 1 ▼a 김민호, ▼e
700 1 ▼a 연구흠, ▼e
900 1 0 ▼a 토쿠마루 히로시, ▼e
900 1 0 ▼a Tokumaru, Hiroshi, ▼e
945 ▼a KLPA
949 ▼a 위키북스 해킹 and 보안 시리즈 ; ▼v 020

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.8 2019z4 등록번호 111816270 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2019z4 등록번호 121251082 도서상태 대출중 반납예정일 2021-08-20 예약 예약가능 R 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.8 2019z4 등록번호 111816270 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2019z4 등록번호 121251082 도서상태 대출중 반납예정일 2021-08-20 예약 예약가능 R 서비스 M

컨텐츠정보

책소개

《웹 애플리케이션 보안 완벽 가이드》는 취약점을 최소화하기 위한 다양한 방법을 소개한다. 이 책에서는 PHP를 사용하지만 웹의 기본을 다루고 있어 다른 언어에서도 충분히 적용할 수 있는 내용을 다룬다. PHP를 바탕으로 취약점을 소개하고, 취약점으로 발생할 수 있는 위협, 취약점을 없애기 위해 어떻게 개발해야 할지 예제 코드와 함께 상세하게 설명한다.

《웹 애플리케이션 보안 완벽 가이드》는 취약점을 최소화하기 위한 다양한 방법을 소개한다. 이 책에서는 PHP를 사용하지만 웹의 기본을 다루고 있어 다른 언어에서도 충분히 적용할 수 있는 내용을 다룬다. 4장까지는 PHP를 바탕으로 취약점을 소개하고, 취약점으로 발생할 수 있는 위협, 취약점을 없애기 위해 어떻게 개발해야 할지 예제 코드와 함께 상세하게 설명한다. 책에서 다루는 소스코드는 책과 함께 제공하는 가상 머신에도 포함돼 있으므로 책을 보면서 곧바로 실습을 진행할 수 있다. 5장 이후로는 개발 전 기획 단계에서 고려해야 할 기본적인 보안 기능과 직접 보안 진단을 하기 위한 방법들을 심도 있게 설명한다.

이 책은 웹 개발자뿐 아니라 보안 업계에 종사하는 웹 취약점 진단자에게도 유용한 내용이 수록돼 있어 진단 실무자에게도 유용할 것이다.

★ 이 책에서 다루는 내용 ★

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


정보제공 : Aladin

저자소개

토쿠마루 히로시(지은이)

1985년 쿄세라 주식회사에 입사한 뒤 소프트웨어 개발, 기획에 종사. 1999년에 휴대전화용 인증 과금 기반 방식 설계 담당을 맡은 것을 계기로 보안에 흥미를 가지게 됐다. 2004년 이 분야를 사업화해 2008년 독립. 취약점 진단 및 컨설팅 업무를 하며 블로그와 스터디를 통해 보안 계몽 활동을 하고 있다. EG 시큐리티 솔루션즈 주식회사 대표이자 OWASP Japan 자문위원회, 독립행정법인 정보처리추진기구(IPA) 비상근연구원. 트위터 ID는 @ockeghem

김민호(옮긴이)

현재 일본 DMM.com의 보안 부서에서 근무하고 있다. 보안 이벤트 분석 및 패킷 포렌직을 주요 업무로 하고 있으며 주기적으로 회사 내에서 보안 강의를 진행하고 있다. 번역한 책으로는 『웹 애플리케이션 보안 완벽 가이드』 『CTF 정보보안 콘테스트 챌린지 북』 『취약점 진단 스타트 가이드』가 있다.

연구흠(옮긴이)

고등학교 시절 우연히 접하게 된 클리퍼 4.0을 시작으로 현재 15년차 개발자로 근무하고 있다. PHP를 시작으로 Perl, ASP, JAVA, Javascript, Android 등을 다루며, Python과 Go 언어를 공부하고 있다. 새로운 기술 습득과 보안 관련 분야에 관심이 많으며, '없으면 만든다'라는 모토로 집에서도 취미로 개발을 할 만큼 코딩하는 것을 좋아한다. 최근 이직한 블록체인 업체에서 다양한 블록체인 기반의 프로젝트를 수행 중이며, 현재 블록체인 개발자 양성과정에서 멘토로도 활동 중이다. 본서에서는 환경 구축에 대한 부분을 검증했다.

양현(옮긴이)

게임 필자에서 개발자로 전직하고, 개발자에서 다시 보안 엔지니어로 전직한 10년차 보안 엔지니어. 잠시 재직했던 회사가 언제나 중국발 해킹 공격에 당하는 것을 보고 스스로 막아보고자 보안에 뛰어들었다. SK인포섹에서 소스 취약점 분석, 모의해킹, 서버 취약점 분석 업무로 본격적인 보안 실무 경험을 쌓고, NHN JAPAN을 거쳐 현재 DMM.com 보안 엔지니어링 매니저로 근무하고 있다.

정보제공 : Aladin

목차

▣ 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. 정리

관련분야 신착자료