Skip to main content
QUICK REVIEW

[논문 리뷰] Feature-level Malware Obfuscation in Deep Learning

Keith Dillon|arXiv (Cornell University)|2020. 02. 10.
Advanced Malware Detection Techniques참고 문헌 24인용 수 5
한 줄 요약

이 논문은 딥러닝 기반 탐지 기술을 회피하기 위해 악성코드에 유해하지 않은 기능(예: Intents, Permissions, API 호출)을 삽입하는 새로운 형태의 악성코드 오버클러킹을 제안한다. 증강된 데이터로 훈련한 딥 네ural 네트워크 모델은 이러한 공격에 대해 강건성을 확보하며, API 기반 특징이 Intents나 Permissions만을 사용할 때보다 훨씬 더 강건한 것으로 밝혀져 오버클러킹 상황에서 거짓 음성 비율을 크게 감소시킨다.

ABSTRACT

We consider the problem of detecting malware with deep learning models, where the malware may be combined with significant amounts of benign code. Examples of this include piggybacking and trojan horse attacks on a system, where malicious behavior is hidden within a useful application. Such added flexibility in augmenting the malware enables significantly more code obfuscation. Hence we focus on the use of static features, particularly Intents, Permissions, and API calls, which we presume cannot be ultimately hidden from the Android system, but only augmented with yet more such features. We first train a deep neural network classifier for malware classification using features of benign and malware samples. Then we demonstrate a steep increase in false negative rate (i.e., attacks succeed), simply by randomly adding features of a benign app to malware. Finally we test the use of data augmentation to harden the classifier against such attacks. We find that for API calls, it is possible to reject the vast majority of attacks, where using Intents or Permissions is less successful.

연구 동기 및 목표

  • 딥러닝 모델이 악성코드 탐지에서 기능 수준의 오버클러킹에 얼마나 취약한지 조사하는 것.
  • 악성코드에 유해하지 않은 기능을 삽입하는 오버클러킹 공격에 대비해 데이터 증강이 모델을 얼마나 효과적으로 강화하는지 평가하는 것.
  • 다양한 정적 기능(예: API 호출, Intents, Permissions)이 이러한 오버클러킹에 대해 얼마나 강건한지 비교하는 것.
  • 기본 성능를 유지하면서도 유해하지 않은 기능의 존재에 대해 불변성을 확보할 수 있는 모델을 훈련시킬 수 있는지 탐색하는 것.

제안 방법

  • 정적 안드로이드 앱 기능(예: API, Intents, Permissions)을 기반으로 20개의 밀도층으로 구성된 딥 피드포워드 신경망을 훈련시켰다.
  • 정상 앱에서 유래한 유해하지 않은 기능을 무작위로 악성코드 샘플에 추가하여 오버클러킹된 악성코드 샘플을 생성하였으며, 기능은 유지되었다.
  • 원본 및 오버클러킹된 훈련 샘플의 조합을 사용해 재훈련함으로써 모델의 강건성을 향상시키기 위해 데이터 증강을 적용하였다.
  • 이진 교차 엔트로피 손실 함수와 ReLU 활성화 함수, Adam 최적화 기법을 사용하였으며, 모델 평가는 별도의 테스트 세트에서 수행되었다.
  • 정확도, 거짓 음성 비율(FNR), 거짓 양성 비율(FPR)을 사용해 청소된 데이터와 오버클러킹된 데이터 세트에서의 성능을 평가하였다.
  • 다양한 기능 유형(예: API만, Intents + Permissions, 모두 포함)에 대해 성능을 비교하여 기능 강건성의 정도를 분석하였다.

실험 결과

연구 질문

  • RQ1악성코드에 유해하지 않은 기능을 삽입하는 방식의 기능 수준 오버클러킹에 대해 딥러닝 모델은 얼마나 취약한가?
  • RQ2오버클러킹된 샘플을 활용한 적대적 훈련을 통한 데이터 증강이 이러한 공격 상황에서 거짓 음성 비율을 상당히 감소시킬 수 있는가?
  • RQ3악성코드 탐지에서 API 호출, Intents, Permissions 중 어떤 정적 기능이 오버클러킹에 가장 강건한가?
  • RQ4증강된 데이터로 훈련된 모델가 청소된 데이터에서 기준 성능를 유지하면서도 오버클러킹에 강건하게 유지될 수 있는가?

주요 결과

  • 유해하지 않은 기능을 악성코드에 무작위로 삽입하는 것은 거짓 음성 비율을 급격히 증가시켜 표준 딥러닝 모델이 이러한 오버클러킹에 매우 취약함을 입증하였다.
  • Intents 또는 Permissions만을 기능으로 사용할 경우 오버클러킹 상황에서 성능이 열악했으며, API 기반 모델에 비해 상당히 높은 거짓 음성 비율을 보였다.
  • API 기반 모델는 강건성이 뛰어나 데이터 증강을 통해 훈련된 경우 오버클러킹된 테스트 세트에서도 기준 수준에 근접한 성능를 달성하였다.
  • 모든 기능 유형(예: API, Intents, Permissions)을 결합하고 데이터 증강을 적용한 결과 강건성이 크게 향상되었으며, 청소된 데이터에서 기준 정확도에 거의 도달하였다.
  • 오버클러킹된 데이터로 훈련된 모델은 API 기반 기능을 사용할 경우 오버클러킹된 테스트 세트에서 10% 미만의 거짓 음성 비율을 기록하여 기능 수준 오버클러킹에 강력한 저항성을 보였다.
  • 본 연구는 데이터 증강을 통해 딥 네트워크가 유해하지 않은 기능의 양에 대해 불변성을 확보할 수 있으며, 악성 신호에 집중된 비대칭 탐지기능을 프로그래밍할 수 있음을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.