장바구니 담기 close

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

웹 애플리케이션 해킹

웹 애플리케이션 해킹

  • 마리오 하이더리히
  • |
  • 비제이퍼블릭
  • |
  • 2012-09-10 출간
  • |
  • 328페이지
  • |
  • 190 X 245 X 30 mm /680g
  • |
  • ISBN 9788994774213
판매가

24,000원

즉시할인가

21,600

배송비

2,300원

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

수량
+ -
총주문금액
21,600

이 상품은 품절된 상품입니다

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

출판사서평

‘/WAFs…Evasion..Filters//alert(/Obfuscation/)-’

공격자들은 보안조치를 우회하고 있다. 위협을 막을 수 있는 방법을 찾아라!


“웹 어플리케이션에 저장된 데이터가 비즈니스에 있어서 그 중요성이 점차적으로 증가함에 따라, 그들에 대한 공격은 점점 더 복잡해지고 있다. 여러분이 ‘or 1=1?‘를 그 이상으로 이해하기 원한다면, 이 책은 공격과 방어 모두를 위해 중요한 필터와 감지를 우회하는 데 필요한 지식을 제공한다.”
---ANDREW WAITE, SECURITY RESEARCHER, INFOSANITY RESEARCH

매일 수백만의 사용자들이 웹 어플리케이션을 사용하고 있다. 그리고 바로 그 사실이 공격자들에게 가장 인기 있는 벡터 중 하나가 되는 이유다. 코드 난독화는 해커가 하나의 공격으로 보안 조치수단을 회피할 수 있는 수백 가지의 변종을 만들도록 허용해왔다.

《웹 애플리케이션 해킹》은 독자들이 보안 시스템의 결점을 이해할 수 있도록 하면서 일반적인 웹 인프라와 공격자 관점에서 보안 통제를 살펴본다. 공격자가 각기 다른 유형의 보안 통제를 어떻게 우회하고 바로 이러한 보안 통제가 어떻게 새로운 유형의 취약점으로 적용되는지 살펴보며, 일반적인 위험을 막기 위해 방어를 강화할 수 있는 방법을 찾아보자.

IDS/IPS와 같은 보안 툴을 살펴본다. 이들은 민감한 데이터와 자산을 보호해주는 유일한 시스템 중 하나다.
공격자 관점에서 웹 어플리케이션 취약점을 평가하고 이런 시스템이 어떻게 새로운 유형의 취약점으로 시작되는가를 설명한다.
브라우저 특징에 대한 정보, 크로스 사이트 스크립팅(XSS), SQL 인젝션 등에 대한 방어를 위해 추가할 수 있는 새로운 공격과 문법 트릭을 포함하여 데이터를 안전하게 보호하는 방법을 가르쳐준다.

독자대상
초중급

출판사 리뷰

인터넷은 하루가 다르게 확장되고 있다. 온도조절장치와 텔레비전 같은 장치는 이미 인터넷 연결을 포함하고 있다. 독서나 사교모임 같은 오프라인 활동도 점차 온라인 활동으로 대체되고 있는데, 이는 장치, 사람, 기타 애플리케이션에 필요한 어느 자원에나 연결을 가능하게 해주는 수많은 웹 애플리케이션 덕분이다. 이러한 웹 애플리케이션으로의 접근은 정확성에서 필요성으로 빠르게 변해가고 있다. 온라인 소매상점에서 도서를 구매하는 것과 같이 단순한 거래의 보안측면을 살펴보자. 소매상인의 웹 사이트에서 구매할 도서를 선택하고 나서 쇼핑카트(일명: 장바구니) 애플리케이션에 본인인증을 하기 위해 패스워드를 입력하고 들어가게 된다. 이때 구매자와 서버 간의 네트워크 트래픽은 구매자의 패스워드와 도서 지불비용으로 사용된 신용카드 번호의 기밀성을 보증하기 위해 암호화된다. 구매자는 본인의 카드가 도난당한 카드가 아니라는 것을 보증하기 위해 구매자 본인에 관한 자세한 정보와 카드정보를 제공한다.

이러한 거래의 각 단계는 거래의 기밀성을 보증하기 위해 보안조치를 포함하고 있다. 비록 이러한 조치가 최종 사용자들(구매자들)에게 직접적으로 보일 수는 있지만, 그 소매상인은 애플리케이션과 구매자들을 보호하기 위해 여러 가지 가능한 보안조치 수단이 필요하게 된다. 예를 들어, 웹 애플리케이션은 악의적인 데이터를 포함하지 않도록 사용자에게서 오는 데이터의 유효성을 검사한다. 공격자가 데이터베이스에 악의적인 쿼리요청을 보내지 못하도록 데이터베이스에 대한 쿼리요청을 파라미터화할 수도 있다. 그리고 서버에 들어오는 요청이 악의적으로 시작되지 않았다는 것을 보증하기 위해 거래토큰이 사용될 수도 있다.

안타깝게도, 웹 애플리케이션 보호에 사용되고 있는 많은 보안조치는 대부분 적절하지 못하다. 다양한 보안조치 수단의 약점을 파악할 수 있는 공격자는 애플리케이션을 손상시키기 위해 한 가지나 다른 여러 가지 방법을 사용해 대부분 약점을 악용하는 방법을 찾을 수 있다. 이 책의 목적은 여러 가지 유형의 웹 애플리케이션 보안조치 수단을 재조명해 보는 것이다. 특히, 악성 웹 공격을 난독화하는 데 사용되는 대체로 잘 알려지지 않은 난독화기법(해독하기 어려운 난독화기법)에 초점을 맞출 것이다. 이런 기법들이 웹 공격에 적극적으로 사용되기 시작하고 있기 때문에 그런 공격기법들을 집중 조명함으로써 좀 더 나은 방어를 할 수 있을 것이다.

독자층

이 책에 포함된 정보는 매우 기술적이다. 그럼에도 책을 쓴 의도를 쉽게 이해하고 접근할 수 있는 정보를 제공하려고 노력했다. 침투테스터, 보안전문가, 보안연구원, 보안사고 조치자, 품질보증 테스터, 애플리케이션 개발자, 애플리케이션 설계자 모두에게 이 책의 내용이 크게 도움이 될 것이라고 생각한다. 추가적으로 모든 분야의 정보보안 전문가와 소프트웨어 개발 전문가들도 복잡한 웹 공격기법 성향에 대해 가치 있는 통찰력을 얻게 될 것이다.

이 책은 여러분이 웹의 난독화기법과 진보된 웹 공격을 이해하는 데 도움을 줄 것이다. 특히, 공격자들이 입력 필터, 출력 인코딩 루틴, 웹 애플리케이션 방화벽, 웹 기반 침입탐지와 예방시스템과 같은 보안조치 수단을 어떻게 우회하는지 알게 될 것이다. 또한 그러한 공격에 영향을 받지 않는 보다 안전한 애플리케이션을 빌드할 수 있는 보안기술과 일반원리를 배우게 될 것이다.

이 책의 구성

이 책은 1장을 제외하면 9장으로 나누어진다. 먼저, HTML, JavaScript, CSS라는 세 가지 현대 웹 아키텍처를 토대로 자세하게 살펴볼 것이다. 저자들은 각각 풍부하고 이해하기 어려운 특징들을 나누기 전에 이들 각 프로그램 언어에 대해 전체적으로 소개할 것이다. 다음에는 서버 측 웹 개발의 두 가지 요소인 SQL, PHP에 대해 논의하고 이어서 난독화된 공격을 보호하기 위해 할 수 있는 보안 완화조치에 대해 논의할 것이다. 그 다음에는 좀 더 발전한 웹 공격을 성공적으로 보호하는 방법과 보안통제를 우회하는 자세한 사항에 대해 다룰 것이다. 마지막으로, 이 책은 웹 언어에 추가되는 새로운 특징적 측면과 잠재적으로 가능하고 새로운 형태의 공격이 될 수 있는 은닉기법(일명: 난독화기법)의 관점에서 웹 애플리케이션의 미래를 논의하는 것으로 마무리 짓는다. 다음에 각 장의 내용을 세부적으로 설명했다.

2장 HTML
HTML은 웹 페이지와 웹 애플리케이션의 중추를 형성하고 있다. HTML 구문 분석은 이전 버전과의 호환성, 사용자지정 브라우저 확장, 새롭게 생겨나는 규격에 대한 지원, 심지어 보안관련 컨트롤 문제로 인해 대단히 어렵다. 2장은 마크업이 난독화될 수 있는 많은 방법을 이해할 수 있도록 이러한 문제의 여러 가지 부분으로 들어갈 것이다. 유일한 공격벡터를 제공하는 것 외에도, 난독화기법과 JavaScript, CSS 같은 주제와 관련해 좀 더 진보된 공격을 이해하는 데 도움이 되는 토대를 제공할 것이다.

3장 JavaScript와 VBScript
JavaScript와 VBScript에서 제공하는 특징의 전체를 배우는 가장 좋은 방법 중 하나는 어떻게 코드가 난독화되고 비난독화되는가를 이해하는 것이다. 동시에 3장은 여러분에게 난독화기술의 무기고(여기서는 난독화기술들의 집합으로 이해)를 증가시키며 JavaScript가 작동되는 방식에 대한 더 큰 지식을 제공할 것이다. 또한 3장은 여러분이 언어구문, 인코딩, 변수, 특정 벤더사의 특징과 편차를 이해하는 데 실질적인 도움을 줄 것이다.

4장 특수문자로 작성한 자바스크립트
자바스크립트의 흥미로운 측면 중 하나는 알파벳이나 숫자문자를 포함하지 않는 자바스크립트를 어떻게 빌드하는 데 사용할 수 있는가이다. 그 결과 코드는 아주 자세한 정보일 수 있지만, 여러분은 이러한 기술을 사용해 여전히 임의의 자바스크립트를 실행할 수 있다. 4장에서는 그런 코드가 어떻게 구성되는지 정확히 논하고 그 기술들이 실제 공격에서 사용(그리고 실제로 있다)될 수 있는 몇 가지 시나리오를 제공한다.

5장 CSS
CSS(Cascading Style Sheets)는 현대적인 웹 디자인의 핵심 구성요소이다. 전통적으로 웹 공격의 기준으로 사용되지는 않지만, 많은 CSS 특성들이 흥미로우면서도 유일한 방법으로 남용될 수 있다. 이것은 CSS 표현, 속성 선택자, 검색기록에의 접근, 직접 UI(User Interface, 이하 사용자 인터페이스라고 한다) 조작을 포함한다. 웹 페이지에 포함되어 있는 CSS를 단지 제어함으로써, 공격자는 목표 대상자와 애플리케이션 데이터 모두의 개인정보를 침해할 수 있다.

6장 PHP
완전한 기능으로 이루어진 프로그래밍 언어로서 난독화된 PHP 코드를 만드는 방법은 무수히 많다. 6장은 고급 문자열 난독화기법에 대한 기본사항, 슈퍼전역변수를 어떻게 남용하고 접근하는가와 몇가지 동적 코드를 실행하는 흥미로운 방식에 초점을 맞추고 있다. 이 자료를 보완하기 위해 저자는 로컬 파일에 포함된 취약점이 어떻게 원격 파일에 포함된 취약점으로 바뀔 수 있는지를 보여주는 동시에 파일에 포함될 수 있는 취약점과 관련해 필터와 스트림의 사용을 모색할 것이다.

7장 SQL
대부분의 웹 애플리케이션 프레임워크는 SQL 인젝션 공격에 대해 상당한 보호를 제공한다. 하지만 개발자들이 계속해서 수동으로 SQL 쿼리를 작성하는 한, 이 공격은 강력하고 가능성 있는 공격으로 남을 것이다. 7장에서는 표준 데이터베이스 관리시스템과 같이 사용될 수 있는 인코딩과 난독화기술을 다룰 것이다. 7장은 새로운 인코딩과 난독화트릭을 찾는 데 사용할 수 있는 도구와 모호한 기술에 대해 설명한다. 이제 대부분의 최신 웹 브라우저는 SQL을 사용해 액세스할 수 있는 오프라인 웹 애플리케이션을 위한 데이터베이스를 포함한다. 또한 그런 시나리오에 적용되는 공격기법에 대해 다룰 것이다.

8장 웹 애플리케이션 방화벽과 클라이언트 측 필터
WAFs(Web Application Firewalls, 이하 웹 방화벽이라 한다)는 악의적인 공격으로부터 웹 애플리케이션을 보호하기 위해 사용하는 일반적인 장치이다. 이러한 장치는 일반적으로 악의적인 입력을 감지하기 위해 정규 표현식 목록을 사용한다. 이것은 웹 애플리케이션 난독화기술을 사용해 공격과 우회를 하기 위한 주요 대상으로 만들기 위해서다. 8장에서는 심지어 가장 기본적인 난독화기법에 대해 대부분의 웹 방화벽이 가지고 있는 방화벽의 비효율성에 대해 설명할 것이다. 전통적인 웹 방화벽 이외에도 웹 브라우저에 내장된 클라이언트 측 필터에 대해 설명한다. 이 필터들은 공격자가 확실히 성공적으로 공격을 수행하는 (그래프) 수치를 올리는 데 도움이 될 것이다. 우리는 이런 필터들이 어떻게 작동하는지 자세히 보게 될 것이고 그것들이 일부 우회될 수 있는 특정하고 고도로 난독화된 방식을 알게 될 것이다.

9장 공격과 우회 완화조치
웹 코드와 관련된 가장 어려운 시나리오 중 하나는 신뢰할 수 없는 코드가 동적으로 실행되고 평가될 수 있는 Sandbox(외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태, 이하 샌드박스라 한다)를 구축하는 것이다. 9장에서는 자바스크립트 멀웨어와 같은 악성 코드를 안전하게 분석하는 데 도움을 줄 수 있는 기법을 소개할 것이다. 또한 웹 페이지상에서 신뢰할 수 없는 동적 코드를 포함하는 사용자 입력 값 처리를 도와주도록 동일한 기법이 사용될 수 있다.

10장 미래의 개발 환경
우리는 웹과 그것을 둘러싸고 있는 기술의 현 보안 상태에 관한 논의로 책의 결론을 내린다. 우리는 CSS3, HTML5, 플래시와 자바를 통한 플러그인 보안과 같은 기술이 가능한 미래의 웹을 보게 될 것이다. 이러한 기술들 중 일부는 긍정적이고 일부는 부정적인 보안기술의 결과를 보일 수도 있고 아니면 가까운 미래에 우리에게 영향을 줄 수도 있다.

목차

Chapter 1. 서론
독자층
기본 필터링
정규 표현식
책의 구성
최신 정보
요약

Chapter 2. HTML
역사와 개요
기본적인 마크업 난독화
고급 수준 마크업 난독화
URI
HTML 이외 기술
요약

Chapter 3. JavaScript와 VBScript
문법
인코딩
JavaScript 변수
VBScript
JScript
E4X
요약

Chapter 4. 특수문자로 작성한 자바스크립트
특수문자로 작성한 자바스크립트
사용 사례
요약

Chapter 5. CSS
문법
알고리즘
공격
요약

Chapter 6. PHP
역사와 개요
PHP 난독화: 난독화기법
요약

Chapter 7. SQL
SQL: 간략한 소개
요약

Chapter 8. 웹 애플리케이션 방화벽과 클라이언트 측 필터
웹 방화벽 우회
클라이언트 측 필터
요약

Chapter 9. 공격과 우회 완화조치
코드 인젝션에 대한 보호
DOM 보호
요약

Chapter 10. 미래의 개발 환경
현 애플리케이션에 미치는 영향
HTML5
그 밖의 확장자
플러그-인
요약

저자소개

저자 마리오 하이더리히는 독일 쾰른 지역 출신의 웹 애플리케이션 개발과 보안 분야와 관련된 프리랜서이자 기업가다. 그는 현재 보훔(독일 북서부)에 있는 루트대학에서 박사 학위 코스에 있으며 여러 가지 프로젝트에 참여하고 있다. 그는 헨센의 프리드버그에 있는 응용과학대학에서 언론정보학 학위를 취득하였고 개발자와 보안 컨설턴트로 독일을 비롯해 세계 곳곳의 글로벌 회사에서 일한 경험이 있다. 웹 애플리케이션 보안에 관한 도서의 저자이자 PHPIDS(PHP 침입 탐지 시스템)을 위한 선임개발자이며, 세계 여러 나라를 다니며 웹 보안을 가르치고 여러 보안 컨퍼런스에서 강연을 하고 있다. 그는 클라이언트 측면의 공격과 방어, 특히 마크업(Markup), CSS, JavaScript에 관심이 많다.

도서소개

공격자 관점에서 웹 어플리케이션 보안 통제 수단을 살펴보다!

취약점을 이용한 공격과 방어의 기술『웹 애플리케이션 해킹』. 여러 가지 유형의 웹 애플리케이션 보안조치 수단을 재조명한 책이다. 악성 웹 공격을 난독화하는 데 사용되는 대체로 잘 알려지지 않은 난독화기법에 초점을 맞추어 설명하였다. 특히 공격자들이 입력 필터, 출력 인코딩 루틴, 웹 애플리케이션 방화벽, 웹 기반 침입탐지와 예방시스템과 같은 보안조치 수단을 어떻게 우회하는지 상세히 다루었다. 또한 브라우저 특징에 대한 정보, 크로스 사이트 스크립팅(XSS), SQL 인젝션 등에 대한 방어를 위해 추가할 수 있는 새로운 공격과 문법 트릭을 포함하여 데이터를 안전하게 보호하는 방법을 가르쳐준다. 침투테스터, 보안전문가, 보안연구원, 보안사고 조치자, 품질보증 테스터, 애플리케이션 개발자, 애플리케이션 설계자들이 복잡한 웹 공격기법 성향에 대해 가치 있는 통찰력을 얻게 될 것이다.

교환 및 환불안내

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