[논문 리뷰] NtMalDetect: A Machine Learning Approach to Malware Detection Using Native API System Calls
이 논문은 시스템 호출 트레이스를 텍스트 문서로 간주하고 자연어 처리 기법—특히 TF-IDF 가중 n-gram과 선형 서포트 벡터 머신(SVMs)—을 적용하여 악성 소프트웨어와 양성 소프트웨어를 이진 분류하는 동적 악성코드 탐지 시스템 NtMalDetect를 제안한다. 시스템 호출 시퀀스를 사용하여 96%의 정확도와 95%의 재현율을 달성하였으며, 확률적 경사 하강법으로 최적화된 SVM이 가장 효과적이고 효율적인 것으로 밝혀졌다.
As computing systems become increasingly advanced and as users increasingly engage themselves in technology, security has never been a greater concern. In malware detection, static analysis, the method of analyzing potentially malicious files, has been the prominent approach. This approach, however, quickly falls short as malicious programs become more advanced and adopt the capabilities of obfuscating its binaries to execute the same malicious functions, making static analysis extremely difficult for newer variants. The approach assessed in this paper is a novel dynamic malware analysis method, which may generalize better than static analysis to newer variants. Inspired by recent successes in Natural Language Processing (NLP), widely used document classification techniques were assessed in detecting malware by doing such analysis on system calls, which contain useful information about the operation of a program as requests that the program makes of the kernel. Features considered are extracted from system call traces of benign and malicious programs, and the task to classify these traces is treated as a binary document classification task of system call traces. The system call traces were processed to remove the parameters to only leave the system call function names. The features were grouped into various n-grams and weighted with Term Frequency-Inverse Document Frequency. This paper shows that Linear Support Vector Machines (SVM) optimized by Stochastic Gradient Descent and the traditional Coordinate Descent on the Wolfe Dual form of the SVM are effective in this approach, achieving a highest of 96% accuracy with 95% recall score. Additional contributions include the identification of significant system call sequences that could be avenues for further research.
연구 동기 및 목표
- 변형 또는 제로데이 악성코드 변종을 탐지하는 데 있어 정적 악성코드 분석의 한계를 해결하기 위해.
- 자연어 처리에서 유래한 문서 분류 기법이 시스템 호출 트레이스 분석에 있어 악성코드 탐지에 효과적으로 적용될 수 있는지 평가하기 위해.
- 악성 행동과 양성 행동을 구분하는 데 가장 정보적인 시스템 호출 시퀀스를 특정하기 위해.
- 실제 환경에서 사용 가능한 배포 가능한 오픈소스 시스템(NtMalDetect)을 개발하여 훈련된 분류기들을 통합하기 위해.
제안 방법
- 양성 및 악성 프로그램의 시스템 호출 트레이스를 추출하고, 매개변수를 제거하여 기능 이름만 유지한다.
- 시스템 호출 시퀀스의 n-gram(1-에서 10-gram까지)을 특징으로 생성하고, 희귀하지만 구분력 있는 시퀀스를 강조하기 위해 TF-IDF 가중치를 적용한다.
- 다양한 기계 학습 모델을 사용하여 이진 분류를 수행하며, 선형 SVM(확률적 경사 하강법 및 좌표 하강법 최적화), k-NN, 나이브 베이즈를 포함한다.
- L1 및 L2 정규화를 사용하여 SVM 분류기에서 가장 정보적인 특징을 추출하여 악성 행동을 특징짓는 핵심 시스템 호출 패턴을 식별한다.
- 최종 NtMalDetect 시스템에서 분류기의 앙상블을 강화하여 탐지의 강건성을 향상시킨다.
- 시스템은 Scikit-learn을 사용하여 구현되었으며, GitHub에 오픈소스로 배포되었다.
실험 결과
연구 질문
- RQ1자연어 처리 기법을 사용하여 시스템 호출 트레이스를 텍스트 문서로 효과적으로 모델링할 수 있는가?
- RQ2시스템 호출 트레이스를 양성 또는 악성으로 분류하는 데 있어 어떤 기계 학습 알고리즘이 가장 우수한 성능을 보이는가?
- RQ3악성 행동을 식별하는 데 가장 구분력 있는 시스템 호출 n-gram 시퀀스는 무엇인가?
- RQ4다양한 정규화 및 최적화 전략은 분류기의 성능과 효율성에 어떤 영향을 미치는가?
주요 결과
- 확률적 경사 하강법으로 최적화된 선형 SVM이 테스트 세트에서 96%의 정확도와 95%의 재현율을 기록하여 가장 높은 성능을 보였다.
- SGD 최적화를 사용한 L2 페널티 SVM이 훈련 및 추론 모두에서 가장 빠르며, 테스트 시간은 0.001초 이하였다.
- L1 정규화를 사용한 SVM이 식별한 가장 정보적인 특징으로는 NtQueryInformationThread 및 NtMapViewOfSection의 반복 호출이 포함되어 있어 악성코드와 관련된 행동 패턴을 시사했다.
- L2 정규화를 사용한 SVM은 NtDelayExecution 및 NtDeviceIoControlFile를 포함한 시퀀스를 강조하여 악성 행동의 잠재적 지표를 나타냈다.
- 시스템은 알려지지 않은 악성코드 변종에 대해 강력한 일반화 성능을 보였으며, 변형되거나 제로데이 위협을 탐지하는 데 있어 전통적인 정적 분석을 능가했다.
- 오픈소스 NtMalDetect 프레임워크는 훈련된 모델을 실시간 악성코드 탐지용 배포 가능한 도구로 성공적으로 통합하였다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.