한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
책 소개
2019년 리버스 엔지니어링 툴인 기드라가 오픈 소스로 공개가 되었다.
기드라는 매우 강력한 사용자 편의 기능과 스크립트를 제공하여 리버스 엔지니어링에 대한 진입 장벽을 낮춰 주었다.
이 책은 리버스 엔지니어링 기초 이론 및 기드라의 사용법 그리고 실전적인 분석 방법에 대해 다룬다.
특히 리버스 엔지니어링에 필수라고 인식이 잡힌 어셈블리어를 잘 몰라도 기드라가 제공하는 디컴파일러가 출력한 유사 C 언어로 해설하기 때문에, 이에 대한 걱정 없이 소프트웨어 정적 분석에 입문할 수 있다.
대상 독자
리버스 엔지니어링이 무엇인지 궁금하지만, 높은 진입 장벽과 어려움에 고민만 했던 사람에게 매우 추천한다.
수월하게 읽기 위해선 기존 리버스 엔지니어링 툴을 다루어 봤거나, C 언어, 자바, 어셈블리어, 그리고 OS에 대한 지식들이 필요하다.
하지만 개인적으로 리버스 엔지니어링에 대한 관심만 있다면 좀 어렵더라도 C 언어, OS 지식 정도만 아는 사람에게도 추천하고 싶다.
기드라는 무료 오픈소스 툴로 IDA Pro 보다 쉽게 접근이 가능하고, 강력한 디컴파일, 그래프 시각화 등 사용자 편의적인 툴이 많아 C 언어와 OS에 대한 지식만 있다면, 리버스엔 지니어링에 도전할 수 있다.
그렇기 때문에 기존 사용자보다는, 리버스 엔지니어링이 무엇인지 경험해 보고 싶었지만 높은 진입장벽으로 인해 다가가지 못했던 그런 독자들에게 더욱 큰 선물 같은 책이라고 생각한다.
다루는 내용
크게 기초, 실습, 부록으로 나누어져 있다.
기초 챕터는 기본적인 어셈블리어와 기초 지식, 리버스 엔지니어링 연습으로 기드라 사용법을 익힌다.
실습 챕터는 ELF 크랙비, 윈도우 백도어, 패커, 멀웨어 및 안드로이드 분석을 한다.
부록 챕터는 기드라 응용 기능, 기드라 스크립트 등을 소개하고, 한국어판 특별 부록으로 CTF 형식의 문제가 추가되어 있다.
생각 및 느낀점
리버스 엔지니어링에 막연한 호기심과 동경으로 공부하고 싶었지만, 어셈블리어를 거의 안 해봐서 매우 부담스러웠다.
그런데 “리버스 엔지니어링 기드라 실전 가이드”는 이런 사람들의 어려움을 잘 알고 있었는지, 어셈블리어를 거의 하지 않아도 리버스 엔지니어링을 할 수 있도록 도와준다.
그리고 실전 연습 역시 단순한 실습이 아닌, 대상에 대한 기초적인 지식부터 단계 단계 풀어나가며 마치 하나의 이야기처럼 풀어 나가고 있어 이해를 돕는다.
만약 리버스 엔지니어링을 배우고 싶지만, 막연한 어려움으로 시작하지 못하고 있다면, 이 책을 꼭 읽어보길 추천한다.