상세 컨텐츠

본문 제목

해킹 웹앱: 웹 애플리케이션 해킹 기법과 대응

전체 출간 도서

by 비제이퍼블릭 2013. 3. 15. 09:01

본문

 

 

 

 

해킹 웹앱: 웹 애플리케이션 해킹 기법과 대응

 

시리즈 철통보안 시리즈 012

저자 마이크 쉬마

역자 김선국

출간일 2013327()

정가 25,000

페이지 334

판형 190 x 245

ISBN 978-89-94774-34-3 (93560)

원서정보 HACKING WEB APPS: Detecting and Preventing Web Application Security Problems

 

 

 

책 소개

 

 

웹 애플리케이션 해킹기법과 대응

 

인터넷에 어떠한 위협이 있는지 그리고 이러한 위협으로 자신을 어떻게 보호해야 하는지 알아보자!

 

"이 책은 보안 전문가들뿐만 아니라 일반인들에게도 매우 가치 있는 책이다. 직접 웹 애플리케이션을 개발하려는 사람이나 웹 해킹기법으로부터 자신의 웹 사이트를 보호하려는 사람들은 반드시 이 책을 읽어야 하며, 마이크 쉬마의 전문성을 전수받을 수 있다."

 

- Doug Steelman, Dell Secureworks의 최고보안책임자

 

 

"이 책은 초급자들이 웹 애플리케이션에 가장 위협적인 위험에 대해 배울 수 있도록 해준다. 단순히 개념만 설명하는 것이 아니라 서로 다른 취약점이 어떻게 연관되어 있으며, 혼합하여 사용할 수 있는지도 자세히 설명한다. 그리고 가장 중요한 것은 용어를 이해하기 쉽게 기술했다는 것이다. "

 

- Robert Hansen, Falling Rock Networks and SECTHEORY LTD CEO

 

 

정보 보안 전문가들은 해킹, 공격, 웹 취약점 등에 대한 최신 트랜드를 어떻게 파악하는가? 한 가지 방법은 이 책을 읽는 것이다. 저자인 마이크 쉬마는 인터넷에 있는 가장 악의적인 해킹기법이 이 책에 포함될 수 있도록 심혈을 기울여 책 내용을 직접 선택하였다. 쉬마는 공격의 원리에 대해 쉽게 설명할 뿐만 아니라 웜, 트로전, 봇넷을 제거하는 방법과 미래의 위협으로부터 웹 애플리케이션을 보호할 수 있는 방법에 대해서 자세히 설명한다. 대응책에 대한 자세한 설명으로, 이러한 위협들에 직면해도 대응할 수 있다.

 

설령 웹 사이트를 개발하거나 HTML 작업을 하지 않는다고 할지라도 이 책을 읽으면 웹 사이트가 어떻게 공격을 받는지 그리고 이러한 공격으로부터 사이트를 어떻게 보호할 수 있는지 배울 수 있다. 그리고 웹 브라우저 자체도 더 안전하게 사용할 수 있는 방법에 대해서 자세히 설명한다.

 

-       금융정보부터 사진까지 더 많은 데이터가 웹 애플리케이션에 저장되고 있다. 하지만 세계 그 어디에서도 이 데이터를 접근할 수 있다면, 데이터의 보안은 어떻게 보장할 수 있겠는가?

-       가장 위협적인 해킹기법이 어떻게 단순히 웹 브라우저와 HTML 기초지식으로 공격할 수 있는지 배울 수 있다.

-       HTML 인젝션, XSS CSRF, SQL 인젝션, 인증체계 우회, 로직 공격, 브라우저 해킹기법 등 인터넷에서 가장 위협적인 취약점과 그 대응책에 대해 배울 수 있다.

 

 

독자 대상

 

초중급

 

 

 

저자소개

 

 

마이크 쉬마(Mike Shema)는 현재 Qualys, Inc에서 웹 애플리케이션 보안 솔루션을 개발하고 있다. 쉬마는 자동화된 웹 취약점 평가 서비스에 집중하고 있다. 그리고 그는 파운드스톤의 보안 컨설턴트 및 교육담당으로 근무한 경험이 있으며, 파운드스톤에 근무하면서 다양한 업계 및 기술에 대한 보안 취약점 평가를 수행하였다. 보안 경력은 네트워크 침투 테스트부터, 무선 보안, 코드 검토 그리고 웹 보안까지 다양하다. 또한 미국, 유럽 및 아시아에서 개최된 여러 보안 컨퍼런스에 참가하기도 했다.

 

저서로는 《Hacking Exposed: Web Applications, Anti-Hacker Toolkit, Hack Notes: Web Application Security》가 있다.

 

 

역자소개

 

 

김선국

하와이대 컴퓨터 정보 공학과에서 학사를 마치고, 해군 통역장교를 거쳐 현재 AhnLab 기술컨설팅팀에서 주요 사회기반시설에 대한 취약점 분석 업무를 담당하고 있다. 주로 군사, 국제법, 경제, 컴퓨터, 정보 보안 등에 대한 자료들을 번역해왔으며, 역서로는 《이제 시작이야! 해킹과 침투 테스트》, 《해킹과 침투 테스트를 위한 코딩》, 《이제 시작이야! 디지털 포렌식》, 《해커의 언어, 치명적 파이썬》이 있다.

 

 

 

목차

 

 

CHAPTER 1. HTML5 1

 

새로운 문서 객체 모델(DOM)

크로스 도메인 자원 공유(CORS)

WEBSOCKET

데이터 전송

데이터 프레임

보안 관련 고려사항

웹 스토리지

IndexedDB

WEB WORKER

기타 고려사항

History API

API 초안

요약

 

CHAPTER 2. HTML 인젝션과 크로스 사이트 스크립팅(XSS)

HTML 인젝션에 대해 이해하기

인젝션 포인트 식별하기

XSS의 종류 식별하기

페이로드가 렌더된 환경 식별하기

종합하기

인코딩 공격하기

실패 모드 공격하기

취약한 차단목록 우회하기

브라우저 특성 이용하기

기타 공격 벡터

XSS의 영향

대응책 마련하기

인코딩 방식 고정시키기

문자 정규화와 인코딩

출력 값 인코딩

차단목록과 정규표현에 관련하여

코드를 재사용하자

자바스크립트 샌드박스

브라우저의 자체 XSS 보호 기능

요약

 

CHAPTER 3. 크로스 사이트 요청 위조(CSRF)

크로스 사이트 요청 위조에 대해 이해하기

CSRF의 작동원리

브라우저를 통한 요청 위조

패스워드 없이 인증하여 공격하기

위험한 만남: CSRF HTML 인젝션

복잡한 웹 세상에서는 항상 주의

클릭잭킹 이해하기

대응책 마련하기

올바른 방향으로 가기

웹 브라우저 보호하기

취약점과 고려사항

요약

 

CHAPTER 4. SQL 인젝션과 데이터 변조

SQL 인젝션 이해하기

수학과 문법

SQL문 망가트리기

데이터베이스 해부하기

다른 공격 벡터

실전에서의 SQL 인젝션

HTML5의 웹 스토리지 API

SQL 구문이 없는 SQL 인젝션

대응책 마련하기

입력 값 검증하기

안전한 SQL문 만들기

정보 보호하기

최신 데이터베이스 패치 적용하기

요약

 

CHAPTER 5. 인증체계 우회와 공격

인증체계 해킹에 대해 이해하기

세션 토큰 리플레이

무차별 대입 공격

스니핑

패스워드 재설정

크로스 사이트 스크립팅 (XSS)

SQL 인젝션

피싱 공격

대응책 마련하기

세션 쿠키 보호하기

보안적으로 안전한 인증체계 사용하기

사용자를 참여시켜라

사용자를 귀찮게 만들어야 한다

요청 제한

로그 기록과 삼각측량

피싱으로부터 보호하기

패스워드 보호하기

요약

 

CHAPTER 6. 설계적 결함 공격

로직과 설계 기반의 공격에 대해 이해하기

업무흐름 공격

정책과 실제

귀납법

서비스 거부

안전하지 못한 설계 패턴

암호화 구현 에러

정보 필터하기

대응책 마련하기

요구사항 문서화하기

강력한 테스트 케이스 만들기

정책을 통제로 적용하기

방어적 프로그래밍

클라이언트 검증

암호화 가이드라인

요약

 

CHAPTER 7. 플랫폼 취약점 공격

공격에 대해 이해하기

패턴, 구조, 그리고 개발자 특성 인지하기

운영체제 공격하기

서버 공격하기

서비스 거부 공격

대응책 마련하기

파일 접근 제한하기

객체 참조

취약한 함수 블랙리스트화

인가 강제화하기

네트워크 통신 제한하기

요약

 

CHAPTER 8. 브라우저와 프라이버시 공격

멀웨어와 브라우저 공격 이해하기

멀웨어

브라우저 플러그인 사용하기

DNS와 출처

HTML5

프라이버시

대응책 마련하기

SSL/TLS 안전하게 설정하기

안전하게 브라우저 사용하기

브라우저 고립시키기

토르

DNSSEC

요약

 

 

 

이 책의 구성

 

 

이 책은 8개의 장으로 구성되어 있으며, 웹 사이트와 브라우저를 공격하는 해킹기법에 대해 살펴본다. 그리고 각 장에서는 실제 해킹 사례를 살펴보고, 해킹의 작동원리를 세부적으로 설명하였다. 각 장을 순서대로 읽을 필요는 없다. 하지만 유의할 점은 많은 공격들이 서로 관련되어 있거나 서로 결합하여 특정 대응책을 무력화할 수도 있다는 것이다. 바로 이러한 점이 웹 보안의 서로 다른 측면을 이해해야 하는 이유다. 특히 웹 보안이 브라우저와 사이트를 모두 포함할 때는 말이다.

 

1: HTML5

새로운 표준은 새로운 취약점을 의미한다. 그리고 기존의 취약점을 다른 각도에서 공격할 수 있

다는 것을 의미하기도 한다. 1장에서는 HTML5 표준의 주요 API와 기능에 대해서 소개한다.

HTML5는 아직 공식 표준이 아니지만 이미 많은 브라우저와 웹 사이트에서 도입하여 사용하고 있

. 또한 HTML5는 보안뿐만 아니라 프라이버시와도 관련이 있다.

 

2: HTML 인젝션과 크로스 사이트 스크립팅(XSS)

2장에서는 웹 사이트에서 가장 널리 퍼져있고, 가장 공격하기 쉬운 취약점에 대해서 설명할 것이다. XSS 취약점은 인터넷의 바퀴벌레 같은 존재다. 사이트의 규모, 인지도, 또는 보안팀의 능력여부와는 상관없이 항상 예상치 못한 곳에서 발견되는 존재다. 2장에서는 웹에서 가장 널리 퍼져있는 취약점 중의 하나가 단순히 브라우저와 기본적인 HTML 지식으로 어떻게 해킹을 할 수 있는지 설명할 것이다. 그리고 보안의 관점에서 보았을 때, 웹 사이트와 브라우저의 사이의 관계가 얼마나 망가지기 쉬운 것인지도 보여줄 것이다.

 

3: 크로스 사이트 요청 위조(CSRF)

3장은 웹 사이트와 웹 브라우저를 대상으로 공격하는 취약점에 대해서 계속해서 설명할 것이다. CSRF 공격은 사용자가 의도하지 않은 요청을 사용자의 브라우저가 실행하도록 만드는 공격이다. 이러한 공격들은 포착하기 힘들고 차단하기도 매우 힘들다. 결국 디폴트로 모든 웹 페이지는 CSRF 취약하다고 보면 된다.

 

4: SQL 인젝션과 데이터 변조

4장에서는 초점을 옮겨서 웹 애플리케이션과 그 뒤에 있는 데이터베이스에 대해서 살펴볼 것이다. SQL 인젝션 공격은 신용카드 정보 탈취의 주범으로 가장 잘 알려져 있다. 그리고 이 간단한 취약점으로 얼마나 많은 공격이 가능한지 설명할 것이다. SQL 인젝션 취약점의 파급효과를 고려했을 때 대응책이 비교적 쉽고 간단하다는 것을 알 수 있을 것이다. 그리고 사이트에 SQL 데이터베이스가 없다고 하여도 SQL류의 데이터 인젝션, 커맨드 인젝션, 그리고 이와 비슷한 기법이 가능하다는 것을 설명할 것이다.

 

5: 인증체계 우회와 공격

5장에서는 컴퓨터 보안에서 가장 오래된 공격 중의 하나인 로그인 페이지를 대상으로 하는 무차별 대입 공격에 대해 설명할 것이다. 하지만 사이트의 인증체계를 공격하는 방법이 무차별 대입 공격만 있는 것은 아니다. 5장에서는 다른 공격 벡터와 그에 대한 대응책에 대해서 살펴볼 것이다.

 

6: 설계적 결함 공격

6장에서는 기술적 측면과 단순한 호기심의 경계선을 넘나드는 매우 흥미로운 공격에 대해서 알아볼 것이다. 사이트의 비즈니스 로직을 공격하는 공격의 종류는 웹 애플리케이션의 종류만큼이나 다양하다. 하지만 대부분의 경우 공통적으로 사용하는 기법이 있거나 직접적으로 금전적인 이득이 있는 형태로 사이트의 설계를 공격한다. 6장은 사이트 전체가 어떻게 구성되었는지, 공격자들이 자신들의 이득을 위해 어떻게 허점을 찾는지, 그리고 프로그래밍 체크리스트에 없는 문제에 직면하였을 때 개발자들이 무엇을 할 수 있는지에 대해서 설명한다.

 

 

 

출판사 리뷰

 

 

이 책은 인터넷에서 이메일을 확인하거나, 온라인 쇼핑몰에서 제품을 구입하거나, 단순히 업무를 하는 모든 사람들에게 도움이 될 것이다. 웹에서 개인 정보가 어떻게 해킹을 당하고, 웹 사이트에서 악성 콘텐츠가 어떻게 작동되는지 아는 것이 모든 사람들에게 도움이 되면 됐지 해가 되지는 않을 것이다.

 

웹 애플리케이션 개발자와 보안 전문가들은 이 책에서 설명하는 웹 공격의 기술적 내용과 방법론이 많은 도움이 될 것이다. 사이트 보안을 향상시키기 위한 첫 번째 단계는 위협과 잘못된 프로그래밍 관례를 이해하는 것이다. 잘못된 프로그래밍 관례는 보안적 결점으로 이어지고, 보안적 결점은 취약점으로 이어진다. 그리고 취약점이 발생하면 암호화되지 않은 데이터베이스에서 수백만 개의 패스워드가 탈취될 수도 있는 것이다.

 

이 책의 각 장에서는 웹 애플리케이션에 대한 여러 해킹기법의 예를 보여준다. 공격 방법뿐만 아니라 공격의 잠재적 영향에 대해서도 살펴본다. 잠재적 영향은 사이트의 보안이나 사용자의 프라이버시에 관한 것일 수도 있다. 그리고 일부 해킹기법은 웹 서버 공격과 전혀 관련이 없는 것일 수도 있다. 그 대신에 브라우저를 공격할 수도 있다. 웹 보안은 애플리케이션뿐만 아니라 브라우저에도 영향을 미치는 것이다. 바로 애플리케이션과 브라우저에 해커들이 원하는 정보가 있기 때문이다.

 

 

관련글 더보기

댓글 영역