[논문 리뷰] Dynamic Malware Analysis with Feature Engineering and Feature Learning
이 논문은 시스템 API 호출 시퀀스를 사용한 동적 악성코드 탐지에 대해 저비용의 특징 공학 기법과 딥 뉴럴 네트워크 아키텍처를 제안한다. 이는 이질적인 API 인수를 해시화하여 인코딩하고, 각 API 호출에서 깊이 있는 특징을 추출하기 위해 다중 게이트드 컨volution 네트워크(Gated-CNNs)를 적용하며, 순차적 의존성을 모델링하기 위해 양방향 LSTM을 사용한다. 이로 인해 실제 데이터셋에서 98.86% AUC를 달성하며 최신 기술 수준의 성능을 확보한다.
Dynamic malware analysis executes the program in an isolated environment and monitors its run-time behaviour (e.g. system API calls) for malware detection. This technique has been proven to be effective against various code obfuscation techniques and newly released ("zero-day") malware. However, existing works typically only consider the API name while ignoring the arguments, or require complex feature engineering operations and expert knowledge to process the arguments. In this paper, we propose a novel and low-cost feature extraction approach, and an effective deep neural network architecture for accurate and fast malware detection. Specifically, the feature representation approach utilizes a feature hashing trick to encode the API call arguments associated with the API name. The deep neural network architecture applies multiple Gated-CNNs (convolutional neural networks) to transform the extracted features of each API call. The outputs are further processed through bidirectional LSTM (long-short term memory networks) to learn the sequential correlation among API calls. Experiments show that our solution outperforms baselines significantly on a large real dataset. Valuable insights about feature engineering and architecture design are derived from the ablation study.
연구 동기 및 목표
- 기존 연구에서 무시되거나 부적절하게 처리되는 이질적인 API 인수(예: 문자열, 정수, 주소)를 효과적으로 활용하는 데 도전하는 것.
- 복잡한 수동 특징 공학을 피하면서도 다양한 인수 유형에서의 의미 정보를 유지하는 저비용이고 확장 가능한 특징 표현 방법을 개발하는 것.
- 다중 게이트드 컨volution 네트워크(Gated-CNNs)와 양방향 LSTM을 조합하여 API 호출 특징으로부터 계층적이고 순차적인 패턴을 학습하고 악성코드 탐지 성능을 향상시키는 딥 러닝 아키텍처를 설계하는 것.
- 광범위한 추론 분석 및 대규모 실세계 데이터셋을 통한 평가를 통해 특징 공학 및 모델 아키텍처 설계의 유효성을 입증하는 것.
- 재현 가능성과 동적 악성코드 분석 분야의 향후 연구를 지원하기 위해 추출된 특징과 코드를 공개하는 것.
제안 방법
- API 이름, 카테고리 및 다양한 유형(문자열, 정수, 주소)의 인수를 통합적이고 저차원적이며 동일한 특징 벡터로 변환하기 위해 특징 해시를 적용한다.
- 각 API 호출의 고차원 해시 특징에서 추상적이고 저차원의 표현을 학습하기 위해 커널 크기가 2, 3, 4인 병렬 다중 게이트드 컨volution 신경망(Gated-CNNs)을 사용한다.
- Gated-CNNs의 출력을 하나의 양방향 장기 단기 기억망(Bi-LSTM) 네트워크에 입력하여 API 호출 시퀀스 전반에 걸친 장거리 순차적 의존성을 모델링한다.
- 학습 안정성 향상과 수렴성 향상을 위해 입력 후 및 Gated-CNNs 후에 배치 정규화(Batch Normalization) 레이어를 통합한다.
- 교차 엔트로피 손실과 Adam 최적화를 사용하여 엔드 투 엔드 모델을 훈련하며, 검증 AUC 기반 조기 정지 전략을 적용한다.
- Gated-CNNs, 배치 정규화, Bi-LSTM 레이어의 다양한 구성에 대한 비교를 통해 모델 아키텍처를 최적화한다.
실험 결과
연구 질문
- RQ1전문가 기반 특징 공학 없이도 해시 기반 저비용 특징 표현이 이질적인 API 인수(예: 문자열, 정수, 주소)를 효과적으로 악성코드 탐지에 활용할 수 있는가?
- RQ2특히 게이트드-CNNs와 Bi-LSTM의 조합을 포함한 다양한 딥 러닝 아키텍처가 동적 악성코드 탐지 시스템의 탐지 성능에 어떤 영향을 미치는가?
- RQ3API 인수의 상대적 기여도는 어떠한가? 그리고 전통적 기계학습 및 딥 러닝 모델 전반에 걸쳐 일관되게 AUC를 향상시키는가?
- RQ4다양한 아키텍처 구성 요소(예: Gated-CNN 수, 배치 정규화 존재 여부, Bi-LSTM 레이어 수) 중에서 높은 일반화 및 불변성 확보에 가장 중요한 것은 무엇인가?
- RQ5학습 기간 이후에 수집된 테스트 데이터를 통해 제안된 모델이 제로데이 악성코드에 얼마나 잘 일반화되는가?
주요 결과
- 제안된 모델은 테스트 AUC 98.86%를 기록하여, API 이름만 사용하거나 기본 문자열 특징을 사용하는 모든 베이스라인 방법보다 뚜렷이 뛰어난 성능을 보였다.
- API 인수를 포함시킴으로써 기존 기계학습 모델의 테스트 AUC가 3% 향상되었고, 딥 러닝 모델의 경우 약 1% 향상되어 인수 수준의 정보가 가치가 있음을 입증했다.
- 추론 분석 결과, Bi-LSTM 레이어는 필수적임을 확인하였으며, 이를 제거할 경우 성능이 크게 떨어지며, 1-Bi-LSTM 구성이 성능(98.80% AUC)과 추론 속도 사이의 최적 균형을 이룬다.
- 2,3-GatedCNN 구성(커널 크기가 2와 3인 두 개의 Gated-CNN)이 가장 뛰어난 성능(98.86% AUC)을 기록하였고, 커널 크기를 4로 추가해도 성능 향상이 없었다.
- 두 배치 정규화 레이어를 모두 포함한 모델이 약간 더 뛰어난 성능(98.80% AUC)을 보였으며, 이를 포함하지 않은 구성보다 우수하여 배치 정규화의 학습 안정성 향상 기여도를 시사한다.
- 인수 처리로 인한 약간의 추론 시간 증가에도 불구하고, 전체 지연 시간은 여전히 수백 밀리초 수준으로 수용 가능했으며, Cuckoo 샌드박스를 사용한 샘플 수집 시간(3~5분)을 고려하면 특히 타당한 성능이다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.