로컬 LLM을 활용한 악성코드 리버스 엔지니어링 자동화
Ghidra
한 연구자가 MLMalwareAnalyzer 프로젝트를 발표했습니다. 이 프로젝트는 로컬 LLM(Qwen3), Ghidra, Neo4j를 사용하여 악성코드 분석을 자동화합니다. 시스템은 코드를 디컴파일하고, 각 기능을 LLM으로 분석하며, 호출 그래프를 구축하여 파일 암호화 및 C2 서버 통신과 같은 행동 패턴을 식별합니다.
악성 소프트웨어의 리버스 엔지니어링을 자동화하기 위해 PyGhidra(Ghidra의 Python 바인딩), Neo4j 그래프 데이터베이스, 그리고 LM Studio를 통해 API 키로 구동되는 로컬 LLM(대규모 언어 모델) Qwen3를 결합하는 방식이 제안되었다. 이 프로세스는 여러 단계로 구성된다. 먼저 PyGhidra를 이용해 바이너리에서 사실 정보(디스어셈블리, 디컴파일, 메타데이터 수집, 호출 그래프)를 추출하고, 이를 Neo4j에 적재한 뒤, 이웃 컨텍스트를 활용해 로컬 LLM으로 각 함수를 분석한다. 이후 태그들을 기능(capability) 단위로 집계하고, 행위 체인을 구축한 뒤 보고서를 생성한다. WannaCry 샘플(함수 195개, 분석 소요 시간 126분)을 대상으로 한 테스트에서 이 시스템은 파일 암호화(File Encryption), C2(명령 및 제어) 통신, 안티 분석(Anti-Analysis)이라는 세 가지 행위 패턴을 100% 신뢰도로 식별해냈다. 발견된 안티 디버그(anti-debug) 패턴은 YARA 규칙 DebuggerCheck__API를 통해 확인되었다.
출처: Habr — хаб ИИ —
원문
