论文部分内容阅读
互联网技术的飞速发展和信息化的普及给人们带来便利的同时,也存在着各种风险,信息安全的问题日益严峻。其中,高级持续性威胁(APT攻击)凭借其极强的隐蔽性的特点,使得各界难以应对,成为信息安全热点问题之一。APT攻击以窃取特定目标的机密情报或者是破坏计算机系统为目的,严重威胁着企业、社会甚至是国家层面的信息安全。如何在攻击者达到目的之前发现APT攻击,是应对APT攻击的关键问题之一。而APT攻击中的命令与控制(C&C)阶段是攻击者相对活跃的时期,同时也是应对APT攻击的关键时间段。APT攻击者通常通过构建隐蔽隧道来进行C&C通信,而DNS隐蔽隧道是APT攻击中使用频率较高的隐蔽隧道。因此,通过对DNS隐蔽隧道的检测来应对APT攻击是一个可行且有意义的方法。本文首先详细介绍了APT攻击的相关概念、DNS隐蔽隧道的相关技术,以及DNS隐蔽隧道在APT攻击中的应用。设计了DNS隐蔽隧道的虚拟网络实验环境,实现了DNS隐蔽隧道的通信,并利用Dns2tcp、Dnscat2和Iodine三种工具产生DNS隐蔽隧道流量,采集了正常DNS流量和DNS隐蔽隧道流量。然后,基于统计分析对两类流量数据集中的请求数据包进行深入分析,并提取了能区分正常DNS流量和DNS隐蔽隧道流量的特征。从两大类流量数据集中分别提取这些特征字段,并进行两种方式的标记再合并后,生成分别包含二个类别和四个类别的两个样本数据集。提出了基于CART算法的DNS隐蔽隧道检测方法,并使用预处理之后的两个样本数据集,分别构建了CART决策树二分类模型和CART决策树多分类模型。通过二分类模型和多分类模型的学习曲线展示并分析了该两类模型的学习,结果证明了它们能有效检测到DNS隐蔽隧道,准确率分别为96.56%和95.52%。并将CART分类算法与多种分类算法进行了比较,对于在同样的数据集上进行建模的分类准确率进行了分析,包括C4.5决策树算法、VFDT算法、LMT算法、Bagging算法、Boosting算法、LogitBoost算法、AdamBoostM1算法、NaiveBayes算法和BayesNet算法,以及DNN算法。实验结果表明CART分类算法与以上算法在本文中的样本数据集上比较,具有较好的分类效果。