Top

해킹 초보를 위한 웹 공격과 방어

  • 원서명Seven Deadliest Web Application Attacks (ISBN 9781597495431)
  • 지은이마이크 셰마
  • 옮긴이민병호
  • ISBN : 9788960771758
  • 20,000원
  • 2011년 01월 26일 펴냄
  • 페이퍼백 | 236쪽 | 185*235mm
  • 시리즈 : 해킹과 보안

책 소개

보안 실무자와 모의 해킹 전문가가 바로 활용할 수 있는 최신 기술이 담긴 책!
웹 보안의 개념과 실전 예제가 모두 담긴 책!

『해킹 초보를 위한 웹 공격과 방어』는 기존의 웹 보안 관련 서적이 놓치고 있는, 하지만 많은 독자가 궁금해 하는 내용에 답을 주는 책이다. 개념만 나와있어 실전에 응용하기 어려운 책이나 공격 기법은 자세히 다루면서 방어법은 지나치게 간단히 다루는 책에 아쉬움을 느꼈다면, 이 책을 읽음으로써 갈증을 말끔히 해소할 수 있다. 적은 분량임에도 불구하고 매우 실질적인 공격 예제와 최선의 방어법을 모두 담고 있는 책이 바로 『해킹 초보를 위한 웹 공격과 방어』이다.


[ 소개 ]

취약점을 정확히 찾아내 철저히 방어하자!

일반 사용자나 웹 개발자, 관리자가 모두 알아야 하는 보안 위협을 다루는 이 책은 인터넷을 사용하는 모든 이의 필독서다. 저자 마이크 셰마는 보안 위협을 자세히 다룰 뿐만 아니라 위협 자체를 철저히 막거나 피해를 최소화할 수 있는 방어법을 함께 제시한다. 이 책을 읽고 나면 세상의 웹사이트를 보는 시각 자체가 바뀔 것임에 틀림없다.
- 앤드류 웨이트 보안 연구가, 인포새니티 리서치

웹 애플리케이션과 관련된 최신 공격 기법을 놓치고 싶지 않다면 반드시 이 책을 읽어야 한다. 이 책에서는 가장 위험한 웹 애플리케이션 공격 기법을 철저히 분석함과 동시에 안전한 웹사이트를 구축할 수 있는 방어법도 다룬다. 책에 나온 설명을 따르다 보면 악의적인 공격을 막을 수 있는 최고의 방법을 배우고, 여러분의 컴퓨터와 네트워크를 공격자로부터 안전하게 지키는 데 필요한 기술을 익힐 수 있다.

이 책에서 다루는 공격 기법 7가지
1. 크로스사이트 스크립팅(XSS)
2. 크로스사이트 요청 위조(CSRF)
3. SQL 인젝션
4. 잘못된 서버 설정과 예측 가능한 웹페이지
5. 인증 방식 우회
6. 로직 공격
7. 멀웨어와 브라우저 공격

“해킹 초보를 위한”이라는 제목을 달고 연이어 출간될 이 시리즈에서는 이 분야에서 가장 영향력이 큰 공격 기법을 주로 다룬다. 시리즈를 모두 읽고 방어법을 익히자!


[ 이 책의 대상 독자 ]

메일이나 쇼핑, 업무 등 어떤 목적으로든 인터넷을 사용하는 사람이라 꼭 읽어야 할 책이다. 웹사이트의 보안은 대부분 개발자가 책임지지만 웹 애플리케이션을 이용하는 사용자 역시 보안 웹 서핑(브라우징) 수칙을 지킴으로써 자신의 데이터를 보호할 수 있다. 이런 맥락에서 매일 방문하는 사이트의 개인정보가 어떻게 해킹당할 수 있으며, 그 사이트에 어떤 악성 코드가 감염될 수 있는지 알아두는 편이 좋다.

웹 애플리케이션 개발자나 보안 전문가는 이 책에서 다루는 웹 공격의 원리와 기술적인 부분에 집중하면 좋다. 안전한 웹사이트를 만드는 첫 단계가 바로 취약한 코드의 위협과 위험을 이해하는 것이기 때문이다. 더욱이 이 책에서는 특정 프로그래밍 언어나 기술에 관계없이 웹사이트에 적용할 수 있는 방어법도 소개한다.

관리자 위치에 있는 독자라면 웹사이트의 위협 요소와 웹 브라우저만으로도 수행 가능한 간단한 공격이 유발할 수 있는 막대한 피해를 이해해둬야 한다. 이 책을 읽으면 간단한 공격이라도 이를 막기 위한 적절한 방어법을 구현하는 데에는 많은 노력과 시간이 든다는 사실을 알게 될 것이다. 그리고 이러한 이해를 통해 웹사이트의 정보를 보호하기 위한 보안에 인적, 물적 자원을 아낌없이 지원하게 될 것이다.

웹에 대한 간단한 상식 정도만 있다면 이 책을 읽는 데 어려움은 없다. 웹사이트 공격자는 페이로드를 삽입하거나 프로토콜의 허점을 이용하기 위해 HTTP 트래픽을 변조하기도 하고, HTML 페이지의 입력 폼을 조작하거나 악성 코드를 삽입하기도 한다. 물론 이 말을 구체적으로 이해하지 못했다고 해서 해킹으로 인한 피해나 해킹 기법을 배우는 데 문제가 되지는 않는다. 예를 들어 HTTP 프로토콜에서 기본적으로 평문 트래픽에는 80번 포트를, SSL로 암호화된 트래픽에는 443번 포트를 이용하며, SSL 연결은 https://로 나타낸다는 사실 정도만 알면 된다. 이 이상의 내용은 공격과 방어 기법을 좀 더 자세히 이해하려는 개발자나 보안 전문가가 알아야 할 사항이다.


[ 이 책의 구성 ]

이 책은 총 7개 장으로 웹사이트와 브라우저에 대한 주요 공격 유형을 다룬다. 각 장에서는 우선 실제 사이트의 해킹 사례를 소개한 후 공격자가 이용한 취약점을 자세히 알아본다. 각 장을 순서대로 읽을 필요는 없다. 대다수의 공격 기법은 서로 연관돼 있으며, 방어법을 무력화하기 위해 함께 사용되기 때문에 웹 보안의 다양한 측면을 이해하는 게 중요하다. 특히 웹 보안에서는 웹사이트뿐만 아니라 웹 브라우저도 중요하다는 사실을 반드시 알아야 한다.

저자/역자 소개

[ 저자 서문 ]

웹과 관련된 말이나 비유 중 가장 마음에 드는 것을 꼽아보자. 여러분이 선택한 말에 웹 보안의 일반적인 개념이 녹아있을 수도 있고 웹사이트들이 처한 위협과 위험의 이미지가 담겨있을 수도 있다. 이 책에서는 공격자가 가장 많이 사용하는 치명적인 7가지 취약점을 통해 웹 보안의 다양한 면을 살펴본다. 7가지 공격 기법 중에는 자주 들어봤을 법한 공격 기법도 있는가 하면 신문지상에서는 좀처럼 보기 어려워 낯설게 느껴지는 기법도 있다. 공격자는 크로스사이트 스크립팅(XSS)이나 SQL 인젝션 같이 주목을 많이 받는 기법만 사용하지는 않는다. 오히려 특정 웹사이트의 로직을 공격하는 공격자도 있는데, 이때 이용되는 공격 기법은 범용적이지 않을 뿐만 아니라 방어적 입장에서 봤을 때도 일반적인 기법으로는 탐지하기 어렵다.

웹상에서는 정보가 곧 돈이다. 공격자는 자신이 탈취한 신용카드 정보를 암거래 사이트에서 팔 수 있다. 개인 신상 정보, 암호, 이메일 주소, 온라인 게임 계정 등도 모두 암거래 사이트에서 거래된다. 기업 첩보나 국가적 차원의 네트워크 공격은 어떤가? 사람이나 회사나 국가 사이에 발생할 수 있는 모든 종류의 사기나 속임수, 계략이나 음모 등은 모두 웹에서 일어나는 공격에 매핑될 수 있다. 결국 웹상의 비공개 정보를 불법적으로 빼내려는 해킹은 계속될 수밖에 없다.

전반적인 내용과 주요 학습 포인트
이 책에서는 각 장마다 그 내용에 해당하는 웹사이트 공격 기법의 예를 소개하고 해당 공격의 원리를 살펴본다. 또 공격으로 인해 발생할 수 있는 피해와 이를 최소화하기 위한 방어법도 알아본다. 공격을 근본적으로 차단하는 방어법을 고안해야 하기 때문에 공격 기법의 원리를 이해하는 게 매우 중요하다. 그리고 특정 취약점의 방어법으로 다른 취약점까지 차단할 수 없다는 사실도 알아야 한다. 또 방어법에 따라 간단히 소개만할 수도 있고 책 전반에 걸쳐 여러 번 살펴볼 수도 있다. 보안은 다양한 방어법을 단순히 결합해 얻을 수 있는 것이 아니라 웹사이트를 총체적으로 이해할 때 달성할 수 있다.


[ 저자 소개 ]

마이크 셰마 (Mike Shema)
취약점 관리 회사인 퀄리스(Qualys)에서 웹 애플리케이션 스캐닝 서비스 부문을 담당하는 리드 개발자다. 웹 애플리케이션 스캐닝 서비스란, 다양한 웹 취약점을 자동으로 정확하게 진단해주는 서비스를 말한다. 퀄리스 이전에는 파운드스톤(Foundstone)에서 보안 컨설팅 업무를 담당하며 정보 보안 분야의 다양한 경험을 축적했다. 마이크는 무선 보안 등의 네트워크 보안과 웹 애플리케이션 모의 해킹 분야의 교육 프로그램을 만들고 직접 가르쳐왔다. 이렇게 다양한 경험을 바탕으로 북미, 유럽, 아시아 등지에서 열리는 블랙햇(BlackHat), 인포섹(InfoSec), RSA 등의 학회에서 다양한 주제의 연구 결과를 발표했다.
마이크는 『안티 해커 툴킷(Anti-Hacker Toolkit)』, 『해킹 익스포즈드: 웹 애플리케이션(Hacking Exposed: Web Applications) 2판』을 공동 집필하기도 했다. 현재 샌프란시스코에 거주하며, 이 자리를 빌려 자신의 촌스럽고 서툰 플레이를 참아준 동료 RPG 게이머들에게 감사의 마음을 표했다.


[ 옮긴이의 말 ]

보안 실무자와 모의 해킹 전문가가 바로 활용할 수 있는 최신 기술이 담긴 책!
웹 보안의 개념과 실전 예제가 모두 담긴 책!

웹 보안이 보안 분야의 화두가 된 후 웹 해킹과 웹 보안을 다룬 책이 많이 나왔습니다. 그렇기에 2010년에 웹 보안 책이 왜 다시 나왔는지 궁금할 수도 있습니다. 하지만 해킹 기술, 특히 웹 해킹 기술은 1년이 다르게 급변하고 있습니다. 트위터, 레딧(reddit), 해커 포럼 등 다양한 곳에서 저마다 신기술이 소개되는 요즘에 보안 실무자에게 가장 중요한 건 최신 기술을 빨리 습득하고 이해하는 것입니다.

그러나 세상은 특정 기술에 집중해서 귀 기울일 수 없을 정도로 빨리 돌아가며, 당장 해결해야 할 업무는 넘쳐나고 공부할 것도 많은 게 현실입니다. 이런 의미에서 최신 기술을 모은 책을 펴내는 건 아주 가치 있는 일이라 생각합니다. 특히 XSS, SQL 인젝션 등과 같이 오래된 공격 기술의 최신 구현을 소개하는 건 대부분의 웹 보안 입문서가 간과하는 부분입니다. 예를 들어 웹 보안 입문서에는 XSS를 다룰 때 가장 간단한 형태의 구현 예제인 < script >alert(1)< /script > 정도만 소개하는 게 보통입니다. 실질적으로 보안 실무자나 보안을 공부하려는 사람에게 필요한 건 이미 대부분의 애플리케이션 방화벽이 차단하는 기본적인 XSS 구현이 아니라 요즘에도 통하는(어느 정도 수준의 방화벽도 우회할 수 있는) 최신 XSS의 예입니다. 그래야 실제로 발생하는 웹 해킹 시도를 차단할 수도 있고 모의 해킹도 잘 수행할 수 있기 때문입니다.

『해킹 초보를 위한 웹 공격과 방어』는 이런 부분을 시원하게 긁어 줍니다. 최신 웹 보안 신기술을 소개하는 동시에 웹 보안의 기본 개념과 최신 구현 방법도 다뤘습니다. 이 책의 백미는 기존 책에서 찾아볼 수 없는 최신 웹 보안 동향과, 바로 적용할 수 있는 실질적인 예제라고 할 수 있습니다. 웹 보안 실무자와 학생에게 꼭 필요한 필독서로 누구나 부담 없이 읽을 수 있는 분량이지만 최근까지의 웹 보안 핵심이 모두 담겨있습니다. 웹 보안의 최신 사례나 웹 해킹과 웹 보안의 기본을 익히고 싶은 사람 모두 이 책을 읽으면 대부분의 궁금증을 해소할 수 있으리라 생각합니다.


[ 옮긴이 소개 ]

민병호
서울대학교 컴퓨터공학과에서 학사와 석사를 마쳤으며, 보안 연구가를 꿈꾸며 계속 정진 중이다. 옮긴 책으로 에이콘출판사에서 펴낸 『TCP/IP 완벽 가이드』(2007), 『새로 보는 프로그래밍 언어』(2008), 『리눅스 방화벽』(2008), 『크라임웨어』(2009)가 있다.

목차

목차
  • 1장 크로스사이트 스크립팅
    • HTML 인젝션의 이해
      • 인젝션 가능 지점 찾기
      • XSS 공격 유형
      • 안전한 문자셋 처리
      • 오동작을 이용한 필터 우회
      • 금지 문자는 사용하지 않는 XSS 공격
      • 브라우저의 특징 고려
      • 기타 고려 사항
    • 방어법
      • 문자셋 명시
      • 문자셋과 인코딩의 정규화
      • 출력 인코딩
      • 제외 목록과 정규식 사용 시 주의점
      • 코드 재사용(다시 구현하지 말자)
      • 자바스크립트 샌드박스
    • 정리
  • 2장 크로스사이트 요청 위조
    • 크로스사이트 요청 위조의 이해
      • 강제 브라우징을 이용한 요청 위조
      • 이미 인증된 사용자 공격
      • CSRF와 XSS의 위험한 만남
      • POST를 이용한 공격
      • 다양한 방식으로 접근 가능한 웹
      • CSRF의 변형: 클릭재킹
    • 방어법
      • 웹 애플리케이션 방어
      • 웹 브라우저 방어
    • 정리
  • 3장 SQL 인젝션
    • SQL 인젝션의 이해
      • 질의문 깨부수기
      • 데이터베이스 정보 추출
      • 기타 공격 벡터
    • 방어법
      • 입력 검증
      • 질의문 보호
      • 정보 보호
      • 데이터베이스 최신 패치 유지
    • 정리
  • 4장 잘못된 서버 설정과 예측 가능한 웹페이지
    • 잘못된 서버 설정과 예측 가능한 웹페이지로 인한 공격의 이해
      • 안전하지 않은 디자인 패턴 식별
      • 운영체제 공격
      • 서버 공격
    • 방어법
      • 파일 접근 제한
      • 객체 참조 사용
      • 취약한 함수의 차단
      • 권한 확인 의무화
      • 네트워크 연결 제한
    • 정리
  • 5장 인증 방식 우회
    • 인증 공격의 이해
      • 세션 토큰 재활용
      • 브루트포스
      • 스니핑
      • 암호 초기화
      • 크로스사이트 스크립팅
      • SQL 인젝션
      • 사용자 속이기
    • 방어법
      • 세션 쿠키 보호
      • 사용자 개입
      • 사용자 귀찮게 하기
      • 요청 처리율 제한
      • 기록과 다중 분석
      • 추가적인 인증 기법의 사용
      • 피싱 방어
      • 암호 보호
    • 정리
  • 6장 로직 공격
    • 로직 공격의 이해
      • 작업 흐름의 오용
      • 정책과 실무의 허점 공격
      • 귀납법
      • 서비스 거부
      • 취약한 디자인 패턴
      • 정보 선별
    • 방어법
      • 요구 사항 문서화
      • 광범위한 테스트 케이스 생성
      • 정책 반영
      • 방어적 프로그래밍
      • 클라이언트 검증
    • 정리
  • 7장 신뢰할 수 없는 웹
    • 멀웨어와 브라우저 공격의 이해
      • 멀웨어
      • 브라우저 플러그인의 다면성
      • 도메인 네임 시스템과 출처
    • 방어법
      • 안전한 웹 서핑
      • 브라우저 고립
      • DNS 보안 확장

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안