초록
전통적인 악성코드 탐지 및 분류를 위한 머신러닝 기법에서는 도메인 전문 지식과 경험을 바탕으로 수동적으로 특징을 설계하는 데 큰 노력을 기울인다. 이러한 접근 방식은 소프트웨어 프로그램에 대한 추상적인 시각을 제공할 수 있는 특징을 추출하기 위해 특징 공학(feature engineering)을 수행한다. 따라서 분류기의 성능은 도메인 전문가가 설명력 있는 특징 세트를 얼마나 효과적으로 추출할 수 있는지에 크게 의존하게 된다. 반면, 본 연구에서는 수작업으로 특징을 추출하지 않고 원시 바이트 시퀀스(raw byte sequences)로부터 악성코드를 분류할 수 있는 파일 무관(file-agnostic)이고 엔드 투 엔드(end-to-end)의 딥러닝 접근 방식을 제안한다. 이 방법은 두 가지 핵심 구성 요소로 이루어져 있다: (1) 악성코드의 바이너리 콘텐츠에 대한 은닉 표현(hidden representation)을 학습하는 노이즈 제거 오토인코더(denoising autoencoder); 그리고 (2) 확장된 잔차 네트워크(dilated residual network)를 분류기로 사용하는 구조이다. 실험 결과, 악성코드를 가족(family) 단위로 분류하는 데 있어 거의 99%의 높은 정확도를 달성하는 데 성공하여 놀라운 성능을 보였다.