자연어 처리(Transformer) 모델을 활용한 Smali 코드 학습 기반 안드로이드 악성코드 탐지 기법

Android Malware Detection Method Based on Smali Code Learning Using Natural Language Processing (Transformer) Model

초록

안드로이드 악성코드 탐지에 관한 연구는 머신러닝 등을 이용하여 다양하게 이루어지고 있으나 모델 학습에 필요한 데이터로 네트워크 트래픽, 메모리 덤프 등을 활용하고 있어 이 데이터를 얻기 위한 과정이 필요하다. 본 논문에서는 안드로이드 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 모델이 모두 유의미한 성능을 발생할 수 있음을 확인하였다. 제안 모델은 향후 데이터 세트를 확장하고 불필요한 코드를 정교하게 삭제하는 등 전처리 과정을 개선하면 더욱 우수한 성능의 모델이 될 수 있을 것이다.

키워드

AndroidAPKSmaliTransformerBERTroBERTaBART
제목
자연어 처리(Transformer) 모델을 활용한 Smali 코드 학습 기반 안드로이드 악성코드 탐지 기법
제목 (타언어)
Android Malware Detection Method Based on Smali Code Learning Using Natural Language Processing (Transformer) Model
저자
정원식박재표
DOI
10.5762/KAIS.2024.25.10.922
발행일
2024-10
저널명
한국산학기술학회논문지
25
10
페이지
922 ~ 928