18일 전

오르트루스: 악성코드 분류를 위한 이모달 학습 아키텍처

{Jordi Planes, Carles Mateu, Daniel Gibert}
초록

악성코드 탐지 및 분류는 여전히 도전적인 문제이자 활발한 연구 주제이다. 기존의 머신러닝 기법은 악성코드를 특징짓는 구분 가능한 특징들을 추출하는 능력에 거의 전적으로 의존한다. 그러나 이러한 특징 공학(Feature Engineering) 과정은 매우 시간이 오래 걸리는 작업이다. 반면, 딥러닝 기법은 원시 데이터로부터 특징 추출과 분류를 동시에 수행하는 시스템을 도입함으로써 수동적인 특징 공학을 대체한다. 그러나 이러한 방법의 주요 단점은 분류 과정에서 서로 다른 여러 종류의 정보를 동시에 고려하지 못한다는 점으로, 다중모달(multimodal) 접근 방식에 비해 성능이 떨어지는 경향이 있다. 본 연구에서는 딥러닝 기반의 새로운 이중모달(bimodal) 접근 방식인 Orthrus를 제안한다. Orthrus는 악성코드를 가족(family)으로 분류하기 위해 두 가지 모달 데이터를 결합한다. 첫 번째는 악성코드의 바이너리 콘텐츠를 나타내는 바이트 시퀀스이며, 두 번째는 악성코드의 어셈블리 언어 소스 코드에서 추출한 어셈블리 언어 명령어이다. 이 두 가지 유형의 데이터를 이용해 컨볼루션 신경망(Convolutional Neural Network, CNN)을 통해 자동적인 특징 학습과 분류를 수행한다. 본 연구의 핵심 아이디어는 다양한 유형의 특징을 활용하여 악성코드의 특성을 보다 포괄적으로 반영하는 것이다. Microsoft 악성코드 분류 챌린지(Microsoft Malware Classification Challenge) 데이터셋을 대상으로 수행한 실험 결과, 제안하는 Orthrus는 기존의 딥러닝 기법 및 n-gram 기반 방법에 비해 더 높은 분류 성능을 달성함을 확인하였다.