이미 소장하고 있다면 판매해 보세요.
|
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. 정리 |
양현의 다른 상품
김민호의 다른 상품
연구흠의 다른 상품
|
이 책에서 다루는 내용
· 취약점 설명과 정의 · 웹 보안 기초 · 기능별 발생 가능한 취약점 · 취약점의 원리 및 대응 방법 · 취약점으로 인한 영향 · 개발 시 고려해야 할 보안 기능 · OpenVAS를 이용한 플랫폼 취약점 진단 · OWASP ZAP을 이용한 취약점 진단 · 취약점 진단을 수행하는 방법 · 취약점 진단 보고서를 작성하는 방법 · 안전한 웹 애플리케이션 개발을 위한 관리 방법 · 네트워크 및 서버를 안전하게 지키는 방법 |