멀웨어 분석가가 되기 위한 공부 방법(work-in-progress)
이것은 @PINKSAWTOOTH의 개인적인 견해이며, 반드시 당신에게 가장 좋은 방법이 아닐 수도 있습니다. 공부 방법의 한 예시로서 참고해 주시면 감사하겠습니다.
이것을 읽기 전에, 제가 존경하는 멀웨어 분석가 @hasherezade 님이 멀웨어 분석 공부를 어떻게 시작하면 좋을지 블로그에 정리하고 있습니다.
중복되는 부분이 있다고 생각하지만, 일독을 권장합니다. 또한, 아래 블로그는 영어 소스가 중심이므로, 가능한 한 일본어를 중심으로 한 소스를 소개하고 싶습니다.
[!NOTE]
2026년 추가: LLM 시대의 멀웨어 분석 학습
이 페이지를 쓰기 시작했던 당시는 LLM이나 AI Agent가 지금처럼 일상적으로 사용할 수 있는 시대가 아니었습니다.
2026년 현재, 멀웨어 분석이나 리버스 엔지니어링을 공부한다면 서적이나 웹상의 자료에 더해 LLM을 적극적으로 활용하는 것을 권장합니다. 특히 학습용 프로그램 작성, 코드나 어셈블리 설명, 분석, 분석 스크립트 작성, 분석 결과 정리 등에서 매우 유용합니다.
한편으로, 많은 분석 기술에서 LLM이 인간을 능가하는 장면이 늘어나고 있습니다. 그러나 그렇다고 해서 기초 지식이 불필요해진 것은 아닙니다. LLM의 출력을 이해하고, 자신 스스로 그 근거와 정확성을 확인하기 위해서는 전문 지식을 갖추고 있는 것이 중요합니다(그 작업이 의미 없어지는 날도 머지않았을지도 모르지만...). 본고에서는 LLM을 "답을 내는 장치"가 아니라 "함께 학습하는 교사, 분석 시의 조수"로서 활용하는 것을 전제로 하고 있습니다.
멀웨어 분석의 전제가 되는 지식
먼저, 멀웨어 분석의 전제가 되는 지식에 대해 간단히 설명합니다.
멀웨어 분석에 대해 배우기 전에, 최소한 컴퓨터 사이언스(계산기 과학)의 지식이 필요합니다.
- 컴퓨터 아키텍처
- 컴퓨터 네트워크
- 운영체제
- 프로그래밍 언어
- 자료 구조와 알고리즘
- etc...
이것들에 대해서는 대학이나 전문학교에서 이수하는 내용을 이해하고 있으면 좋을 것 같습니다.
(어딘가의 대학 온라인 실러버스 등을 확인함으로써 더 구체적인 내용을 알 수 있을 것입니다.)
본고에서는 프로그래밍 언어나 컴퓨터 사이언스를 어떻게 배울지는 범위 밖으로 하지만, 다음이 추천 자료입니다.
멀웨어 분석에 필요한 지식
멀웨어 분석에 필요한 지식을 크게 다음 5가지로 나눕니다.
- 멀웨어 분석 기술, 멀웨어의 동작, 악용하는 테크닉의 구현이나 실현 방법에 관한 지식
- 리버스 엔지니어링 대상 프로그램 개발에 관한 지식
- 리버스 엔지니어링에 관한 지식
- 분석 도구에 관한 지식
- LLM·분석 자동화에 관한 지식
멀웨어 분석 기술, 멀웨어의 동작, 악용하는 테크닉의 구현이나 실현 방법에 관한 지식
먼저 멀웨어란 무엇인가, 멀웨어 분석이란 무엇을 하는 작업인가를 배울 필요가 있습니다.
멀웨어 분석 전반에 대해 배우는 데 추천하는 자료, 서적을 소개합니다.
- 시큐리티 캠프 전국대회 2015에서의 멀웨어 분석 강의
- 나카츠루 님(@you0708)에 의한 시큐리티 캠프 전국대회 2015에서 개최된 멀웨어 분석 강의입니다.
- 처음 하는 멀웨어 분석
- 일본어로 멀웨어 분석 전반의 기초부터 발전적인 내용까지 다루고 있는 책입니다.
- 리버스 엔지니어링 도구 Ghidra 실전 가이드
- 저도 저자로 참여한 Ghidra를 사용한 정적 분석을 통해 멀웨어 구현을 배울 수 있는 책입니다.
- 리버스 엔지니어링 입문 @IT 연재
- 일본전신전화주식회사의 카와코야 님, 아오키 님, 이와무라 님에 의한 셸코드 분석을 해설한 기사입니다.
- 애널라이징 멀웨어
- 2010년 발행이라 내용은 오래되었지만, 어셈블리를 읽지 않는다는 제약으로 멀웨어 분석에 대해 다루고 있는 드문 책입니다.
- MWS Cup
- 정보처리학회 컴퓨터 시큐리티(CSEC) 연구회 산하의 MWS 조직위원회가 주최하는 멀웨어 분석 기술을 겨루는 콘테스트. 과거 문제 내용이나 해설이 공개되어 있어 참고가 됩니다.
- CS6038/CS5138 Malware Analysis, UC
- University of Cincinnati의 멀웨어 분석 강의 자료. 매년 내용이 갱신되고 있으며, 연습용 샘플도 배포되고 있어 추천합니다. 무료로 공개되어 있습니다.
- Practical Malware Analysis
- 멀웨어 분석 전반에 대해 상세히 해설된 양서. 샘플과 해답이 공개되어 있어 연습을 하면서 배울 수 있습니다.
- malware_training_vol1 by hasherezade
- @hasherezade 님에 의한 멀웨어 분석 트레이닝 자료. WIP이지만, 연습용 샘플도 배포되고 있어 추천합니다.
- Malware Analysis - CSCI 4976
- Rensselaer Polytechnic Institute의 멀웨어 분석 강의 자료. 연습용 샘플도 배포되고 있습니다.
- Workshop by Malware Unicorn
- @malwareunicorn 님에 의한 리버스 엔지니어링 워크숍 자료입니다.
- Youtube channel by SANS Digital Forensics and Incident Response
- 세계적으로 유명한 보안 트레이닝 SANS의 DFIR 관련 Youtube 채널입니다.
- Youtube channel by OALabs
- OALabs에 의한 멀웨어 분석 동영상을 중심으로 한 Youtube 채널입니다.
- Youtube channel by hasherezade
- hasherezade 님에 의한 멀웨어 분석 동영상을 중심으로 한 Youtube 채널입니다.
- RecommendationofPerfectUnpacking
- 나카츠루 님(@you0708)에 의한 언팩 기법 자료입니다.
- 동인지 by Allsafe
- 제가 소속된 리버스 엔지니어링이나 멀웨어 분석 기술을 주로 한 동인 서클 Allsafe의 동인지입니다.
- Malware Analysis at Scale ~ Defeating EMOTET by Ghidra ~ by Allsafe
- Allsafe에 의한 Emotet 분석 워크숍 자료입니다.
- 배포 스크립트
- Advanced Binary Deobfuscation
- @ntddk 님에 의한 GCC Tokyo, 시큐리티 캠프 전국대회 2020의 바이너리 난독화와 그 해제 기술 강의입니다.
- MÖBIUS STRIP REVERSE ENGINEERING
- CS계 지견과 IDA의 내부 구조를 활용한 분석 기사가 풍부합니다. recommended by ntddk。
- 리버스 엔지니어링 바이블
- 일본어로 초보자에게 친절하게 해설된 양서입니다.
- 디버거에 의한 x86 프로그램 분석 입문 x64 대응판
- 일본어로 디버그를 배운다면 우선 이것이 추천입니다.
- 멀웨어의 교과서 증보개정판
- 요시카와 타카시 님에 의한, 멀웨어의 기초, 공격 수법, 랜섬웨어, 분석 수법까지를 폭넓게 다룬 서적입니다. 분석의 시작 방법에 대해서도 구체적으로 해설되어 있어 초학자가 멀웨어 전체상을 파악하는 데 추천합니다.
- 실전 바이너리 분석
- 바이너리 포맷, 역어셈블리, 바이너리 계측, 동적 테인트 분석, 심볼릭 실행 등을 다루고 있습니다. Linux/ELF 중심이지만, 바이너리 분석 그 자체를 체계적으로 배우는 데 유용합니다.
- 마스터링 Ghidra
- Ghidra의 기본 조작부터 데이터 타입, 스크립트, 확장 기능 등까지 상세히 다루는 종합적인 해설서입니다.
- 실전 메모리 포렌식
- Volatility를 이용한 메모리 포렌식을 중심으로, 프로세스, 네트워크, 코드 인젝션, 멀웨어 분석 등을 다루고 있습니다.
- 위협 인텔리전스의 교과서
- 멀웨어 분석서는 아니지만, 분석한 검체나 IoC, 공격 수법을 캠페인이나 공격자 정보와 연결짓기 위한 사고방식을 배울 수 있습니다.