[논문 리뷰] DNS Tunneling: A Deep Learning based Lexicographical Detection Approach
이 논문은 도메인 이름의 문자 수준 패턴을 분석하여 DNS 터널링 도메인을 어휘적 특성으로 탐지하기 위한 경량 1D 컨volutional 신경망(CNN)을 제안한다. 다섯 가지 터널링 도구에서 생성한 8,000건의 DNS 요청으로 구성된 새로운 수작업으로 정제된 데이터셋을 기반으로 훈련된 모델은 터널링 도메인에 대해 92.37%의 리콜을 기록하고, 거짓 경고율(FPR)은 단지 0.005%에 불과하여 실제 환경에서의 탐지 시나리오에서 높은 정확도와 낮은 거짓 경고를 입증한다.
Domain Name Service is a trusted protocol made for name resolution, but during past years some approaches have been developed to use it for data transfer. DNS Tunneling is a method where data is encoded inside DNS queries, allowing information exchange through the DNS. This characteristic is attractive to hackers who exploit DNS Tunneling method to establish bidirectional communication with machines infected with malware with the objective of exfiltrating data or sending instructions in an obfuscated way. To detect these threats fast and accurately, the present work proposes a detection approach based on a Convolutional Neural Network (CNN) with a minimal architecture complexity. Due to the lack of quality datasets for evaluating DNS Tunneling connections, we also present a detailed construction and description of a novel dataset that contains DNS Tunneling domains generated with five well-known DNS tools. Despite its simple architecture, the resulting CNN model correctly detected more than 92% of total Tunneling domains with a false positive rate close to 0.8%.
연구 동기 및 목표
- DNS 터널링 탐지 시스템을 평가하기 위한 고품질, 레이블이 부여된 데이터셋의 부족 문제를 해결하기 위해.
- 어휘적 특성에 기반하여 악성 DNS 터널링 도메인을 탐지할 수 있는 경량 딥러닝 모델을 개발하기 위해.
- 다섯 가지 잘 알려진 터널링 도구를 사용해 생성한 새로운 DNS 터널링 트래픽 데이터셋에 대해 1D-CNN의 성능을 평가하기 위해.
- 딥러닝을 통한 어휘적 분석이 거짓 경고율을 낮추면서도 효과적으로 DNS 터널링을 탐지할 수 있음을 입증하기 위해.
제안 방법
- 도메인 이름으로부터 문자 수준 표현을 학습하기 위해 임bedding 레이어, 1D 컨volution 레이어, 그리고 완전 연결 레이어로 구성된 1D-CNN 아키텍처를 사용한다.
- 모델은 도메인 이름을 문자의 시퀀스로 처리하여 수동적인 특징 공학 없이도 구분 가능한 패턴을 학습한다.
- F1 점수 최적화를 위해 5폴드 교차검증을 활용한 그리드 서치를 통해 하이퍼파ram터 튜닝을 수행하였으며, Adam 옵timizer를 사용하고 10 에포크 동안 훈련하였다.
- 예측 확률 기반으로 도메인을 정상 또는 터널링으로 분류하기 위해 결정 경계 임계값 0.90을 적용하였다.
- 데이터셋은 가상 머신에서 시간 주입 기법을 사용하여 구성되었으며, dnscat2, DNSExfiltrator, iodine, tuns, dns2tcp 다섯 가지 DNS 터널링 도구의 DNS 요청을 로깅하였다.
- 터널링 도메인은 생성에 사용된 도구에 따라 레이블링되었으며, 성공적 또는 실패한 터널링 시도를 구분하는 데 중점을 두었다.
실험 결과
연구 질문
- RQ1최소한의 1D-CNN 아키텍처가 도메인 이름의 어휘적 특성만을 사용하여 DNS 터널링 도메인을 효과적으로 탐지할 수 있는가?
- RQ2동일한 딥러닝 모델을 사용할 때, 다양한 DNS 터널링 도구 간 탐지 성능은 어떻게 달라지는가?
- RQ3데이터셋의 품질과 구성 방법론이 DNS 터널링 탐지 모델의 신뢰성에 어떤 영향을 미치는가?
- RQ4기존 방법에 비해 딥러닝을 통한 어휘적 분석이 DNS 터널링 탐지에서 거짓 경고율을 얼마나 낮출 수 있는가?
- RQ5터널 연결을 설정하지 못한 도구에서 생성된 도메인에 대해 모델의 성능은 어떠한가?
주요 결과
- 1D-CNN 모델은 정상 도메인에 대해 99.48%의 리콜, DNS 터널링 도메인에 대해 92.37%의 리콜을 기록하여 강력한 탐지 능력을 보였다.
- 정상 도메인에 대한 거짓 경고율은 0.0762%, 터널링 도메인에 대해서는 0.0052%에 불과하여 높은 특이도를 입증했다.
- dnscat2로 생성된 모든 도메인이 정확히 탐지되었으며, DNSExfiltrator로 생성된 도메인의 85%와 iodine로 생성된 도메인의 87%가 식별되었다.
- 테스트 세트에서 정상 도메인에 대해 F1 점수 96.35%, 터널링 도메인에 대해 95.75%를 기록하였다.
- 실패한 터널링 시도에서 생성된 도메인에 대해서도 96%의 탐지 정확도를 보이며 일관된 성능을 보였다.
- 결과적으로 간단한 1D-CNN를 사용한 어휘적 분석이 최소한의 아키텍처 복잡도로도 높은 탐지 정확도를 달성할 수 있음을 확인했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.