웹 애플리케이션 보안을 책임진다!
웹 애플리케이션 해킹기법과 대응 『해킹 웹앱』. 인터넷에서 이메일을 확인하거나, 온라인 쇼핑몰에서 제품을 구입하거나, 단순히 업무를 하는 등 웹 사이트를 이용하는 사람들을 대상으로 한다. 전체 8개의 장으로 구성되어 있으며, 웹 사이트와 브라우저를 공격하는 해킹기법에 대해 살펴본다. 각 장에서는 실제 해킹 사례를 정리하고, 해킹의 작동원리를 세부적으로 설명하였다. 공격 방법은 물론, 공격의 잠재적 영향에 대해서도 다룬다.
웹 애플리케이션 해킹기법과 대응
인터넷에 어떠한 위협이 있는지 그리고 이러한 위협으로 자신을 어떻게 보호해야 하는지 알아보자!
"이 책은 보안 전문가들뿐만 아니라 일반인들에게도 매우 가치 있는 책이다. 직접 웹 애플리케이션을 개발하려는 사람이나 웹 해킹기법으로부터 자신의 웹 사이트를 보호하려는 사람들은 반드시 이 책을 읽어야 하며, 마이크 쉬마의 전문성을 전수받을 수 있다."
- Doug Steelman, Dell Secureworks의 최고보안책임자
"이 책은 초급자들이 웹 애플리케이션에 가장 위협적인 위험에 대해 배울 수 있도록 해준다. 단순히 개념만 설명하는 것이 아니라 서로 다른 취약점이 어떻게 연관되어 있으며, 혼합하여 사용할 수 있는지도 자세히 설명한다. 그리고 가장 중요한 것은 용어를 이해하기 쉽게 기술했다는 것이다. "
- Robert Hansen, Falling Rock Networks and SECTHEORY LTD의 CEO
정보 보안 전문가들은 해킹, 공격, 웹 취약점 등에 대한 최신 트랜드를 어떻게 파악하는가? 한 가지 방법은 이 책을 읽는 것이다. 저자인 마이크 쉬마는 인터넷에 있는 가장 악의적인 해킹기법이 이 책에 포함될 수 있도록 심혈을 기울여 책 내용을 직접 선택하였다. 쉬마는 공격의 원리에 대해 쉽게 설명할 뿐만 아니라 웜, 트로전, 봇넷을 제거하는 방법과 미래의 위협으로부터 웹 애플리케이션을 보호할 수 있는 방법에 대해서 자세히 설명한다. 대응책에 대한 자세한 설명으로, 이러한 위협들에 직면해도 대응할 수 있다.
설령 웹 사이트를 개발하거나 HTML 작업을 하지 않는다고 할지라도 이 책을 읽으면 웹 사이트가 어떻게 공격을 받는지 그리고 이러한 공격으로부터 사이트를 어떻게 보호할 수 있는지 배울 수 있다. 그리고 웹 브라우저 자체도 더 안전하게 사용할 수 있는 방법에 대해서 자세히 설명한다.
- 금융정보부터 사진까지 더 많은 데이터가 웹 애플리케이션에 저장되고 있다. 하지만 세계 그 어디에서도 이 데이터를 접근할 수 있다면, 데이터의 보안은 어떻게 보장할 수 있겠는가?
- 가장 위협적인 해킹기법이 어떻게 단순히 웹 브라우저와 HTML 기초지식으로 공격할 수 있는지 배울 수 있다.
- HTML 인젝션, XSS CSRF, SQL 인젝션, 인증체계 우회, 로직 공격, 브라우저 해킹기법 등 인터넷에서 가장 위협적인 취약점과 그 대응책에 대해 배울 수 있다.
독자 대상
초중급
이 책의 구성
이 책은 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장은 사이트 전체가 어떻게 구성되었는지, 공격자들이 자신들의 이득을 위해 어떻게 허점을 찾는지, 그리고 프로그래밍 체크리스트에 없는 문제에 직면하였을 때 개발자들이 무엇을 할 수 있는지에 대해서 설명한다.
출판사 리뷰
이 책은 인터넷에서 이메일을 확인하거나, 온라인 쇼핑몰에서 제품을 구입하거나, 단순히 업무를 하는 모든 사람들에게 도움이 될 것이다. 웹에서 개인 정보가 어떻게 해킹을 당하고, 웹 사이트에서 악성 콘텐츠가 어떻게 작동되는지 아는 것이 모든 사람들에게 도움이 되면 됐지 해가 되지는 않을 것이다.
웹 애플리케이션 개발자와 보안 전문가들은 이 책에서 설명하는 웹 공격의 기술적 내용과 방법론이 많은 도움이 될 것이다. 사이트 보안을 향상시키기 위한 첫 번째 단계는 위협과 잘못된 프로그래밍 관례를 이해하는 것이다. 잘못된 프로그래밍 관례는 보안적 결점으로 이어지고, 보안적 결점은 취약점으로 이어진다. 그리고 취약점이 발생하면 암호화되지 않은 데이터베이스에서 수백만 개의 패스워드가 탈취될 수도 있는 것이다.
이 책의 각 장에서는 웹 애플리케이션에 대한 여러 해킹기법의 예를 보여준다. 공격 방법뿐만 아니라 공격의 잠재적 영향에 대해서도 살펴본다. 잠재적 영향은 사이트의 보안이나 사용자의 프라이버시에 관한 것일 수도 있다. 그리고 일부 해킹기법은 웹 서버 공격과 전혀 관련이 없는 것일 수도 있다. 그 대신에 브라우저를 공격할 수도 있다. 웹 보안은 애플리케이션뿐만 아니라 브라우저에도 영향을 미치는 것이다. 바로 애플리케이션과 브라우저에 해커들이 원하는 정보가 있기 때문이다