무해해 보이는 법 배우기: API Import 주입을 통한 악성코드 탐지기의 표적 회피
요약
본 논문은 머신러닝 기반 악성코드 탐지기가 정적 특징에 의존한다는 점을 이용해, 특정 Win32 API Import를 추가함으로써 악성코드를 무해한 소프트웨어 카테고리로 오분류하게 만드는 공격 기법을 제안합니다. CVAE 기반의 프레임워크를 통해 기존 악성코드의 기능을 보존하면서도 최소한의 API 추가만으로 탐지율을 급격히 낮출 수 있음을 입증했습니다.
핵심 포인트
- CVAE(Conditional Variational Autoencoder)를 활용하여 기존 기능을 유지하면서도 가산적인(additive) API 주입을 수행하는 프레임워크 제안
- 단 20개의 API Import 추가만으로 재현율(Recall) 87.5%의 탐지기를 30%까지 하락시킴
- 회피된 샘플의 99%가 공격자가 의도한 특정 무해 카테고리로 오분류됨을 확인
- VirusTotal의 상용 정적 탐지 엔진에 대해서도 공격 전이성을 입증하여 실질적인 위협임을 증명
머신러닝 (Machine learning) 기반의 악성코드 탐지기는 안티바이러스 및 엔드포인트 탐지 시스템에 널리 배포되어 있으나, 정적 특징 (static features)에 대한 의존성으로 인해 적대적 조작 (adversarial manipulation)에 취약합니다. 본 논문은 기존의 Import를 제거하거나 탐지기를 재학습시키지 않고, 선택된 특정 카테고리의 특징적인 Win32 API Import를 소량 추가함으로써, 악성코드 샘플이 단순히 "악성코드가 아님"을 넘어 특정 무해한 소프트웨어 카테고리로 의도적으로 오분류될 수 있는지 조사합니다. 우리는 디코더 (decoder)가 엄격하게 가산적 (additive)인 조건부 변이형 오토인코더 (Conditional Variational Autoencoder, CVAE) 중심의 프레임워크를 제안합니다. 이 프레임워크는 새로운 API 호출을 도입할 수는 있지만 기존의 호출을 절대 제거할 수 없으므로, 설계상 악성코드의 기능성을 보존합니다. 각 악성코드 샘플에 대해, 프레임워크는 해당 샘플이 어떤 무해한 카테고리와 가장 유사한지를 자동으로 식별하고 이를 회피 목표로 사용합니다. 지식 증류 (knowledge-distilled)된 미분 가능한 프록시 (differentiable proxy)를 통해 미분 불가능한 앙상블 탐지기 (ensemble detector)에 대한 경사 하강법 (gradient-based) 기반 학습을 가능하게 합니다. 3,799개의 Windows 실행 파일(5개의 무해한 카테고리, 1개의 악성코드 클래스)에서 추출한 이진 Win32 API Import 벡터의 6개 클래스 데이터셋을 대상으로 한 실험 결과, 87.5%의 악성코드 재현율 (recall)을 달성한 탐지기에 대해 단 20개의 API Import를 추가하는 것만으로 재현율이 30%로 감소함을 보여주었습니다. k=20일 때, 탐지를 회피한 샘플 중 99%가 의도된 목표 카테고리로 분류되었습니다. CVAE는 테스트된 모든 주입 크기(k = 5 ~ 50)에서 빈도 기반 베이스라인 (frequency-based baseline)과 무작위 선택 (random selection) 모두보다 우수한 성능을 보였습니다. VirusTotal에 제출된 실제 PE 파일에 대한 검증을 통해, 이 공격이 상용 정적 탐지 엔진으로 전이되어 탐지 엔진의 플래깅 (flagging)을 평균 54.5% 감소시킴을 확인했습니다. 이러한 연구 결과는 API 기반 악성코드 분류기의 구체적인 취약성을 드러내며, 기능성을 보존하는 최소한의 수정만으로도 선택된 무해한 카테고리로의 표적 회피가 가능하다는 것을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.LG의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기