프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있도록 해킹의 예술과 과학을 설파한 책. 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 초보 해커들에게 해킹의 진수를 알려주는 한편, 실제 코드와 해킹 기법, 동작 원리에 대한 설명이 가득한 간결하고 현실적인 해킹 가이드다. 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 거의 모든 부분을 다룬다.
강유 (옮긴이)의 말
요즘 해킹이라는 용어를 여기저기에서 자주 들을 수 있다. 트위터 계정 해킹, 스마트폰 해킹, 인터넷 뱅킹 해킹, 온라인 게임 머니 해킹 등 해킹이라는 용어는 다양한 곳에서 쓰인다. 컴퓨터 전문가가 아니더라도 해킹이라는 얘기를 한 번 이상은 들어봤을 것이다. 그래서 많은 사람이 해킹에 관심을 갖고 있다. 그런데 방금 이야기한 예에서도 그렇듯 사회적으로 해킹이라는 용어는 나쁜 의미를 내포한다. 즉, 범죄, 악용이라는 단어가 연상된다. 하지만 이 책의 본문에서도 설명하듯이 해킹이 반드시 나쁜 '범법 행위'인 것만은 아니다. 현재는 사회적으로 나쁜 의미로 통용되지만, '해킹'은 컴퓨터에 푹 빠진 이들이 컴퓨터에 대해 좀 더 알고자 하는 순수한 열정에서부터 탄생했다. 존 에릭슨은 이 책에서 다양한 해킹 기법과 기술을 예술적으로 설명하면서 내면으로는 그들의 순수한 열정을 독자들에게 알리고자 하는 것이다.
사회 곳곳에서 해킹과 보안에 대한 이야기가 나오면서 많은 사람이 해킹과 보안에 관심을 갖고, 해킹을 배우고자 한다. 그들이 단순한 따라 하기만으로 이용할 수 있는 '해킹 겉핥기' 툴들은 많지만 정작 해킹의 본질을 알려주는 툴이나 자료는 부족하다. 이 책은 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 많은 부분을 다룬다. 심도 있게 다루지만 충분한 예제로 비교적 쉽게 이해할 수 있다. 그리고 해킹 환경을 손쉽게 구축해주는 라이브 ISO 이미지를 제공하고 있어 더욱 쉽게 해킹 공부를 할 수 있다. 이 책은 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 독자에게 해킹의 진수를 가르쳐줄 것이다.
1판에 비해 많은 부분이 추가됐는데, 프로그래밍 기초가 없는 독자를 위해 C 프로그래밍의 기본 내용을 설명하는 0x200 프로그래밍 부분이 보강됐다. 그리고 셸코드 작성과 사용법 부분을 보강해 따로 0x500 셸코드 장으로 분리했다. 또한 0x600 대응책에서는 해킹에 대한 방어 방법까지 다룬다. 1판에 비해 두 배 가까이 분량이 늘었으므로 해킹에 대해 더 많은 정보를 얻을 수 있을 것이다.
존 에릭슨 (지은이)의 말
이 책의 목표는 많은 사람과 해킹의 미학을 공유하는 것이다. 해킹을 하려면 넓고 깊은 지식이 필요하므로 해킹 기법을 이해하는 것은 꽤나 어렵다. 대부분 해킹 서적을 읽어봐도 해킹에 필요한 선행 지식을 다루지 않기 때문에 난해하고 복잡할 뿐이다. 그래서 『(개정판) 해킹: 공격의 예술』에서는 프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있게 했다. 그리고 이 책에서는 우분투(Ubuntu) 리눅스 기반의 부팅 가능한 라이브 ISO 파일을 제공한다. VirtualBox와 같은 가상머신에 이 ISO 이미지 파일을 돌리면, 어떠한 컴퓨터에서도 사용할 수 있다. 이 라이브 ISO 파일에는 책에 있는 모든 소스코드가 들어있어 책의 예제와 실험을 그대로 따라할 수 있는 개발 환경을 제공한다. 라이브 ISO 이미지 파일에 대한 상세한 내용은 뒤에서 확인할 수 있다.