论文部分内容阅读
高级持续性威胁(APT)这一典型的复杂网络攻击,因其针对性强、隐蔽性好以及破坏性大,逐渐引起人们的重视。学者们结合实际提出了恶意代码检测、异常流量检测、全流量回溯分析等诸多检测方法。已有的研究表明,对DNS数据进行检测,能够有效地发现网络流量中的异常,进而发现APT攻击。针对DNS数据处理问题,选取合理的DNS行为特征,通过正常行为特征来检测出所有合法域名,进而排除绝大多数的正常DNS数据,暴露可疑数据集,可以为进一步的APT攻击检测提供数据支持。本文提出一种利用DNS数据正常行为特征的数据处理方法,通过本方法能够有效区分可疑数据和正常数据。本方法包括数据预处理和数据检测两个步骤。数据预处理部分首先对原始DNS数据进行处理,使用白名单、访问主机数、单位时间内总访问次数这3项规则进行数据缩减。数据检测部分对经过数据预处理后的数据进行特征提取和可疑数据检测。使用域名解析正确率、IP地址相似率等8项正常行为特征对数据进行特征量化,计算出数据的各项特征值。然后,利用机器学习中的孤立森林算法对数据进行了检测,通过对比设定的阈值,区分出了待检测数据集中的正常DNS数据和含有仿真攻击的数据集。本文利用大量真实DNS数据对所提出的检测方法进行了实验。首先,使用本文所提出的数据预处理方法,筛除了原始数据集中91.8%的数据,实现了检测数据的大规模压缩。采用数据模拟的方法对检测方法进行验证,在经压缩后的数据中加入了仿真攻击数据,形成了包含仿真攻击数据的DNS流量数据集。使用孤立森林算法对数据集检测后,本方法检测可疑数据的假正例率为0.68%,查准率为99.9%,检测率为99.85%。所使用的8项数据特征中,有4项是本文所提出的、新的数据特征。为了衡量这4项新数据特征的检测效果,进行了对比实验,结果显示本文提出的4项新特征对整体的检测效果具有一定的影响,能够帮助算法更加准确地检测数据,去除这4项特征的检测效果在假正例率方面有所上升。本文所提出的方法通过大幅度缩减数据规模,提高了整体检测性能,有效解决原始数据量特别庞大的问题。所提出的应用于机器学习算法的数据特征,能够提高机器学习算法检测可疑数据的准确性。实验结果表明,本方法能够有效地区分出正常数据集和可疑数据集。本文所提出的方法既可以独立使用,有效筛查可疑DNS数据集;又可以作为其他异常检测方法的补充,共同进行检测;还可以作为相关研究侦测的前端数据处理部分,为今后APT攻击研究提供良好的数据处理平台,并提升研究和检测效率。