[论文解读] DNS Tunneling: A Deep Learning based Lexicographical Detection Approach
本文提出一种轻量级一维卷积神经网络(1D-CNN),通过分析域名中的字符级模式,实现对DNS隧道化域名的词典学检测。该模型在由五种隧道工具生成的8,000个DNS请求构成的新颖手动标注数据集上进行训练,对隧道化域名的召回率达到92.37%,误报率仅为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隧道化域名。
- 评估1D-CNN在使用五种知名隧道工具生成的新型DNS隧道流量数据集上的性能。
- 证明通过深度学习进行词典学分析可有效检测DNS隧道化,且误报率极低。
提出的方法
- 采用包含嵌入层、一维卷积层和全连接密集层的1D-CNN架构,从域名中学习字符级表征。
- 模型将域名作为字符序列进行处理,无需人工特征工程即可学习判别性模式。
- 通过五折交叉验证的网格搜索进行超参数调优,以优化F1分数,使用Adam优化器和10个训练周期。
- 应用0.90的决策边界阈值,根据预测概率将域名分类为正常或隧道化。
- 通过在虚拟机上使用时间注入方法构建数据集,记录来自五种DNS隧道工具(dnscat2、DNSExfiltrator、iodine、tuns和dns2tcp)的DNS请求。
- 根据生成域名所使用的工具对隧道化域名进行标注,重点关注区分成功与失败的隧道化尝试。
实验结果
研究问题
- RQ1仅使用域名的词典学特征,是否能够通过极简的1D-CNN架构有效检测DNS隧道化域名?
- RQ2当使用单一深度学习模型时,不同DNS隧道工具的检测性能如何变化?
- RQ3数据集质量和构建方法对DNS隧道化检测模型可靠性有何影响?
- RQ4与传统方法相比,通过深度学习进行词典学分析在多大程度上可降低DNS隧道化检测的误报率?
- RQ5该模型在由未能建立隧道连接的工具生成的域名上的表现如何?
主要发现
- 1D-CNN模型对正常域名的召回率达到99.48%,对DNS隧道化域名的召回率为92.37%,表明其具备强大的检测能力。
- 正常域名的误报率为0.0762%,隧道化域名的误报率为0.0052%,表现出极高的特异性。
- 所有由dnscat2生成的域名均被正确检测,而85%的DNSExfiltrator和87%的iodine生成域名被识别。
- 在测试集上,模型对正常域名的F1分数为96.35%,对隧道化域名的F1分数为95.75%。
- 模型在不同隧道工具上的表现一致,对失败隧道化尝试生成的域名检测准确率达到96%。
- 结果证实,使用简单1D-CNN进行词典学分析可在极低架构复杂度下实现高检测准确率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。