|
http://jenemia.tistory.com/243 이 책은의 구성은 저자가 상용 프로그램의 취약점을 찾고, 이를 제작사에게 알려주어 해결하는 과정의 한편의 일기와 같다. 상용 프로그램의 취약점을 찾고 해커들이 어떤 방식으로 익스플로잇을 만드는 지를 소개하고, 직접 익스플로잇을 만든 것을 동영상으로 보여준다. 해커가 하는 일을 간접적으로 체험을 할 수 있다. 하지만 이책의 목표는 해커가 되는 방법을 알려주는 것이 아니고, 해커들이 어떤 방식으로 취약점을 찾아내고, 이를 방어하기 위한 프로그래밍은 어떻게 해야 하는지를 알려 준다. 대상 독자는 프로그래밍을 어느정도 알고 있어야 할 것이다. 소스를 보여주면서 설명을 하기 때문이다. 소스는 C언어와 약간의 어셈블리어로 설명을 하고 있다. 하지만 모든 것을 이해 하려고 하지 않아도 된다. 나 같은 경우도, 어느정도 씨언어를 알 고 있다고 말할 수 있겠지만.... 소스를 모두 이해하지는 못하였다. 그렇다고 다음 문장으로 못넘어 가는 것도 아니다. 그냥 그런가 보다 하고 끝까지 읽으면 이해가 되고, 앞으로 내가 프로그래밍 할 때 어떤식으로 해야 할지 생각하게 된다. 그리고 내용 자체가 흥미롭다! 내가 경험하지 못할 분야를 간접경험을 하는 것이기 때문이다. 이 책의 편집은 크기가 작아 전철에서 읽기 편해 출퇴근시간에 금방 읽어 버렸다. 소스의 이해를 돕기 위해 그림설명도 되어 있어 읽기도 편했다. IT 공학도에게 추천! |
|
A Bug Hunter's Diary. 다이어리라는 말에 살짝 속았다. 일기?? 아니. 이 책은 수필 형식의 글이겠지 라는 기대를 저버리고 많은 전문적 지식과 사례를 담은 책이다.
이 책을 보고 나름대로 정리해 본 바. 소프트웨어의 취약점(버그)을 찾고 그 취약점을 증명하며, 취약점을 직접 컨트롤하여 치명적인 에러를 발생시키는 것을 기쁨으로 여기는 사람. 그에 그치지 않고 올바른 방법으로 소프트웨어를 개발한 사람들에게 알려 소프트웨어를 업그레이드 할 수 있도록 돕는 사람. 문제가 있는 소프트웨어를 사용하는 사람들이 피해를 받지 않도록 알리는 사람. 이런 사람이 바로 버그 사냥꾼이다.
책 내용을 큰 틀로 보면 7가지의 버그 헌팅 수법(?)을 단계별로 설명한다. 저자 토비아스 클라인이 신나게 직업병을 발휘해 소프트웨어의 취약점을 찾아내는 노하우를 전한다. 버그를 찾는 방법은 매우 다양하고 해커 저마다의 노하우가 있을 것이다. 저자는 책의 도입부에서 해커(저자가 말하는 버그 사냥꾼)들이 알고 있는 이러한 노하우들이 다양한 책으로 더 많이 소개되길 바란다고 말한다. 이 책이 바로 그의 바램을 보여주는 완벽한 자료이다.
버그헌터가 뭥미? 익스플로잇이 뭥미? 생소한 분야, 생소한 단어에 한번 놀라고 저자가 소프트웨어를 바라보는 신기한 시각에 또 한번 놀랐다. 이 책은 완성된 소프트웨어를 디버깅하며 취약점을 찾는 과정 속에 소스코드를 직접적으로 다룬다. 그럼 코드 모르는 사람은 이 책을 못 읽을까? 나는 게임을 만드는 프로그래머, 고로 개발자이다. 그래서 이 책을 읽을 수 있는 것이겠지,,, 물론 코드 이해 면에서는 분명 좀 더 나음이 있을 것이다. 그러나 책을 읽으면서 드는 생각이, 어차피 나는 해커가 아니기에 이 사람이 말하는 것을 완벽하게 이해하지 못한다는 것이다. 그렇다면, 나는 이 책을 통해 무엇을 얻었나?? 이 책을 통해 나는 2가지를 생각하게 되었다. 첫째, 아! 버그를 이렇게 찾을 수 있구나! 디버깅 할 때, 저자처럼 발상을 바꿔서 생각한다면 지금보다 꼼꼼하게 코드 체크를 할 수 있겠다. 둘째, 아! 개발을 하는 사람은 이런 것들을 유의하며 개발하면 좋겠구나! 저자는 책 속에서 스스로 깨달은 내용을 "교훈" 이라는 카테고리를 통해 전한다. 그 중에 몇가지 기억에 남는 문장을 적는다.
이 책이 제목처럼 '일기'는 아니었지만, 책을 읽는 동안 기분좋은 '속음'에 미소지었다. ^^ |