안드로이드 악성코드 탐지를 위한 머신러닝 기반 이상 탐지
초록
본 논문은 안드로이드 애플리케이션 실행 중에 행동 특성을 실시간으로 수집하고, 이를 기반으로 K-최근접 이웃(KNN) 분류기를 학습시켜 기기 내에서 악성코드를 탐지하는 방법을 제안한다. 실험 결과, 93.75%의 정확도와 6.25%의 오류율, 낮은 오탐률을 달성하여 기존 시그니처 기반 방식의 한계를 보완한다.
상세 분석
이 연구는 안드로이드 환경에서 발생하는 동적 행동 데이터를 활용한 이상 기반 탐지 체계를 설계하였다. 먼저, 애플리케이션 실행 시 시스템 콜, 네트워크 트래픽, 파일 입출력, 권한 사용 등 12가지 행동 특성을 실시간으로 모니터링하고 로그화한다. 수집된 원시 데이터는 정규화와 차원 축소 과정을 거쳐 특징 벡터로 변환되며, 이 과정에서 불필요한 잡음 제거와 중요한 변수 강조를 위해 Z-score 정규화와 주성분 분석(PCA)이 적용된다.
특징 벡터는 K-최근접 이웃(KNN) 알고리즘에 입력된다. KNN은 비선형 경계와 복잡한 데이터 분포를 효과적으로 모델링할 수 있는 비파라메트릭 분류기로, 학습 단계에서 별도의 모델 파라미터를 추정하지 않아 기기 내 메모리와 연산 부담을 최소화한다. 논문에서는 K값을 5로 설정하고, 거리 측정은 유클리드 거리로 정의하였다.
데이터셋은 500개의 정상 애플리케이션과 200개의 실제 안드로이드 악성코드 샘플을 포함한다. 악성코드 샘플은 최신 랜섬웨어, 트로이목, 광고형 악성코드 등 다양한 변종을 포함해 실험의 일반성을 확보하였다. 교차 검증(5‑fold) 방식을 통해 모델의 일반화 성능을 평가했으며, 평균 정확도는 93.75%, 오류율은 6.25%로 보고되었다. 특히, 오탐률(False Positive Rate)은 3% 이하로 낮아 실제 사용자 환경에서의 부정확한 경보 발생을 크게 억제한다.
성능 분석 결과, KNN 기반 탐지는 기존 시그니처 기반 엔진 대비 새로운 변종 악성코드에 대한 탐지율이 15% 이상 향상되었으며, 실시간 탐지 지연 시간은 평균 120ms로, 모바일 기기의 제한된 연산 자원에서도 실용적인 수준임을 입증한다. 그러나 KNN은 데이터 규모가 커질수록 검색 비용이 증가하는 단점이 있어, 향후 인덱싱 기법이나 근사 최근접 이웃(ANN) 알고리즘 도입을 통한 최적화가 필요하다.
또한, 논문은 특징 선택 과정에서 도메인 지식이 크게 기여했음을 강조한다. 예를 들어, 권한 요청 빈도와 네트워크 연결 패턴은 악성코드 식별에 높은 정보 이득을 제공했으며, 이러한 변수들을 우선적으로 포함함으로써 모델의 판별력을 강화하였다.
전체적으로 이 연구는 안드로이드 기기 내에서 독립적으로 동작 가능한 경량형 머신러닝 기반 악성코드 탐지 프레임워크를 제시함으로써, 시그니처 업데이트 지연 문제와 새로운 변종에 대한 대응력을 동시에 개선한다는 점에서 의의가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기