유사 멀웨어로 익히는 소프트웨어 정적분석
리버스 엔지니어링 기드라 실전 가이드
(나카지마 쇼타, 고타케 다이치 외, 한빛미디어)
리버스 엔지니어링(Reverse Engineering, RE, 역공학, 逆工學)은
장치 또는 시스템의 기술적인 원리를
그 구조분석을 통해 발견하는 과정이다
독학으로 코딩을 공부하면서 어려웠던 점 중에 하나는 기초적인 문법을 익히는 부분까지는 어찌어찌 익히겠는데 조금 더 큰 프로젝트 작업을 해보려고 하면 굉장히 막막해진다는 것이었다. 그럴때가 되면 다른 사람들은(전문가) 어떤 식으로 프로젝트를 구성하고 만들까가 참 궁금했다. 그때 알게된 단어가 리버스 엔지니어링이었다.
안드로이드 앱 개발을 공부할 때 인터넷을 검색해가며 몇 가지를 분석해보려고 했지만 기초가 부족한 상태에서는 번역되어 나온 코드도 해석해내기 무척 어려웠다. 그리곤 안드로이드 개발 공부는 멈췄다.
이번 리뷰어 활동을 통해 받게 된 "리버스 엔지니어링 기드라 실전 가이드: 유사 멀웨어로 익히는 소프트웨어 정적 분석"는 그때의 기억을 소환해 주었다.
이 책은 미국 국가안보국(NSA)이 2019년 3월에 공개한 소프트웨어 리버스 엔지니어링 도구인 기드라(Ghidra)에 대해 설명한다. 이 도구로 인해 디스어셈블러뿐만 아니라 고기능 디컴파이러를 무료로 사용할 수 있게 되었다.
처음엔 책의 내용이 매우 어렵게 느껴졌다. 1장에서 C언어와 어셈블러 기초를 소개하고 있는데 이에 대한 배경 지식이 없으면 당황할 수도 있겠다. 가볍게(?) 읽고 넘어갔다. 2장에서는 기드라에 대한 기본적인 구성, 사용법 등을 소개한다.
3장과 4장에서는 기드라를 가지고 기초적인 실습을 하며 기드라 사용법을 익히면서 리버스 엔지니어링의 과정을 연습해본다. 출판사에서 제공하는 예제 파일(downloader.exe)을 활용해서 간단히 연습해볼 수 있었다.
5장부터 9장까지는 보다 실전적인 예제들을 통해 연습을 해볼 수 있었다. 모의로 분석할 수 있도록 제공된 크랙미, 윈도우 백도어, 윈도우 패커, 원도우 멀웨어, 안드로이드 앱들을 가지고 단계별로 분석하는 연습을 할 수 있다.
처음 책을 받아보았을 때 엄청난 두께에 놀랐다. 900페이지가 넘는 방대한 분량에 기드라에 대한 사용법과 분석 방법을 꾹꾹 담아 놓았다. 다양한 종류의 멀웨어들을 모의로 분석해 볼 수 있었던 것이 신선했다.
아마도 이 책을 읽어볼까 고민하는 분들은 컴퓨터 초보자분들은 아닐 가능성이 높다. 기드라 사용법이나 리버스 엔지니어링을 공부하는 데에는 충분히 좋은 책이라고 생각된다. 저같은 초보자에는 최큼 어렵게 느껴졌지만 조금 더 시간을 갖고 연습해보면 리버스 엔지니어링을 경험해보는 면에서는 아주 훌륭한 책이었다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
YES24에서 책 정보 보기
댓글