论文部分内容阅读
根据卡巴斯基实验室的研究报告,高级持续性威胁(Advanced Persistent Threat,APT)依旧是2019年计算机安全领域的一个重大威胁。来自不同国家的攻击团体在全球范围内对金融,军事,外交,电信和供电公司,政治家和活动家的计算机系统进行攻击。这种攻击以其高级和难以检测的特点,在比较大的时间跨度里,对目标渗透,攻击,潜伏,扩散,窃取信息。由于其流量低,攻击时间长的,攻击方法多样并且实时在进化特点,具有一定检测难度。做为一种人为定制的复杂攻击过程,APT攻击对现有的网络安全存在极大的危害。其整个攻击的过程非常隐蔽,在长时间跨度下只产生极少量的攻击行为,并混杂在大量的正常活动中。由于域名系统协议(Domain Name System,DNS)在APT中的作用,通过不同攻击阶段产生的DNS异常活动可生成可疑的恶意域名列表,可用于帮助发现APT攻击。但是,该领域内还存在着若干挑战,如(1)检测方法需要面对长时间大跨度的日志数据;(2)较少的攻击样本数据限制监督学习的应用;(3)已有方法没有考虑响应报文与请求报文之间的关系。为了解决需要面对长时间大跨度的日志数据的问题,本文提出一种基于无监督机器学习的检测APT攻击中可疑域名的框架AULD(APT Unsupervised Learning Detection framework),从大量的DNS请求数据中,抽取出基于主机、域名和时间的10种特征,进行聚类分析,输出可疑的域名列表,可以用于后续的APT攻击分析。利用吉林大学校园网中采集的1,584,225,274条DNS请求记录进行实验验证框架的正确性,实验结果表明提出的框架可以有效的检测出APT攻击中的可疑域名。为了解决请求报文和响应报文联系体现不明确的问题,本文将DNS响应报文的特征和响应报文与请求报文的关系的特征赋予请求报文,通过分析以请求报文为主体来得到以往可能没有得到的可疑的DNS请求记录。采用深度学习的方法对DNS请求记录进行分析,算法根据计算出的可疑值对待检测的DNS行为进行威胁评估。利用吉林大学校园网中收集的包含4,907,147,146条DNS请求记录的数据加入仿真攻击数据来验证框架的有效性与正确性,实验结果表明:我们的方法在检测DNS可疑行为上达到了平均准确率约97.6%,反正例率FP(False Positive Rate)约为2.3%,召回率(Recall)约为96.8%,提出的框架可以有效地检测到APT中的隐蔽可疑DNS行为。本文从以上两个方向对通过DNS行为针对APT攻击的检测进行研究并提出了相关的检测方案,分别通过无监督学习方法和深度学习方法对DNS行为进行评估,为网络环境的安全性提升做出了努力。通过实验,我们证明了本文的工作可用于帮助发现可疑的DNS行为。