퍼징은 약 20~30년 정도 연구가 이루어지고 있으나, 아직 관련한 서적 출판물이 적다. 아래의 책은 거의 유일하다시피 '정석'으로 일컬어지는 "Fuzzing - Brute Force Vulerability Discorvery"이다.


링크 : Amazon, 교보문고 해외서적

저자인 Michael Sutton의 이력은 독특한데, 상경대 출신으로 공인 회계사로 근무하다가 이후 George Washington에서 정보시스템 분야로 공학석사 학위를 수여하였다. 현재 VeriSign 산하의 iDefense 연구소장이며, 각종 정보보안 컨퍼런스에서 다수의 발표를 수행하였다.


본 도서는 2007년 출시되었으나 그의 연구는 2006년에 Recon 컨퍼런스(취약점 분석과 리버스 엔지니어링을 주제로 함)에서 "Recon 2006 - Michael Sutton - Fuzzing - Brute Force Vulnerability Discovery"라는 제목으로 발표된 바 있다. 해당 내용을 다듬어서 서적으로 출간한 듯 하다.

(아래의 링크를 통해 2006년 당시의 발표내용 약 1시간 분량을 확인할 수 있다. 10년전 자료다보니 화질이 그닥 좋지는 않다.)

발표자료 ppt : (http://recon.cx/en/f/msutton-fuzzing.ppt)


이 책은 퍼징(Fuzzing)을 통해 소프트웨어 취약점을 발견하고자 하는 사람이나, 혹은 그러한 방법으로부터 소프트웨어를 보호하고자하는 사람 모두에게 유용할 것이다.


(이 책의 번역서는 아직 한국에 출시되어있지 않다. 기회가 된다면 조금씩 시간날 때마다 몇페이지씩 번역하고 있는데.. 아직 출판시장에서 계약이 어떻게 이루어지는지 잘 모르겠다. 나 역시도 언제 다 할수나 있을지 모르므로 아직은 설레발 ㄴㄴ)


아래는 서문의 '이 책의 구성'(Approach)을 번역한 내용이다.


이  책이 전하고자하는 내용들이 얼마나 잘 활용될 수 있을지는 여러분의 배경지식과 마음가짐에 달려있습니다. 만약 퍼징을 처음 접하시는 분이라면, 이 책의 구성을 따라 순서대로 학습하시기를 권장합니다. 본 도서는 점진적으로 고급 수준의 주제를 논의하기 위해 그와 관련된 배경지식들을 적시에 제공하기 위해 각 단원을 의도적으로 배치하였습니다. 혹시 이미 퍼징 도구를 여러번 접해보신 분이라면, 독립적으로 구성된 각 단원의 장과 절을 자유자재로 넘나들며 원하는 주제에 곧바로 접근하셔도 큰 어려움은 없을 것입니다.


Part 1 에서는 이 책 전체에서 다루게 될 퍼징 기법의 유형을 정의하고, 각 단계를 살펴봅니다. 퍼징을 처음 접하시는 분이라면 이 부분을 특히 유의하시기 바랍니다. 거의 모든 대상에서 퍼징을 통해 취약점을 발견할 수 있으며, 대부분의 경우는 가장 기본적인 원칙에 입각한 접근법을 취합니다. 따라서 취약성 분석평가 방법론으로써의 퍼징에 대한 정의를 학습하고, 그 유형에 관계없이 공통적으로 필요한 기본 지식을 본 단원에서 자세히 설명할 것입니다.


Part 2 에서는 어떤 대상의 특정 클래스를 퍼징하는 방법에 중점을 둘 것이며, 각 대상은 2개 또는 3개의 Chapter로 나누어 진행합니다. 첫 번째 장에서는 대상 클래스의 관련지식을 설명하고, 그 다음 장에서는 자동화(Automation)에 초점을 맞추어 특정 대상에 대한 Fuzzer 를 설계하는 방법을 자세히 안내합니다. 만약 윈도우 운영체제와 UNIX등 상이한 플랫폼의 차이가 심한 경우, 자동화 관련 내용을 각각 별도의 두 개의 장으로 구분하였습니다. 예를 들어, ‘파일 포맷 퍼징’과 관련된 내용은 3개의 Chapter에 걸쳐 진행되는데, 먼저 11장 에서는 파일 파서에 대한 배경지식을 설명하고, 12장에서는 Unix 기반의 파일 퍼저를 실제로 구현하는 일에 초점을 둡니다. 그리고나서 13장에서는 윈도우 운영체제에서 구동할 수 있는 파일 퍼저를 개발하는 것을 설명합니다.


Part 3은 퍼징과 관련한 고급 주제를 다룹니다. 퍼징에 관해 이미 해박한 지식을 가지고 계신 분들은 바로 Part 3으로 진입하셔도 좋습니다. 그러나 대부분의 독자는 Part1 및 Part2의 내용부터 차근차근 진행하고 넘어오시는 것이 좋을 것으로 사료됩니다. Part 3에서는, Fuzzer분야에 다가올 미래와 관련하여, 향후에 등장할 퍼징을 활용한 고급 취약점 분석 도구와, 관련 신기술에 중점을 둡니다.


마지막으로, Part 4에서는 책 전체에서 배운 내용을 다시 한 번 돌아보고, 우리가 나아가야 할 길을 알려주는 수정 구슬을 들여다 볼 것입니다. 퍼징은 더이상 신상품이라 부르긴 어렵지만, 그럼에도 여전히 더욱 성장하고 발전할 가능성은 무궁무진합니다. 부디 이 책을 통해 여러분이 퍼징 분야 연구에서 더욱 많은 영감을 얻으실 수 있기를 바랍니다.


저자가 직접 해당 책의 홈페이지를 운영하며 도서에서 언급한 소프트웨어들을 안내하고 있다.

또한, 21장 : Fuzzing Frameworks 이 sample로 제공되고 있으니 참고하기 바란다.

http://www.fuzzing.org/wp-content/sample_chapter.pdf



CPUU님의 창작활동을 응원하고 싶으세요?