[BOOK] 리버스 엔지니어링 기드라 실전 가이드 – 나카지마 쇼타, 고타케 다이치, 하라 히로아키, 가와바타 고헤이 지음 / 이창선, 임재용 옮김
![[BOOK] リバースエンジニアリングツールGhidra実践ガイド](https://yujaewook.files.wordpress.com/2022/02/2022-02-05-16.54.50.jpg?w=300&h=300)
부제: “유사 멀웨어로 익히는 소프트웨어 정적 분석”
미국 NSA(National Security Agency)가 개발한 SRE(Software Reverse Engineering) 도구인 기드라(Ghidra)에 대한 책이다.
기드라는 NSA가 오픈소스로 공개한 SRE 도구로 JAVA에서 실행되는 크로스플랫폼 도구이다. 디컴파일러(decompiler)와 자동화를 위한 스크립트(Ghidra Script)를 제공한다. 현업에서는 주로 IDA Pro를 사용하는데 리버스 엔지니어링을 공부하기 위한 도구로는 많이 비싸다. 회사에 사달라고 하자. 또한, 기드라는 오픈소스라서 리버스 엔지니어링 도구에 대해 관심이 있다면 분석해 보는 것도 공부가 될 것이다.
책은 크게 기초편과 실전편으로 나뉘어 기초편에서는 리버스 엔지니어링과 기드라에 대해서 설명하고, 실전편에서는 학습을 위한 유사 멀웨어(무력화시킨 악성코드)와 실제 멀웨어(악성코드)를 이용한 분석 과정을 보여준다. 실제로 동작하는 멀웨어를 이용해서 실습을 진행해야 하기 때문에 예제 다운로드를 소개하면서 ‘가상 환경 구축’을 강조하고 있다.
‘가상 환경 구축’에 대한 소개를 간단하게 설명하고 넘어간다. 책에서 다루는 범위가 아니기도 하지만 ‘이 책은 가상 환경 정도는 구축할 수 있고, 사용할 수 있는 독자를 대상으로 한다.’는 것을 보여준다. VMware나 VirtualBox의 기본 사용법을 찾아보고, 실습을 위한 환경을 구축한 뒤에 책의 내용을 따라해 보는 것을 추천한다. 특히 스냅샷(snapshot) 기능을 잘 활용해야 실습이 편하다.
기초편 ‘리버스 엔지니어링 입문’의 내용을 보더라도 어셈블리 언어, C 언어, 운영체제에 대해 간단히 짚고 넘어가기 때문에 SRE를 처음 접하는 독자는 많은 어려움을 겪을 것으로 예상된다. 리버스 엔지니어링에 대한 기초적인 내용은 다른 책이나 자료를 통해 공부해야한다. 기초와 관련된 주요 키워드는 대부분 소개하고 있으니 책에 소개된 내용을들 웹서핑하면서 기초 지식을 습득하는 것도 좋을 것 같다. 900페이지 가까운 책이지만 기초적인 내용과 실제 분석에 대한 내용을 모두 담기에는 어려웠을 것이다.
이 책은 기드라를 이용해서 실제 분석을 어떻게 하는지 소개하는 실전편이 핵심이다. 기초편에서 소개된 내용을 잘 이해하고 있다면 실전편에서는 구축해 놓은 가상 환경에서 연습용 악성 코드를 실행해가며 기드라의 사용법, 리버스 엔지니어링 방법, 악성 코드의 동작 방식을 익힐 수 있다. 리버스 엔지니어링은 단시간에 습득할 수 있는 내용이 아니다. 시간을 들여 차곡차곡 쌓아야 스스로 소프트웨어를 분석해 볼 수 있다. 리버스 엔지니어링에 필요한 기초 지식은 있으나 어떻게 하는지에 대한 부분이 궁금하다면 책을 통해 방법을 익혀보자. 스킬이 쌓이면 취약점을 찾아 취약점 보상금(Bug Bounty)에 도전하거나 약성 코드를 분석하여 백신 개발에 기여 할 수도 있다.
다소 어려운 책이지만 리버스 엔지니어링에 관심이 많고, IDA의 비용 때문에 실습을 못했다면 기드라와 이 책으로 도전해 보는 것도 좋을듯하다.
“한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.”
BOOK Comment 1-2-3
1. SRE를 위해서는 알아야 할 것이 많다. 따라서 이 책은 쉽지는 않다.
2. 기초편은 리버스 엔지니어링 보다는 기드라에 초점을 더 맞췄으면 좋았을 것 같다.
3. 실전편은 어떻게 분석하는지 간접적으로 경험해 볼 수 있다.