论文部分内容阅读
DNS(Domain Name System)是一种将域名和IP地址相互映射的一个分布式数据库,是互联网最重要的基础设施之一。由于防火墙、入侵检测系统、安全软件等一般的安全策略不会对DNS报文进行阻拦,这就为基于DNS协议隐蔽隧道的构建创造了得天独厚的优势。起初,开发者研究DNS隧道工具的初衷是希望跳过上网登录认证,实现免费上网。如今,DNS隧道逐渐被一些新型木马作为远程控制的方式,严重危害网络安全。针对该问题,本文提出一种基于通信行为分析的DNS隧道木马检测技术。该方法从DNS会话的视角剖析了DNS隧道木马的通信模式,提取了八大区别于正常的DNS会话特征的属性,利用改进随机森林算法构建分类训练器,最终建立了DNS隧道木马检测模型。本文完成的主要工作如下:首先,总结当前DNS隧道技术发展,研究了DNS隧道通信机理,重点剖析域名型DNS隧道木马的穿透防火墙的隐蔽传输过程,并将DNS隧道木马划分为两个主要阶段:上线请求阶段和交互传输阶段;运用有限状态自动机语言构建了DNS隧道木马通信行为状态迁移模型。其次,提出了以通信行为分析方法的DNS隧道木马检测技术。针对传统以载荷检测和流量监测为主的DNS隧道检测手段误报率高,不能有效识别新型DNS隧道木马的问题,提出了基于通信行为分析的检测方法。该方法以DNS会话的视角分析了正常DNS通信会话与DNS隧道木马通信会话的八大特征,生成了分类效果较好、通用性较强的行为属性集合,提取了DNS会话实时评估向量和DNS会话备选评估向量。再次,提出了一种基于改进随机森林分类算法的决策模型。传统单一分类器分类效果和泛化能力相比多分类器算法效果差,本文从随机森林算法出发,针对传统随机森林算法处理不平衡数据集时存在的问题,提出了基于核负类产生新负类样本的随机森林采样算法,并对改进的随机森林算法在分类性能和泛化误差方面进行了测试评估。在此基础上,结合提取的DNS评估向量,建立了基于改进随机森林算法的DNS隧道木马检测训练模型。最后,设计并实现了基于通信行为分析的DNS隧道木马检测系统,并用实验对系统的有效性和实用性进行测试。该检测模型主要包含数据包采集整合模块、DNS会话重组模块、随机森林分类训练学习模块和DNS隧道木马流量检测模块四大部分。实验测试表明本文提出的基于通信行为分析的DNS隧道木马检测技术不仅能有效的侦测出高隐蔽性DNS隧道木马,误报率小和漏报率低,而且对于未知的DNS隧道木马同样有很好的检测效果。