← 최신 논문
🤖 AI

Multi-View Decompilation for LLM-Based Malware Classification

이 논문은 여러 디컴파일러(Ghidra 및 RetDec)로부터 얻은 상보적인 의사 C 뷰(pseudo-C views)를 대규모 언어 모델의 입력으로 활용하는 것이 단일 뷰 방식에 비해 악성코드 분류의 재현율(recall)과 F1 점수를 유의미하게 향상시키며, 향상된 악성코드 분류를 위한 간단하고 학습이 필요 없는 전략을 제공한다는 것을 입증한다.

원저자: Bercan Turkmen, Vyas Raina

게시일 2026-06-19
📖 3 분 읽기☕ 가벼운 읽기

원저자: Bercan Turkmen, Vyas Raina

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 신비롭고 잠겨 있는 상자 안에 무해한 선물 상자가 들어있는지, 아니면 위험한 함정이 들어있는지 알아내려는 탐정이라고 상상해 보십시오. 문제는, 상자가 이미 부서져 열려 있고, 당신에게 남은 것이라고는 부서진 조각들이 담긴 두 개의 서로 다른, 약간 지저분한 더미뿐이라는 점입니다.

이 논문은 인공지능(AI)이 그 탐정 역할을 수행하는 새로운 방법에 관한 것입니다.

문제점: 깨진 거울 하나

보통 보안 전문가들이 컴퓨터 프로그램("바이너리")을 분석할 때, 그들은 원래의 깨끗한 소스 코드를 볼 수 없습니다. 대신, 그들은 프로그램을 부서진 조각들로부터 읽을 수 있는 텍스트(의사 C 코드)처럼 보이도록 재구축하려고 시도하는 도구인 **디컴파일러(decompiler)**를 사용합니다.

디컴파일러를 깨진 거울이라고 생각해 보십시오. 깨진 거울에 비친 당신의 모습을 보면, 당신의 얼굴은 보이지만 왜곡되어 보입니다.

  • **거울 A (Ghidra)**는 당신의 코를 약간 늘려 놓을 수도 있습니다.
  • **거울 B (RetDec)**는 당신의 눈을 다르게 찡그려 놓을 수도 있습니다.

두 거울 모두 같은 사람을 보여주지만, 서로 다른 "글리치(glitch)"나 왜곡을 보여줍니다.

과거에 연구자들은 AI에게 단 하나의 거울(하나의 디컴파일러 출력물)만을 보고 그 코드가 "착한(양성)" 것인지 "나쁜(악성)" 것인지 결정하도록 요청했습니다. 저자들은 이것이 위험하다고 주장했습니다. 만약 거울 A가 어떤 위험한 특징을 너무 길게 늘려 놓아서 그것을 숨겨버린다면, AI는 그것을 놓칠 수 있습니다. 만약 거울 B가 눈을 찡그리는 방식으로 그것을 숨겨버린다면, AI는 역시 그것을 놓치게 됩니다.

해결책: "두 개의 거울" 전략

연구자들은 간단한 질문을 던졌습니다. "만약 우리가 AI에게 두 개의 거울을 동시에 보여준다면 어떻게 될까?"

그들은 100개의 프로그램으로 구성된 테스트 세트를 만들었습니다. 50개는 무해한 유틸리티(계산기나 파일 정리 도구 같은 것)였고, 50개는 실제 악성코드(바이러스, 스파이웨어, 봇 등)였습니다. 그들은 모든 프로그램을 두 가지 다른 디컴파일러(Ghidra와 RetDec)로 실행하여, 모든 샘플에 대해 동일한 코드에 대한 두 가지 서로 다른 "관점"을 만들어냈습니다.

그런 다음, 다양한 AI 모델들에게 다음을 요청했습니다:

  1. 거울 A의 관점만 보기.
  2. 거울 B의 관점만 보기.
  3. 두 관점을 함께 보기.

그들이 발견한 것

결과는 마치 두 명의 목격자 진술을 비교하며 사건을 해결하는 탐정을 보는 것과 같았습니다.

  • "단일 거울"의 결함: AI가 단 하나의 관점만을 보았을 때, AI는 자주 혼란을 겪었습니다. 때로는 거울 A가 바이러스를 무해해 보이게 만들었고, 때로는 거울 B가 그렇게 만들었습니다. 특정 거울의 "글리치"가 증거를 숨겨버렸기 때문에 AI는 범인을 놓치곤 했습니다.
  • "두 개의 거울"의 승리: AI가 두 관점 모두를 함께 보았을 때, AI는 범인을 잡는 데 훨씬 더 뛰어난 성능을 보였습니다.
    • 만약 거울 A가 위험한 특징을 숨겼다면, 거서 거울 B는 그것을 명확하게 보여주었습니다.
    • 만약 거울 B가 노이즈가 많고 혼란스러웠다면, 거울 A는 명확했습니다.
    • 이들을 결합함으로써, AI는 "빈칸을 채우고" 전체 그림을 볼 수 있었습니다.

이 논문은 이 "두 개의 거울" 접근 방식이 AI에게 새로운 것을 가르치거나 새로운 데이터로 학습시킬 필요가 없다는 것을 발견했습니다. 그것은 단순하고 비용이 들지 않는 업그레이드였습니다. 즉, AI에게 다른 각도에서의 정보를 더 많이 제공하기만 하면 되는 것이었습니다.

"합의(Consensus)"의 비유

연구자들은 또한 영리한 지름길을 시도했습니다. 그들은 "만약 거울 A와 거울 B가 모두 코드가 안전하다고 동의한다면, 그들을 믿자. 하지만 만약 그들이 의견이 다르다면, 누가 옳은지 알아내기 위해 두 관점을 모두 살펴보자"라고 말했습니다.

이 방법도 잘 작동했지만, 가장 좋은 결과는 단순히 매번 두 관점을 모두 보여주는 것에서 나왔습니다. 거울들이 의견이 일치할 때조차도, 두 관점을 모두 가지고 있는 것이 AI가 더 확신을 갖고 정확해지는 데 도움이 된다는 것이 밝혀졌습니다.

핵심 요약

이 논문은 단일 디컴파일러에 의존하는 것은 조각의 절반이 빠진 퍼즐을 맞추려는 것과 같다고 결론짓습니다. 동일한 코드에 대해 다른 관점을 제공하기 위해 다중 디컴파일러를 사용함으로써, 우리는 더 똑똑한 AI를 만들거나 더 오래 학습시키지 않고도 더 많은 악성코드를 잡아낼 수 있습니다. 이는 현재의 AI 도구들을 디지털 위협을 감지하는 데 훨씬 더 신뢰할 수 있게 만드는 단순하고 실용적인 기술입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →