首页> 中国专利> 一种基于DNS的木马病毒检测方法

一种基于DNS的木马病毒检测方法

摘要

本发明涉及网络安全技术领域,且公开了一种基于DNS的木马病毒检测方法,包括数据包采集整合模块、DNS会话重组模块、随机森林分类训练模块、DNS隧道木马流量监测模块、用户管理界面。该基于DNS的木马病毒检测方法,获取第一样本信息,所述第一样本信息包括DNS的域名信息和DNS的流量行为;提取所述第一样本信息的特征值;对所述特征值进行加权求和,得到评分值;根据所述评分值建立DNS可疑模型,因此,对所述特征值进行加权求和,得到评分值之后根据所述评分值建立DNS可疑模型,利用该DNS可疑模型可以用于后续对DNS信息的可疑性判断,即对特征值进行多维度识别、减少常规算法产生的误报等较多问题,提高对DNS信息检测识别的准确度。

著录项

  • 公开/公告号CN112272175A

    专利类型发明专利

  • 公开/公告日2021-01-26

    原文格式PDF

  • 申请/专利权人 江苏今浪信息技术有限公司;

    申请/专利号CN202011141618.1

  • 发明设计人 徐海勇;

    申请日2020-10-22

  • 分类号H04L29/06(20060101);H04L29/12(20060101);G06F21/56(20130101);G06K9/62(20060101);G06N20/00(20190101);

  • 代理机构34152 合肥左心专利代理事务所(普通合伙);

  • 代理人潘华

  • 地址 213000 江苏省常州市钟楼区通江南路58号

  • 入库时间 2023-06-19 09:40:06

说明书

技术领域

本发明涉及网络安全技术领域,具体为一种基于DNS的木马病毒检测方法。

背景技术

在网络技术不断更新升级的背景下,木马病毒的危害性和攻击性也在持续增加,木马病毒是指隐藏在正常程序中的一段具有特殊功能的恶意代码,通常有控制端、被控制端两个可执行程序,黑客通过远程控制计算机,将控制程序寄生于被控制的计算机系统中,里应外合,伺机窃取被感染木马病毒的计算机中的密码和重要文件等,还可对被控计算机实施监控、资料修改等非法操作。

目前为应对木马病毒问题,已开发出多种隐蔽式通信方式,例如使用较多的基于DNS隧道的通信方式,它从攻击行为与关键字段解密的解析都更胜一筹,DNS隧道技术是指基于DNS网络协议建立隐蔽通信,实现机密数据的隐蔽传输,不过现有DNS隧道技术在实际使用过程中还是有一定几率被黑客恶意利用,继而通过DNS隐蔽通道进行远程控制甚至窃取数据,因此如何有效的应对层出不穷的新型高隐蔽性DNS隧道木马病毒,及时发现网络通信中可能存在的DNS隧道木马病毒,提高木马病毒检测率,已成为亟待解决的难题,目前计算机行业内普遍采用特征值的方式进行过滤识别,基本上主要通过对DNS关键字段进行提取后识别长度、信息熵、以及DNS请求的频率等之后,直接通过人为的经验判断其是否存在可疑元素。然而DNS的通信字段可能存在相同的格式规律每次请求的域名字段有较大的相似度导致信息熵存在一定的漏报,并且目前流行的病毒木马技术日新月异单纯的依靠特征检测已经无法识别新的样本特征,为此本发明将提供一种基于DNS的木马病毒检测方法。

发明内容

(一)解决的技术问题

本发明提供了一种基于DNS的木马病毒检测方法,解决了上述背景技术中提到的问题。

(二)技术方案

本发明提供如下技术方案:一种基于DNS的木马病毒检测方法,包括数据包采集整合模块、DNS会话重组模块、随机森林分类训练模块、DNS隧道木马流量监测模块、用户管理界面。

优选的,所述数据包采集整合模块的内部包括有网络数据采集和数据包过滤、DNS数据包队列。

优选的,所述DNS会话重组模块的内部包括有DNS回话重组和DNS会话评估向量。

优选的,所述随机森林分类训练模块内部包括有生成随机森林和基于随机森林分类学习方法。

优选的,所述DNS隧道木马流量监测模块的内部包括有DNS隧道木马检测分类器、生成报警信息以及数据库。

一种基于DNS的木马病毒检测方法的具体操作方式,包括以下操作步骤:

S1、通过数据包采集整合模块首先从网络出入口采集数据包,采用WinPcap捕获技术的底层过滤机制抓取DNS流量,捕获到DNS数据包后,根据需求可对抓取的DNS报文校验,目的是为了保证抓取的数据包符合DNS协议规范,防止DNS出错报文等情况的出现影响检测精度,然后DNS数据包队列:经检查后满足DNS协议规范的DNS报文缓存下来,抽取用于检测的关键信息后,存入DNS数据报文队列;

S2、待第一完成后,将获取第一样本信息,第一样本信息包括DNS的域名信息和DNS的流量行为;

S3、提取第一样本信息的特征值,并对特征值进行加权求和,得到评分值;

S4、根据评分值建立DNS可疑模型,根据上述评分值建立DNS可疑模型之后,获取第二样本信息,第二样本信息包括第一样本信息以及两者DNS信息和对DNS信息的之间可疑程度,接着对第二样本信息进行机器学习处理,得到修正参数;

S5、使用修正参数修正DNS可疑模型,得到更新后的DNS可疑模型,此过程中还包括获取目标DNS的相关信息,相关信息包括目标DNS的域名信息和目标DNS的流量行为;根据DNS的域名信息和DNS的流量行为提取目标DNS隧道的目标特征值,对目标特征值进行加权求和,得到目标评分值,使用更新后的DNS可疑模型对目标评分值进行可疑性判断,得到可疑性结果,可疑性结果用于指示目标DNS的可疑性;

S6、对第二样本信息进行机器学习处理,得到修正参数具体包括,使用随机森林树算法对第二样本信息进行机器学习处理,得到修正参数,而获取DNS隧道的第一样本信息具体包括:获取初始第一样本信息,初始第一样本信息包括初始DNS的域名信息,获取过滤基准信息,过滤基准信息包括子域名长度和/或DNS记录资源类型和/或内网主机域名和/或与多个主机通信的域名以及根据过滤基准信息对初始第一样本信息进行过滤,得到第一样本信息,而上述步骤中的特征值包括:访问总量、访问速率、不同域名占用率、相同域名占有率、信息熵、文法特征、记录类型、隐蔽特征、威胁情报中的一个或多个。

一种基于DNS的木马病毒检测方法的具体操作方式,包括以下操作步骤:

S1、通过数据包采集整合模块首先从网络出入口采集数据包,采用WinPcap捕获技术的底层过滤机制抓取DNS流量,捕获到DNS数据包后,根据需求可对抓取的DNS报文校验,目的是为了保证抓取的数据包符合DNS协议规范,防止DNS出错报文等情况的出现影响检测精度,然后DNS数据包队列:经检查后满足DNS协议规范的DNS报文缓存下来,抽取用于检测的关键信息后,存入DNS数据报文队列;

S2、待第一步完成后,采用第一获取单元,用于获取第一样本信息,第二样本信息包括第一样本信息,第一样本信息包括DNS的域名信息和DNS的流量行为;

S3、第一提取单元,用于提取第一样本信息的特征值,且第一加权求和单元,用于对特征值进行加权求和,得到评分值,随后建立单元,用于根据评分值建立DNS可疑模型,该系统还包括:第二获取单元,用于获取第二样本信息,第二样本信息包括第一样本信息,第二样本信息包括DNS隧道信息和对DNS隧道信息的可疑程度;

S4、处理单元,用于对第二样本信息进行机器学习处理,得到修正参数,修正单元,用于使用修正参数修正DNS隧道可疑模型,得到更新后的DNS隧道可疑模型,该系统还包括:第三获取单元,用于获取目标DNS隧道的相关信息,相关信息包括目标DNS隧道的域名信息和目标DNS隧道的流量行为,而第二提取单元,用于根据DNS隧道的域名信息和DNS隧道的流量行为提取目标DNS隧道的目标特征值,第二加权求和单元,用于对目标特征值进行加权求和,得到目标评分值,可疑性判断单元,用于使用更新后的DNS隧道可疑模型对目标评分值进行可疑性判断,得到可疑性结果,可疑性结果用于指示目标DNS隧道的可疑性;

S5、处理单元具体用于:使用随机森林树算法对第二样本信息进行机器学习处理,得到修正参数,第一获取单元具体用于:获取初始第一样本信息,初始第一样本信息包括初始DNS隧道的域名信息,获取过滤基准信息,过滤基准信息包括子域名长度和/或DNS记录资源类型和/或内网主机域名和/或与多个主机通信的域名;

S6、过滤基准信息对初始第一样本信息进行过滤,得到第一样本信息,并且上述步骤中,特征值包括:访问总量、访问速率、不同域名占用率、相同域名占有率、信息熵、文法特征、记录类型、隐蔽特征、威胁情报(加分项)中的一个或多个。

(三)有益效果

本发明具备以下有益效果:

该基于DNS的木马病毒检测方法,获取第一样本信息,所述第一样本信息包括DNS的域名信息和DNS的流量行为;提取所述第一样本信息的特征值;对所述特征值进行加权求和,得到评分值;根据所述评分值建立DNS可疑模型,因此,对所述特征值进行加权求和,得到评分值之后,根据所述评分值建立DNS可疑模型,利用该DNS可疑模型可以用于后续对DNS信息的可疑性判断,即对特征值进行多维度识别、减少常规算法产生的误报等较多问题,提高对DNS信息检测识别的准确度。

附图说明

图1为DNS隧道木马病毒检测流程框架;

图2为数据包采集整合模块流程图;

图3为生成随机森林过程图。

图中:1、数据包采集整合模块;2、DNS会话重组模块;3、随机森林分类训练模块;4、DNS隧道木马流量监测模块;5、用户管理界面。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,一种基于DNS的木马病毒检测方法,包括数据包采集整合模块1,所述数据包采集整合模块1的内部包括有网络数据采集和数据包过滤、DNS数据包队列,数据包采集整合模块1主要是从网络出入口采集数据包,采用WinPcap捕获技术的底层过滤机制抓取DNS流量,数据包采集整合模块1是根据操作系统提供的WinPcap库设计研发的,Windows系统为用户提供了网络内核数据的调用接口并且提供了一个方便实用的WinPcap函数,为了能让来自上层的应用程序能够使用底层内核驱动所提供的功能,WinPcap为用户层提供两个不同层次的动态链接库:Packet.dll与wpcap.dll,Packet.dll提供底层的API,提供不同操作系统的编程接口,wpcap.dll提供用户层函数调用,而由于我们关注的对象是DNS报文,配置抓包规则只获取DNS报文,捕获到DNS数据包后,根据需求可对抓取的DNS报文校验,目的是为了保证抓取的数据包符合DNS协议规范,防止DNS出错报文等情况的出现影响检测精度,经检查后满足协议规范的DNS报文缓存下来,抽取用于检测的关键信息后,存入DNS数据报文队列,检测用的DNS报文结构重新定义,检测用的DNS数据包随后进入DNS数据包队列,DNS数据包队列数据结构的程序语言描述、DNS会话重组模块2,DNS会话重组模块2的内部包括有DNS回话重组和DNS会话评估向量,DNS会话重组模块2将DNS报文组件成DNS会话过程中,需要对DNS报文按照五元组进行分类,在这里采用哈希算法处理方法:首先在内存中创建五元组哈希表,如果DNS报文属于当前哈希表中的某个DNS会话中,则将该报文链接在该五元组哈希会话链表后,如果该DNS报文的五元组哈希值不在这哈希会话链表中,则创建一个新的哈希会话,加入到该链表中,到此为止,解决了两个问题:一是DNS会话的存储结构,二是判定两个DNS是否属于同一个DNS会话只要判断两个DNS报文五元组是否相关,那么还在存在一个问题:如何判定DNS会话结束?DNS会话并没有TCP会话中“四次挥手”数据包的关闭标志,那么本文引入超时机制来判定DNS会话的结束,本系统设定两个限定条件:一是会话在三分钟内没有收到新的DNS报文,二是会话时长大于三十分钟,满足上述两个条件之一都会被认为DNS会话的结束,对于加入第二种条件的原因是如果一个会话持续时间太长会导致数据包一直拥塞,内存得不到及时的释放,造成系统的卡顿,降低处理效率,如果一个DNS会话时长超过三十分钟,该会话会被切成两部分,会不会对检测结果造成很大的影响?实践检验的结果是影响的结果微乎其微,原因是:一是如果一个DNS会话超过三十分钟被截断了,那么截断后的DNS报文会以新的DNS会话保存下来,并且再次进入检测,所以不会遗漏待检测的数据,二是即使在网络拥塞很严重的环境下,正常的DNS会话一般不会超过三分钟,这与计算机系统处理DNS报文响应的时间有关,所以如果一个DNS会话持续超过三十分钟,几乎可以判断这是一个有问题的DNS会话,当每一个DNS会话结束时,接下来提取DNS会话评估向量,DNS评估向量的存储结构如下,DNS报文属于UDP报文,UDP不像TCP会话在建立通信过程中存在“三次握手”和断开连接的“四次挥手”行为,所以要重新构造DNS会话,在本系统中如果两个DNS报文满足五元组相关,那么这两个DNS报文就属于同一个DNS会话,DNS会话重组模块2的输入是数据包采集整合模块1产生的DNS数据包队列,进过DNS会话提取重组后,输出DNS会话向量,DNS会话重组模块2读取来自数据包采集过滤模块生成的DNS数据报文,通过DNS会话重组过程,最终形成一个个待评估的DNS会话向量,这些DNS会话评估向量一部分构成随机森林分类训练模型的训练样本,将训练好的随机森林分类器部署到DNS流量检测系统中后,DNS会话评估向量就作为DNS隧道木马流量检测系统的输入、随机森林分类训练模块3,所述随机森林分类训练模块3内部包括有生成随机森林和基于随机森林分类学习方法,接着DNS隧道木马随机森林分类训练模块3读取DNS会话重组模块2生成的DNS评估向量,通过分类训练,建立随机森林分类器,采集和标记DNS隧道木马会话评估向量和正常DNS会话评估向量作为随机森林分类训练模块3的输入,DNS隧道木马流量的采集方法是:在测试网络中部署DNScat2等DNS隧道木马样本,在具有外网IP地址的控制端对DNS隧道木马发送相应的控制命令,在测试网络的交换机处按照抓取DNS数据,正常DNS流量的采集方法较为简单:在纯净测试网络里,所有纯净主机日常的上网,利用交换机镜像数据抓取DNS数据当做正常DNS数据样本、DNS隧道木马流量监测模块4,所述DNS隧道木马流量监测模块4的内部包括有DNS隧道木马检测分类器、生成报警信息以及数据库,最终DNS隧道木马流量监测模块4以DNS会话评估向量作为输入,该模块首先读取缓存队列中DNS会话评估向量,因为综合考虑DNS评估向量中每个特征提取难度和计算实时性要求,首先提取DNS会话实时评估向量,然后进入随机森林分类器评估,如果初步确定为可疑DNS隧道木马流量,接着再进行提取此次DNS会话的备选评估向量进行评估,如果评估结果为可疑则生成相关报警信息并且存入数据库,且上述步骤均是在用户管理界面5上操作、用户管理界面5。

一种基于DNS的木马病毒检测方法的具体操作方式,包括以下操作步骤:

S1、通过数据包采集整合模块1首先从网络出入口采集数据包,采用WinPcap捕获技术的底层过滤机制抓取DNS流量,捕获到DNS数据包后,根据需求可对抓取的DNS报文校验,目的是为了保证抓取的数据包符合DNS协议规范,防止DNS出错报文等情况的出现影响检测精度,然后DNS数据包队列:经检查后满足DNS协议规范的DNS报文缓存下来,抽取用于检测的关键信息后,存入DNS数据报文队列;

S2、待第一完成后,将获取第一样本信息,第一样本信息包括DNS的域名信息和DNS的流量行为;

S3、提取第一样本信息的特征值,并对特征值进行加权求和,得到评分值;

S4、根据评分值建立DNS可疑模型,根据上述评分值建立DNS可疑模型之后,获取第二样本信息,第二样本信息包括第一样本信息以及两者DNS信息和对DNS信息的之间可疑程度,接着对第二样本信息进行机器学习处理,得到修正参数;

S5、使用修正参数修正DNS可疑模型,得到更新后的DNS可疑模型,此过程中还包括获取目标DNS的相关信息,相关信息包括目标DNS的域名信息和目标DNS的流量行为;根据DNS的域名信息和DNS的流量行为提取目标DNS隧道的目标特征值,对目标特征值进行加权求和,得到目标评分值,使用更新后的DNS可疑模型对目标评分值进行可疑性判断,得到可疑性结果,可疑性结果用于指示目标DNS的可疑性;

S6、对第二样本信息进行机器学习处理,得到修正参数具体包括,使用随机森林树算法对第二样本信息进行机器学习处理,得到修正参数,而获取DNS隧道的第一样本信息具体包括:获取初始第一样本信息,初始第一样本信息包括初始DNS的域名信息,获取过滤基准信息,过滤基准信息包括子域名长度和/或DNS记录资源类型和/或内网主机域名和/或与多个主机通信的域名以及根据过滤基准信息对初始第一样本信息进行过滤,得到第一样本信息,而上述步骤中的特征值包括:访问总量、访问速率、不同域名占用率、相同域名占有率、信息熵、文法特征、记录类型、隐蔽特征、威胁情报中的一个或多个。

一种基于DNS的木马病毒检测方法的具体操作方式,包括以下操作步骤:

S1、通过数据包采集整合模块1首先从网络出入口采集数据包,采用WinPcap捕获技术的底层过滤机制抓取DNS流量,捕获到DNS数据包后,根据需求可对抓取的DNS报文校验,目的是为了保证抓取的数据包符合DNS协议规范,防止DNS出错报文等情况的出现影响检测精度,然后DNS数据包队列:经检查后满足DNS协议规范的DNS报文缓存下来,抽取用于检测的关键信息后,存入DNS数据报文队列;

S2、待第一步完成后,采用第一获取单元,用于获取第一样本信息,第二样本信息包括第一样本信息,第一样本信息包括DNS的域名信息和DNS的流量行为;

S3、第一提取单元,用于提取第一样本信息的特征值,且第一加权求和单元,用于对特征值进行加权求和,得到评分值,随后建立单元,用于根据评分值建立DNS可疑模型,该系统还包括:第二获取单元,用于获取第二样本信息,第二样本信息包括第一样本信息,第二样本信息包括DNS隧道信息和对DNS隧道信息的可疑程度;

S4、处理单元,用于对第二样本信息进行机器学习处理,得到修正参数,修正单元,用于使用修正参数修正DNS隧道可疑模型,得到更新后的DNS隧道可疑模型,该系统还包括:第三获取单元,用于获取目标DNS隧道的相关信息,相关信息包括目标DNS隧道的域名信息和目标DNS隧道的流量行为,而第二提取单元,用于根据DNS隧道的域名信息和DNS隧道的流量行为提取目标DNS隧道的目标特征值,第二加权求和单元,用于对目标特征值进行加权求和,得到目标评分值,可疑性判断单元,用于使用更新后的DNS隧道可疑模型对目标评分值进行可疑性判断,得到可疑性结果,可疑性结果用于指示目标DNS隧道的可疑性;

S5、处理单元具体用于:使用随机森林树算法对第二样本信息进行机器学习处理,得到修正参数,第一获取单元具体用于:获取初始第一样本信息,初始第一样本信息包括初始DNS隧道的域名信息,获取过滤基准信息,过滤基准信息包括子域名长度和/或DNS记录资源类型和/或内网主机域名和/或与多个主机通信的域名;

S6、过滤基准信息对初始第一样本信息进行过滤,得到第一样本信息,并且上述步骤中,特征值包括:访问总量、访问速率、不同域名占用率、相同域名占有率、信息熵、文法特征、记录类型、隐蔽特征、威胁情报(加分项)中的一个或多个。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号