HOME > Detail View

Detail View

ModSecurity를 활용한 웹 애플리케이션 방어 레시피

ModSecurity를 활용한 웹 애플리케이션 방어 레시피 (Loan 2 times)

Material type
단행본
Personal Author
Barnett, Ryan C. 천민욱, 역
Title Statement
ModSecurity를 활용한 웹 애플리케이션 방어 레시피 / 라이언 바넷 지음 ; 천민욱 옮김
Publication, Distribution, etc
서울 :   에이콘,   2016  
Physical Medium
698 p. : 삽화 ; 24 cm
Series Statement
에이콘 해킹·보안 시리즈 = Hacking security series
Varied Title
The web application defender's cookbook : battling hackers and protecting users
ISBN
9788960779266 9788960771048 (Set)
General Note
색인수록  
Subject Added Entry-Topical Term
Computer security Web applications --Security measures Computer networks --Security measures
000 00000nam c2200205 c 4500
001 000045889986
005 20161206175243
007 ta
008 161206s2016 ulka 001c kor
020 ▼a 9788960779266 ▼g 94000
020 1 ▼a 9788960771048 (Set)
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.8 ▼2 23
085 ▼a 005.8 ▼2 DDCK
090 ▼a 005.8 ▼b 2016z17
100 1 ▼a Barnett, Ryan C. ▼0 AUTH(211009)126174
245 1 0 ▼a ModSecurity를 활용한 웹 애플리케이션 방어 레시피 / ▼d 라이언 바넷 지음 ; ▼e 천민욱 옮김
246 1 9 ▼a The web application defender's cookbook : ▼b battling hackers and protecting users
246 3 9 ▼a Web application defender's cookbook
260 ▼a 서울 : ▼b 에이콘, ▼c 2016
300 ▼a 698 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 에이콘 해킹·보안 시리즈 = ▼x Hacking security series
500 ▼a 색인수록
650 0 ▼a Computer security
650 0 ▼a Web applications ▼x Security measures
650 0 ▼a Computer networks ▼x Security measures
700 1 ▼a 천민욱, ▼e▼0 AUTH(211009)96299
900 1 0 ▼a 바넷, 라이언, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 005.8 2016z17 Accession No. 111764480 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

에이콘 해킹 보안 시리즈. 이 책은 계속해서 진화하는 오픈소스 기반 웹 애플리케이션 방화벽(WAF)인 ModSecurity 를 활용해 현재의 방어 수준을 점검하고 개선할 수 있는 방안을 소개한다. 수년간 실무를 통해 접한 사례를 레시피 형태로 구성해 실제 업무에 즉각적으로 활용할 수 있도록 한다.

사고 대응을 위한 전체(Full) HTTP 감사 구현, 식별된 취약점을 완화하기 위한 가상 패치 프로세스 활용, 악성 사용자를 식별하기 위한 허니트랩 배포, 사용자가 비정상적으로 행동하는 경우 탐지, 업로드된 파일 및 웹 콘텐츠 악성코드 분석, 웹 애플리케이션이 민감한 사용자 또는 기술 정보를 유출하는 경우 인식, 공격에 대한 다양한 수준의 대응 등을 다루고 있다.

★ 요약 ★

한 기업의 보안담당자로서 “우리 회사의 웹사이트는 적절하게 보호되고 있는가?”라는 질문에 어떻게 답할 수 있을까? 이 책은 계속해서 진화하는 오픈소스 기반 웹 애플리케이션 방화벽(WAF)인 ModSecurity 를 활용해 현재의 방어 수준을 점검하고 개선할 수 있는 방안을 소개한다. 수년간 실무를 통해 접한 사례를 레시피 형태로 구성해 실제 업무에 즉각적으로 활용할 수 있도록 한다.

★ 이 책에서 다루는 내용 ★

■ 사고 대응을 위한 전체(Full) HTTP 감사 구현
■ 식별된 취약점을 완화하기 위한 가상 패치 프로세스 활용
■ 악성 사용자를 식별하기 위한 허니트랩 배포
■ 사용자가 비정상적으로 행동하는 경우 탐지
■ 업로드된 파일 및 웹 콘텐츠 악성코드 분석
■ 웹 애플리케이션이 민감한 사용자 또는 기술 정보를 유출하는 경우 인식
■ 공격에 대한 다양한 수준의 대응

★ 이 책의 대상 독자 ★

이 책의 대상 독자는 웹 애플리케이션 방어자다. 여기서 방어자(defender)라는 용어는 실제 웹 애플리케이션을 공격으로부터 보호해야 하는 책임을 지닌 사람을 의미한다. 이들은 웹 애플리케이션을 만들지 않았지만 실제 네트워크에서 애플리케이션 관리를 책임진다. 웹 애플리케이션 방어자는 웹 애플리케이션의 전반적인 보안 상태에 기여하는 세 개의 중요 커뮤니티 중 하나다. 다른 두 개는 빌더(builder)와 브레이커(breaker)다. 빌더는 웹 애플리케이션의 실제 소스 코드와 기능을 담당하고 있는 개발 팀이다. 그들은 애플리케이션의 초기 생성자며, 향후의 기능 개선 및 유지 보수를 책임진다. 반면 브레이커는 소스 코드를 검토하고 실제 웹 애플리케이션을 공격하면서 애플리케이션을 평가하는 정보 보안 팀이다. 세 커뮤니티 모두 웹 애플리케이션의 전반적인 보안에 기여하고 있지만, 이 책은 전적으로 방어자가 지정된 임무를 수행하도록 돕는 데 초점을 맞추고 있다.

★ 이 책의 구성 ★

1부. 전투 공간 준비
이 책은 언젠가 발생할 공격을 위해 웹 애플리케이션 플랫폼을 준비하는 개념을 소개하며 시작한다. 이 부에서 다루는 레시피는 새로운 애플리케이션이 프로덕션 단계에 들어가기 직전 또는 들어간 직후에 완료해야 한다.
1장, ‘애플리케이션 요새화’에서는 공격 인식, 가시성 확보, 웹 트랜잭션에 대한 적절한 감사 로그 수행을 구현하기 위해 수행해야 할 초기 단계를 나열한다. 또한 여러분의 조직을 위해 공유된 공격 정보를 사용하고자 중앙 데이터 스토리지를 구현하는 방법을 배울 수 있다.
2장, ‘취약점 식별 및 완화’에서는 웹 애플리케이션 내에서 사전에 취약점을 식별하기 위한 중요한 방법을 설명한다. 이러한 취약점들이 식별된 후 가상 패치라고 알려진 절차를 통해 완화하는 방법을 배울 수 있다.
3장, ‘독을 품은 폰(해커 트랩)’에서는 악성 클라이언트를 빠르고 정확하게 식별하는 데 도움을 주고자 웹 애플리케이션에 부비트랩을 설치하는 다양한 방법을 설명한다.

2부. 비대칭 전력
애플리케이션이 프로덕션 네트워크에 배치돼 실제 사용자에게 노출된 후에는 이 부에서 소개하는 레시피들을 활용할 수 있다. 모든 레시피는 악성 행위에 대한 웹 트랜잭션을 분석하는 내용을 다룬다.
4장, ‘평판 및 타사 상관관계’에서는 알려진 악성 소스를 식별하고 접근을 제한하기 위해 타사 지리 데이터와 IP 주소 블랙리스트를 활용하는 방법을 보여준다.
5장, ‘요청 데이터 분석’에서는 데이터 획득, 정규화, 인바운드 HTTP 요청 분석을 위한 다양한 방법을 보여준다. 또한 비정상적인 요청 구조를 나타내는 일반적인 요청 이상 징후를 식별하는 방법도 설명한다.
6장, ‘응답 데이터 분석’에서는 5장과 유사한 기술을 보여주지만, 이번에는 HTTP 응답 데이터를 검사한다. 이 레시피에서 찾아낸 이상 징후들은 종종 애플리케이션 오류와 성공적인 애플리케이션 공격을 나타낸다.
7장, ‘인증 방어’에서는 사용자 계정을 열거하기 위한 무차별 대입 공격을 식별하고, 성공하거나 실패한 인증 시도를 추적하고, 사용자 애플리케이션을 추적하는 방법을 소개한다.
8장, ‘세션 상태 방어’에서는 애플리케이션 세션 관리와 관련된 보안 문제를 해결한다. 쿠키 변조와 세션 하이재킹 등의 공격을 설명한다.
9장, ‘애플리케이션 공격 방지’에서는 웹 애플리케이션 내에서 사용자의 입력 값을 어떠한 유효성 검증 없이 받아들이는 경우에 나타날 수 있는 문제점을 강조한다. SQL 인젝션, 원격 파일 포함, OS 명령 등의 공격에 대한 보호 정보를 제공한다.
10장, ‘클라이언트 공격 방지’에서는 크로스 사이트 스크립트, 사이트 간 요청 변조, 클릭 재킹과 같은 다양한 공격으로부터 웹 애플리케이션이 아닌 사용자를 보호하는 방법에 초점을 맞춘다. 또한 Zeus와 같은 뱅킹 트로이 목마에 대한 최첨단의 보안을 강조한다. 게다가 여러분의 웹 애플리케이션과 브라우저가 보안 정책에 협력할 수 있는 방법을 보여준다.
11장, ‘파일 업로드 방어’에서는 사용자가 여러분의 웹 애플리케이션에 파일을 업로드하도록 허용하는 것은 공격자가 악성코드를 사이트에 삽입할 수 있는 명백한 창을 제공하는 것임을 설명한다. 이 레시피들은 악성 데이터를 차단하기 위해 파일 첨부 업로드를 어떻게 분석하는지 보여준다.
12장, ‘접속률 및 애플리케이션 흐름 수행’에서는 비정상 요청률, 애플리케이션 흐름, 사용률 이상 징후를 식별하기 위해 다수의 클라이언트 요청으로부터 속성을 연관시키는 방법을 보여준다.

3부. 전술적 응답
여러분의 웹 애플리케이션 내에서 이뤄지는 악성 행위를 식별하고 나서 마주치는 논리적 질문은 ‘어떤 작업을 수행할 것인가’다. 이 책의 마지막 부에서는 서로 다른 응답 옵션을 잘 활용하는 방법을 강조한다.
13장, ‘수동적인 응답 액션’에서는 내부 로깅을 증가시키는 것과 같이 최종 사용자가 감지할 수 없는 다양한 애플리케이션 변화를 보여준다.
14장, ‘능동적인 응답 액션’에서는 트랜잭션 또는 최종 사용자에 대해 사용될 수 있는 좀 더 공격적인 방해 행동을 설명한다. 이는 연결을 드롭하거나 소스 IP를 일시적으로 블랙리스트 처리하거나 애플리케이션 사용자를 강제적으로 로그아웃시키는 것을 포함한다.
15장, ‘침입 응답 액션’에서는 기능을 검증하고 추가적인 소스 정보를 열거하기 위해 클라이언트 웹 브라우저 내의 정보를 검사하는 침입 방법을 설명한다.


Information Provided By: : Aladin

Author Introduction

라이언 바넷(지은이)

독보적인 전문 지식으로 웹 애플리케이션 보안 산업에서 명성을 떨치고 있다. 10년간 정부 기관 및 비즈니스 웹사이트를 방어하며 경험을 쌓은 후 트러스트웨이브 스파이더랩스(Trustwave SpiderLabs) 연구 팀에 합류했다. 주로 애플리케이션 방어에 대해 연구하고 있으며 오픈소스 웹 애플리케이션 방화벽 프로젝트인 ModSecurity를 이끌고 있다. 트러스트웨이브에서 근무할 뿐 아니라 커뮤니티 기반의 많은 보안 프로젝트에도 참여해 적극적으로 기여하고 있다. 오픈 웹 애플리케이션 보안 프로젝트(OWASP, Open Web Application Security Project)의 ModSecurity CRS(Core Rule Set) 프로젝트를 이끌고 있으며 OWASP의 Top 10 및 AppSensor 프로젝트에도 기여하고 있다. 또한 웹 애플리케이션 보안 컨소시엄의 이사회 위원이며, 웹 해킹 사고 데이터베이스 및 웹 허니팟 프로젝트를 이끌고 있다. SANS 연구소에서는 인증된 강사 자격을 보유하고 있으며 Top 20 취약점 및 CWE/SANS Top 25 가장 위험한 프로그래밍 오류 프로젝트에도 기여하고 있다. 새로운 웹 애플리케이션 공격, 동향, 방어 기술에 대한 분석 및 통찰력을 요구하는 뉴스 미디어에 정기적으로 출연하고 있다. 또한 블랙 햇(Black Hat), SANS 앱섹 써밋(SANS AppSec Summit), OWASP 앱섹유에스에이(OWASP AppSecUSA)를 포함한 주요 산업 이벤트에서 종종 발표하고 교육을 담당한다.

천민욱(옮긴이)

소프트웨어 개발 업무에서 축적한 경험을 바탕으로 현재 보안 소프트웨어 회사에서 엔터프라이즈 고객들을 대상으로 프리미엄 기술 지원 및 컨설팅 업무를 수행하고 있다. 리눅스, 웹, 파이썬을 좋아하며, 매일 점심으로 무엇을 먹을지 고민하는 평범한 엔지니어다.

Information Provided By: : Aladin

Table of Contents

1부. 전쟁 공간 준비 

1장. 애플리케이션 요새화 
__레시피 1-1: 실시간 애플리케이션 프로파일링 
__레시피 1-2: 암호화 해시 토큰을 이용해 데이터 조작 방지 
__레시피 1-3: OWASP ModSecurity CRS 설치 
__레시피 1-4: 침입 탐지 시스템(IDS)의 시그니처와 통합 
__레시피 1-5: 베이지안(Bayesian) 공격 페이로드 탐지 사용 
__레시피 1-6: 전체 HTTP 감사 로깅을 활성화 
__레시피 1-7: 관련된 트랜잭션만 로깅 
__레시피 1-8: 정적 콘텐츠에 대한 요청인 경우 무시 
__레시피 1-9: 로그에서 중요한 데이터 난독화 
__레시피 1-10: Syslog를 사용해 중앙 로그 호스트에 경고 전송 
__레시피 1-11: ModSecurity의 AuditConsole 사용 

2장. 취약점 확인 및 개선 
__레시피 2-1: 수동 취약점 확인 
__레시피 2-2: 능동적인 취약점 식별 
__레시피 2-3: 수동 스캔 결과 변환 
__레시피 2-4: 자동 스캔 결과 변환 
__레시피 2-5: 실시간 자원 평가 및 가상 패치 

3장. 독을 품은 폰(해커 트랩) 
__레시피 3-1: 허니팟 포트 추가 
__레시피 3-2: ROBOTS.TXT에 가짜 DISALLOW 항목 추가 
__레시피 3-3: 가짜 HTML 주석 추가 
__레시피 3-4: 가짜 숨겨진 폼 필드를 추가 
__레시피 3-5: 가짜 쿠키 데이터를 추가 

2부. 비대칭 전력 

4장. 평판 및 서드파티 연관성 
__레시피 4-1: 클라이언트의 지리적 위치 정보 데이터 분석 
__레시피 4-2: 의심스러운 공개 프락시 사용 여부 식별 
__레시피 4-3: 실시간 블랙리스트 조회(RBL) 
__레시피 4-4: 자신만의 RBL을 실행 
__레시피 4-5: 악성 링크 탐지 

5장. 요청 데이터 분석 
__레시피 5-1: 요청 바디 접근 
__레시피 5-2: 잘못된 요청 바디 식별 
__레시피 5-3: 유니코드 정규화 
__레시피 5-4: 다중 인코딩 사용을 식별 
__레시피 5-5: 비정상적인 인코딩 식별 
__레시피 5-6: 비정상적인 요청 메소드 식별 
__레시피 5-7: 잘못된 URI 데이터 검출 
__레시피 5-8: 비정상적인 요청 헤더 탐지 
__레시피 5-9: 추가 매개변수 탐지 
__레시피 5-10: 누락된 매개변수 탐지 
__레시피 5-11: 중복된 매개변수명 탐지 
__레시피 5-12: 비정상적인 매개변수 페이로드 크기 탐지 
__레시피 5-13: 비정상적인 매개변수 문자 클래스 탐지 

6장. 응답 데이터 분석 
__레시피 6-1: 비정상적인 응답 헤더 탐지 
__레시피 6-2: 응답 헤더 정보 유출 탐지 
__레시피 6-3: 응답 바디 접근 
__레시피 6-4: 페이지 제목 변경 탐지 
__레시피 6-5: 페이지 크기 편차 검출 
__레시피 6-6: 동적 콘텐츠 변경 탐지 
__레시피 6-7: 소스 코드 유출 탐지 
__레시피 6-8: 기술적인 데이터 유출 탐지 
__레시피 6-9: 비정상적인 응답 시간 간격 탐지 
__레시피 6-10: 민감한 사용자 데이터 유출 탐지 
__레시피 6-11: 트로이 목마(Trojan), 백도어, 웹셸 접근 시도 탐지 

7장. 인증에 대한 방어 
__레시피 7-1: 일반적/기본값을 가진 사용자 이름 제출 탐지 
__레시피 7-2: 다중 사용자명 제출 탐지 
__레시피 7-3: 실패한 인증 시도 탐지 
__레시피 7-4: 높은 비율의 인증 시도 검출 
__레시피 7-5: 인증 시도 상세 정보 정규화 
__레시피 7-6: 비밀번호 복잡성 강제화 
__레시피 7-7: 사용자명과 세션ID 연관 

8장. 세션 상태에 대한 방어 
__레시피 8-1: 올바르지 않은 쿠키 탐지 
__레시피 8-2: 쿠키 임의 조작 탐지 
__레시피 8-3: 세션 타임아웃 적용 
__레시피 8-4: 세션 기간 동안 클라이언트 원본 위치 변경 탐지 
__레시피 8-5: 세션 유지 중 브라우저 핑거프린트 변경 탐지 

9장. 애플리케이션 공격 방지 
__레시피 9-1: 비아스키 문자를 차단 
__레시피 9-2: 경로 탐색 공격 방지 
__레시피 9-3: 강제 브라우징 공격 방지 
__레시피 9-4: SQL 인젝션 공격 방지 
__레시피 9-5: 원격 파일 포함 공격 방지 
__레시피 9-6: OS 명령 공격 방지 
__레시피 9-7: HTTP 요청 스머글링 공격 방지 
__레시피 9-8: HTTP 응답 분할 공격 방지 
__레시피 9-9: XML 공격 방지 

10장. 클라이언트 공격 방어 
__레시피 10-1: 콘텐츠 보안 정책 구현 
__레시피 10-2: 크로스 사이트 스크립팅 공격 방지 
__레시피 10-3: 사이트 간 요청 위조(CSRF) 방지 
__레시피 10-4: UI 리드레싱(클릭재킹) 공격 방지 
__레시피 10-5: 인터넷 뱅킹 트로이 목마 공격 탐지 

11장. 파일 업로드 방어 
__레시피 11-1: 큰 파일 사이즈 탐지 
__레시피 11-2: 다수의 파일 탐지 
__레시피 11-3: 첨부된 파일에서 악성코드 검사 

12장. 접속률 및 애플리케이션 절차 강화 
__레시피 12-1: 높은 애플리케이션 접속률 탐지 
__레시피 12-2: 요청/응답 지연 공격 탐지 
__레시피 12-3: 요청 간 시간 지연 이상점 파악 
__레시피 12-4: 요청 흐름 이상 식별 
__레시피 12-5: 리소스 사용률이 상당히 증가할 경우 탐지 

3부. 전술적 응답 

13장. 수동적인 응답 액션 
__레시피 13-1: 이상 징후 점수 추적 
__레시피 13-2: 감사 로그 트랩 및 추적 
__레시피 13-3: 이메일 경고 발행 
__레시피 13-4: 요청 헤더 태깅과 데이터 공유 

14장. 능동적인 응답 액션 
__레시피 14-1: 오류 페이지로 리다이렉션 사용 
__레시피 14-2: 연결 드롭 
__레시피 14-3: 클라이언트 소스 주소 차단 
__레시피 14-4: 방어 조건 수준 변경을 통해 위치 정보별 접근을 제한 
__레시피 14-5: 강제적인 트랜잭션 지연 
__레시피 14-6: 성공적인 공격 스푸핑 
__레시피 14-7: 트래픽을 허니팟으로 프락싱 
__레시피 14-8: 애플리케이션 강제 로그아웃 
__레시피 14-9: 계정 접근을 일시적으로 잠금 

15장. 침입 응답 액션 
__레시피 15-1: 자바스크립트 쿠키 테스트 
__레시피 15-2: CAPTCHA 테스트를 통한 사용자 검증 
__레시피 15-3: BeEF로 악성 클라이언트 후킹

New Arrivals Books in Related Fields