상세 보기
자연어 처리(Transformer) 모델을 활용한 Smali 코드 학습 기반 안드로이드 악성코드 탐지 기법
- 정원식;
- 박재표
초록
안드로이드 악성코드 탐지에 관한 연구는 머신러닝 등을 이용하여 다양하게 이루어지고 있으나 모델 학습에 필요한 데이터로 네트워크 트래픽, 메모리 덤프 등을 활용하고 있어 이 데이터를 얻기 위한 과정이 필요하다. 본 논문에서는 안드로이드 APK 파일을 통해 얻을 수 있는 소스 코드(smali)를 BERT, RoBERTa, BART 세 가지 Transformer 모델로 학습하여 악성코드 여부를 판별하는 모델을 제안한다. CICAndMal2020에서 제공하는 APK 파일 중 악성코드가 있는 1,318개 파일과 1,236개 정상 파일을 디컴파일하였다. 디컴파일된 파일은 용량이 매우 크고, 학습에 불필요한 코드가 포함되어 있어 이들 코드를 제거하는 전처리 과정을 거쳤다. 그리고 각 모델을 훈련하기 위한 하이퍼파라미터는 Optuna를 통해 최적화하였으며 훈련 및 평가 결과는 RoBERTa가 평가 성능에서 가장 높은 정확도(93.74%)를 기록하였다. 그러나 훈련 성능 지표는 BERT가 높은 정확도(99.12%)를 보였고, 451개 정상 파일 및 597개 악성코드 파일에 대한 예측 결과는 BERT(정확도: 97.81%)가 RoBERTa(정확도: 97.70%)보다 약간 높은 성능을 보였다. BART의 경우 전반적으로 BERT와 RoBERTa에 비해 성능이 낮게 나왔다. BERT와 RoBERTa의 훈련, 평가, 예측 결과의 차이는 데이터 세트가 다양하지 않고 정교한 전처리 과정이 없어 발생하는 것으로 보이지만 이 실험을 통해 정확도와 재현율이 중요한 악성코드 판별 분야에서 BERT와 RoBERTa 모델이 모두 유의미한 성능을 발생할 수 있음을 확인하였다. 제안 모델은 향후 데이터 세트를 확장하고 불필요한 코드를 정교하게 삭제하는 등 전처리 과정을 개선하면 더욱 우수한 성능의 모델이 될 수 있을 것이다.
키워드
- 제목
- 자연어 처리(Transformer) 모델을 활용한 Smali 코드 학습 기반 안드로이드 악성코드 탐지 기법
- 제목 (타언어)
- Android Malware Detection Method Based on Smali Code Learning Using Natural Language Processing (Transformer) Model
- 저자
- 정원식; 박재표
- 발행일
- 2024-10
- 저널명
- 한국산학기술학회논문지
- 권
- 25
- 호
- 10
- 페이지
- 922 ~ 928