본문 바로가기
컴퓨터 과학

리버스 엔지니어링 기드라 실전 가이드

by pagehit 2022. 2. 22.
반응형

이 글은 한빛미디어 도서 서평단 <나는 리뷰어다>를 통해 책을 제공받아 작성하였습니다.

이 책은 번역서 '리버스 엔지니어링 기드라 실전 가이드(한빛미디어)' 입니다.

 

기드라(Ghidra)는 미국 국가안보국에서 만들어 오픈소스로 공개한 리버스 엔지니어링 도구입니다. 리버싱 도구인 ollydbg, IDA free 제품 보다 뛰어는 프로젝트라고 알려져 있습니다. 기드라를 이용하면 디컴파일 외에도 악성 프로그램 분석, 펌웨어 분석, 취약점 진단 등을 할 수 있습니다. 이 책에서는 실습을 중심으로 기드라에 대한 경험을 늘려 주며, 조작 방법과 분석 방법을 효과적으로 알려 줍니다.

 

<1장 리버스 엔지니어링 입문>에서는 리버스 엔지니어링에 대한 기초 지식을 다룹니다. 프로그램이 실행될 때 메모리 구조는 어떻게 생겼는지, C언어는 어떻게 어셈블리 언어로 바뀌는지, 윈도우 실행 파일인 PE 포맷이 무엇인지, x64 아키텍처의 구조에 대한 개념을 설명해 줍니다.

 

<2장 기드라 입문>에서는 기드라 설치 방법부터 시작해서, 프로그램을 가져와 기드라를 어떻게 사용하는지에 대한 기본적인 사용법을 배울 수 있습니다. 책에서는 이러한 방법에 대한 화면을 제공해 주어 따라하기 쉽습니다.

 

<3장 리버스 엔지니어링 연습>은 윈도우 샘플 프로그램을 분석해 보면서 기드라를 이용한 리버스 엔지니어링 기법을 설명해 줍니다.

 

<4장 Ghidra script/extension으로 기능 확장>에서는 Ghidra Extension에 대해 주로 다룹니다. 기드라 스크립트를 작성하는 방법과 실행하는 방법, 기드라 확장 프로그램을 만드는 방법에 대해 설명해 줍니다. 기드라 스크립트와 확장을 이용하면 자동화를 통해 디스어셈블 결과를 수월하게 분석할 수 있습니다. 

1장부터 4장까지는 기본적인 리버싱 방법과 개념, 기드라 사용법을 공부합니다.

 

<5장 Ghidra vs. Crackme - ELF 크랙미 분석>에서는 연습용 프로그램인 크랙미를 이용해 프로그램을 리버스 엔지니어링 하여 액세스 코드나 비밀번호를 밝혀내는 방법을 알아 봅니다. 기드라 분석 결과를 바탕으로 멀웨어에 이용되는 인코딩 방법과 취약점에 대하 공부하며, 버퍼 오버플로, Go 언어로 구현된 바이너리 해석방법에 대해 배울 수 있습니다.

 

<6장 Ghidra vs. MOTHRA - 윈도우 백도어 분석>에서는 윈도우 모의 백도어 MOTHRA를 분석하며 기드라를 활용해 동적 멀웨어 분석을 학습합니다. MOTHRA RAT을 분석하면서 멀웨어가 어떻게 동작하는지 설명해 줍니다.

 

<7장 Ghidra vs. BlackBicorn - 윈도우 패커 분석>에서는 윈도우 패커 BlackBicorn을 분석하며 최근 윈도우 멀웨어에 이용되는 패커 구조와 기드라를 활용한 동적 분석 방법을 학습해 봅니다. 패커를 통해 난독화되어 있는 코드를 언패킹하여 원래 코드로 복호화하여 분석하기 위해, 패커가 어떻게 동작하는지 설명해 줍니다. 

 

<8장 Ghidra vs. Godzilla Loader - 윈도우 멀웨어 분석>은 윈도우 멀웨어 Godzilla Loader를 분석하며 기드라 분석 결과를 바탕으로 실제 멀웨어 동작을 공부합니다. 실제로 악용되는 멀웨어인 Godzilla Loader를 사용해 멀웨어의 기능을 분석해 봅니다.

 

<9장 Ghidra vs. SafeSpy - 안드로이드 앱 분석>에서는 윈도우 멀웨어 FakeSpy를 무력화한 SafeSpy를 분석하며 기드라를 사용한 동적 안드로이드 앱 분석 방법을 학습합니다. 안드로이드 앱 정적 분석을 통해 자바 프로그램의 디컴파일 방법과 네이티브 ARM의 바이너리 분석 방법에 대해 공부합니다.

 

프로그램에 대한 지식이 있어야 책을 이해할 수 있으며, 리버싱에 대한 지식은 없어도 책을 따라가며 공부할 수 있습니다.

반응형

댓글