← 최신 논문
💻 computer science

Transparent Malware Detection With Granular Assembly Flow Explainability via Graph Neural Networks

본 논문은 CIC-DGG-2025 데이터셋을 통해 검증된, 그래프 신경망(GNN)이 높은 추론 성능과 세밀하고 투명한 설명 가능성을 모두 달성할 수 있도록 어셈블리 흐름 그래프(AFG)와 메타 코어스닝(Meta-Coarsening) 접근 방식을 활용하는 새로운 악성코드 탐지 프레임워크를 제안한다.

원저자: Griffin Higgins, Roozbeh Razavi-Far, Hossein Shokouhinejad, Ali A. Ghorbani

게시일 2026-02-02
📖 4 분 읽기☕ 가벼운 읽기

원저자: Griffin Higgins, Roozbeh Razavi-Far, Hossein Shokouhinejad, Ali A. Ghorbani

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

문제점: "블랙박스" 탐정

당신에게 아주 똑똑한 보안 요원(AI)이 있다고 상상해 보세요. 이 요원은 컴퓨터 프로그램을 보고 그것이 바이러스(악성코드)인지 아니면 안전한 파일인지 즉시 판별할 수 있습니다. 이 요원은 자기 일을 아주 잘 수행합니다. 하지만 문제가 하나 있습니다. 요원이 왜 그런 결정을 내렸는지 그 이유를 말해주지 않는다는 점입니다.

만약 요원이 "이 파일은 위험합니다"라고 말한다면, 당신은 "왜죠? 비밀번호를 훔치는 부분 때문인가요? 아니면 파일을 삭제하는 부분 때문인가요?"라고 물을 수 있습니다. 하지만 요원은 그저 어깨만 으쓱할 뿐입니다. 사이버 보안의 세계에서 이것은 매우 위험합니다. 무엇이 왜 탐지되었는지 모른다면, 당신은 그 요원을 신뢰할 수 없으며 문제를 효과적으로 해결할 수도 없습니다.

해결책: 새로운 지도 (AFG)

이 논문의 저자들은 단순히 바이러스를 잡아내는 것을 넘어, 문제가 되는 정확한 코드 한 줄을 손가락으로 가리킬 수 있는 보안 요원을 만들고 싶어 했습니다. 이를 위해 그들은 **어셈블리 흐름 그래프(Assembly Flow Graph, AFG)**라는 새로운 방식의 프로그램 관찰법을 고안했습니다.

  • 기존 방식 (CFG): 프로그램을 도시(기본 블록, Basic Blocks)들로 이루어진 지도로 상상해 보세요. 도시들을 연결하는 도로들은 보이지만, 도시 내부의 개별 집들은 볼 수 없습니다. 만약 AI가 "도시 X가 나쁩니다"라고 말한다면, 당신은 도시 X 안의 어떤 집이 범인인지 알 수 없습니다.
  • 새로운 방식 (AFG): 저자들은 더 자세히 들여다보았습니다. 그들은 지도를 확대하여 모든 개별 명령어(모든 집)를 지도의 노드(점)로 만들었습니다. 이제 AI는 개별 벽돌 하나하나까지 포함한 전체 동네를 볼 수 있습니다. 이를 통해 **세밀한 설명(granular explanations)**이 가능해졌습니다. 즉, 의심스러운 특정 명령어를 정확히 지목할 수 있게 된 것입니다.

난관: 지도가 너무 큽니다

여기서 문제가 발생합니다. 컴퓨터 프로그램은 매우 거대합니다. 만약 모든 명령어를 지도로 그린다면, 수백만 개의 점과 선이 얽힌 거대한 그물망이 됩니다. 이 거대한 그물망을 분석하려고 시도하는 것은 마치 오븐 장갑을 끼고 수십억 조각짜리 퍼즐을 맞추려는 것과 같습니다. 시간이 너무 오래 걸리고 컴퓨터가 다운됩니다.

비결: "메타 코서닝(Meta-Coarsening)" (축소 광선)

이 "너무 큰" 문제를 해결하기 위해, 저자들은 **메타 코서닝(Meta-Coarsening)**이라는 방법을 발명했습니다. 이것을 지도를 위한 "축소 광선"이라고 생각하면 됩니다.

  1. 1단계: 거친 스케치 (CFG의 코서닝): 먼저, 거대한 지도를 가져와서 도시들을 묶어 "슈퍼 시티(Super-Cities)"로 만듭니다. 지도를 다루기 쉬운 크기로 축소하는 것입니다. 이 과정은 빠르고 처리하기 쉽습니다.
  2. 2단계: 탐정 업무: 이 작고 축소된 지도 위에서 AI 탐정을 실행합니다. AI는 수상해 보이는 "슈퍼 시티"를 찾아냅니다.
  3. 3단계: 다시 확대하기 (백트래킹): 일단 AI가 특정 "슈퍼 시티"를 지목하면, 저자들은 특별한 지도 열쇠를 사용하여 딱 그 부분만 다시 "축소 해제"합니다. 원래의 거대한 지도로 다시 줌인하여, 그 슈퍼 시티 안에 있는 정확히 어떤 특정 명령어(집)가 범인인지 확인합니다.

이것은 마치 탐정이 국가 전체의 위성 사진을 보고 나쁜 동네를 찾은 다음, 고성능 망원경을 사용하여 그 특정 동네를 정밀하게 확대해 정확한 범인을 체포하는 것과 같습니다.

결과: 무엇을 발견했는가?

연구팀은 이 방법을 대규모 컴퓨터 프로그램 데이터셋에 테스트했습니다. 결과는 다음과 같았습니다.

  • 작동합니다: 지도를 축소한 후에도 AI는 여전히 정상 프로그램과 악성 프로그램을 구분할 수 있었습니다. 사실, 지도를 약간 축소하는 것이 오히려 AI가 더 잘 일반화(generalize)하는 데 도움을 주었습니다(마치 이미지를 흐릿하게 보면 때때로 전체적인 맥락을 파악하는 데 도움이 되는 것과 비슷합니다).
  • 더 잘 설명합니다: 가장 중요한 결과는 드디어 프로그램이 왜 나쁜지에 대해 설명할 수 있게 되었다는 점입니다. 그들은 특정 어셈블리 명령어를 지목할 수 있었습니다.
  • "베타(Beta)" 점수: 그들은 설명이 정말로 명령어 수준에서 이루어지는지 확인하기 위해 새로운 테스트(베타 점수)를 만들었습니다. 그 결과, 기존 방식으로는 AI가 모호하게 답했다면(예: "도시 전체가 나쁩니다"), 그들의 방식으로는 AI가 정밀하게 답한다는 것(예: "이 특정 거리가 나쁩니다")을 발견했습니다.
  • 정상 vs 악성 프로그램: 흥적으로, 그들은 프로그램이 왜 안전한지(benign)를 설명하는 것이 왜 악성인지(malicious)를 설명하는 것보다 더 쉽다는 것을 발견했습니다. 악성코드는 종종 교묘하고 혼란스럽게 설계되기 때문에, 정상 소프트웨어의 명확한 로직에 비해 정확한 "나쁜" 명령어를 짚어내기가 더 어렵습니다.

핵심 요약

이 논문은 AI 악성코드 탐지기를 투명하게 만드는 방법을 소개합니다. 모든 명령어를 담은 상세한 지도(AFG)를 만들고, 크기 문제를 해결하기 위해 스마트한 축소 기술(Meta-Coarsening)을 사용함으로써, 이제 보안 전문가들에게 정확히 어느 줄의 코드가 위험한지 알려줄 수 있게 되었습니다. 이는 우리를 "AI가 이것이 나쁘다고 생각합니다"라는 단계에서 "AI가 이 특정 명령어가 나쁘다고 판단한 이유는 ~이기 때문입니다"라는 단계로 이동시킵니다.

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

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

Digest 사용해 보기 →