掌桥专利:专业的专利平台
掌桥专利
首页

恶意攻击检测方法、装置、存储介质及电子设备

文献发布时间:2024-04-18 20:02:18


恶意攻击检测方法、装置、存储介质及电子设备

技术领域

本申请涉及信息安全领域,具体而言,涉及一种恶意攻击检测方法、装置、存储介质及电子设备。

背景技术

DNS(Domain Name System,域名系统)隐蔽隧道是一种针对网络设备的恶意攻击技术,利用DNS协议来绕过网络防火墙和其他安全设备的检测和阻挡,从而实现对目标设备的攻击。其实现原理是,在攻击者的控制下,目标设备会向攻击者控制的DNS服务器发送请求,请求解析某个地址。攻击者控制的DNS服务器会将该请求转发给目标设备,从而使目标设备连接到攻击者控制的服务器,在此过程中实现对目标设备命令控制或者数据窃取的攻击。

相关技术中,对于DNS隐蔽隧道的检测方案经历了传统的基于规则的异常检测方法到机器学习,深度学习的研究方法过渡。传统的DNS隐蔽隧道研究方案中,对特定的客户端IP地址发送的域名长度超过一定长度的数量进行计数统计,然后根据阈值判定是否为DNS隐蔽隧道攻击的检测方法。但域名长度的设置和阈值的设置依赖专家经验较多,容易被攻击者绕过,同时对域名长度不是特别长的攻击流量包或MANS(Malicious AuthoritativeName Server,恶意权威名称服务器)发出的心跳包,此方案均不能有效的识别检测出来。因此传统的DNS隐蔽隧道检测存在较多误报漏报现象。

通过深度学习的方法进行DNS隐蔽隧道的检测方法是通过提取了DNS记录类型,将子域名根据“.”分片,根据每片的长度计算特征,还计算了域名长度,域名标签数等特征,构建神经网络模型,并使用白样本构建快速预筛选模块,从而对DNS隐蔽隧道进行检测。但此方案利用神经网络模型在实际的集成使用时,对计算资源的占用较多。

相关技术中对DNS隐蔽隧道的检测方法用于检测的特征多样性不够,样本不均衡。相关技术中大多数DNS隐蔽隧道研究的数据来源包括真实攻击数据、开源社区获得公开数据和实验室模拟的攻击数据,然而真实攻击数据的量少通常作为测试数据,开源社区获得公开数据的数据有效性需验证,实验室模拟的攻击数据产生的要素单一,覆盖的工具不完全。相关技术中有些方案中有些阈值的设定大多依赖于经验,使得模型容易被绕过,误报,漏报变多,泛化性变差。

针对相关技术中对恶意流量的检测结果不准确的问题,目前尚未提出有效的解决方案。

发明内容

本申请的主要目的在于提供一种恶意攻击检测方法、装置、存储介质及电子设备,以解决相关技术中对恶意流量的检测结果不准确的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种恶意攻击检测方法。该方法包括:获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;通过P个检测结果确定待检测流量的恶意流量检测结果。

可选地,获取多个流量样本包括:通过预设恶意流量生成工具生成N个恶意流量样本,并通过镜像服务器获取M个非恶意流量样本,其中,N和M为正整数,N和M的差值小于等于预设差值阈值;将N个恶意流量样本和M个非恶意流量样本组合,得到多个流量样本。

可选地,在将N个恶意流量样本和M个非恶意流量样本组合之前,该方法还包括:通过预设降维算法对恶意流量样本进行降维处理,得到恶意流量样本的第一特征向量;获取实际恶意流量样本,并通过预设降维算法对实际恶意流量样本进行降维处理,得到实际恶意流量样本的第二特征向量;计算第一特征向量与第二特征向量的相似度,并判断相似度是否大于等于相似度阈值;在相似度大于等于相似度阈值的情况下,执行将N个恶意流量样本和M个非恶意流量样本组合的步骤;在相似度小于相似度阈值的情况下,更新预设恶意流量生成工具,并基于更新后的预设恶意流量生成工具重新生成N个恶意流量样本,得到更新后的N个恶意流量样本;基于更新后的N个恶意流量样本执行将N个恶意流量样本和M个非恶意流量样本组合的步骤。

可选地,基于多个流量样本提取用于检测恶意流量的K个流量特征包括:从每个流量样本中提取出目标字段信息,其中,目标字段信息至少包括请求包发送内容、请求包资源类型、响应包发送内容和响应包资源类型;提取请求包发送内容中的字段特征和请求包资源类型中的字段特征,得到多个请求包特征;提取响应包发送内容中的字段特征和响应包资源类型中的字段特征,得到多个响应包特征;将多个请求包特征和多个响应包特征输入随机森林模型,并基于随机森林算法的特征重要性从随机森林模型中筛选出K个流量特征。

可选地,通过P个检测结果确定待检测流量的恶意流量检测结果包括:确定P个检测结果中待检测流量为恶意流量的第一数量,并确定个检测结果中待检测流量为非恶意流量的第二数量;在第一数量大于第二数量的情况下,确定待检测流量为恶意流量;在第一数量小于第二数量的情况下,确定待检测流量为非恶意流量。

可选地,在确定待检测流量为非恶意流量之后,该方法还包括:判断待检测流量访问的目标设备是否遭受恶意攻击;在目标设备遭受恶意攻击的情况下,发出提示信息,其中,提示信息用于提示待检测流量的恶意攻击检测有误;确定将待检测流量检测为非恶意流量的目标规则树模型,并对目标规则树模型进行更新。

可选地,对目标规则树模型进行更新包括:获取目标规则树模型的历史检测记录,从历史检测记录中确定目标规则树模型检测失误的误报率;判断误报率是否大于等于误报率阈值;在误报率大于等于误报率阈值的情况下,重新筛选用于检测恶意流量的新的流量特征;基于新的流量特征构建新的规则树模型,将目标规则树模型替换为新的规则树模型;在误报率小于误报率阈值的情况下,在目标规则树模型的历史检测记录中更新误报率。

为了实现上述目的,根据本申请的另一方面,提供了一种恶意攻击检测装置。该装置包括:第一获取单元,用于获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;构建单元,用于基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;第二获取单元,用于获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;确定单元,用于通过P个检测结果确定待检测流量的恶意流量检测结果。

通过本申请,采用以下步骤:获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;通过P个检测结果确定待检测流量的恶意流量检测结果,解决了相关技术中对恶意流量的检测结果不准确的问题。通过从流量样本中筛选用于检测恶意流量的流量特征,并基于流量特征构建规则树模型,从而基于规则树模型确定待检测流量是否为恶意流量,进而达到了提高检测恶意流量的准确性的效果。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例提供的恶意攻击检测方法的流程图;

图2是根据本申请实施例提供的恶意流量样本的生成框架的示意图;

图3是根据本申请实施例提供的数据泄露的示意图;

图4是根据本申请实施例提供的命令控制的示意图;

图5是根据本申请实施例提供的可选的恶意攻击检测方法的示意图;

图6是根据本申请实施例提供的恶意攻击检测装置的示意图;

图7是根据本申请实施例提供的电子设备的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:

TTPs:Tactics,Techniques,and Procedures,攻击战术、技术和程序;

DNS:Domain Name System,域名系统是一种将域名和IP地址相互映射的以层次结构分布的分布式数据库系统,也是互联网上普遍存在的基础解析服务;

DCC:DNS Covert Channel,DNS隐蔽信道;

C2:command&control,远程控制;

MANS:Malicious Authoritative Name Server,恶意权威名称服务器,由攻击者搭建的权威名称服务器,用来托管恶意域名的名称解析,实现与被控端通信;

Transaction:请求包/响应包数据包对;

t-SNE:t-Distributed Stochastic Neighbor Embedding,t-分布随机邻域嵌入。

下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的恶意攻击检测方法的流程图,如图1所示,该方法包括如下步骤:

步骤S101,获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数。

具体地,流量样本可以为由镜像服务器抓取的白流量、以及通过DNS隐蔽隧道工具生成的黑流量进行组合得到的样本。通过尽量保证流量样本中黑流量和白流量的数量为1比1,从而模拟目标设备遭受恶意攻击时的场景。从流量样本中提取出流量的多种特征,再经过有效载荷分析和流量分析等进行特征筛选,最后筛选出用于检测恶意流量的K个流量特征。

需要说明的是,黑流量是指非法、恶意或未经授权的数据流量。这些数据流量可能包括网络攻击、病毒传播、网络钓鱼等恶意活动。黑流量通常是由黑客或恶意软件生成的,旨在窃取用户信息、破坏网络安全或进行其他非法活动。白流量是指合法、经过授权的数据流量。这些数据流量由合法的用户或应用程序生成,并且符合网络规则和政策。白流量通常是正常的网络通信,如浏览网页、发送电子邮件、下载文件等。

步骤S102,基于所述K个流量特征构建P个规则树模型,其中,P为正奇数。

具体地,针对筛选出的K个流量特征构建P个初始规则树模型,通过利用python(一种编程语言)的GridSearchCV(自动调参)功能,对初始规则树模型进行最优参数搜寻,得到规则树模型最优的参数。将得到的规则树模型进行可视化展示,得到最后的规则树模型,利用规则树模型来检测恶意流量,能够节省目标设备的计算资源,增强恶意攻击检测模型的预测计算能力。

需要说明的是,规则树模型是一种基于规则的决策模型。它通过将一系列规则组织成树形结构来进行决策。规则树模型通常由一个根节点和多个分支节点组成,每个节点代表一个规则。当输入数据进入规则树模型时,从根节点开始,根据输入数据的特征逐级匹配规则,直到达到叶节点。叶节点则表示最终的决策结果。

步骤S103,获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量。

具体地,待检测流量可以为访问目标设备的流量,在将待检测流量输入到各个规则树模型中后,每个规则树模型会根据流量特征对应的规则确定待检测流量的检测结果,例如A规则树模型是基于a流量特征以及b流量特征构建的,通过对比待检测流量和恶意流量的a流量特征以及b流量特征的区别,从而确定该待检测流量是恶意流量还是非恶意流量。

步骤S104,通过P个检测结果确定待检测流量的恶意流量检测结果。

具体地,通过P个检测结果中恶意流量以及非恶意流量的占比来确定恶意流量检测结果,若P个检测结果中表征待检测流量为恶意流量的数量多于非恶意流量的数量,则确定待检测流量为恶意流量,若P个检测结果中表征待检测流量为恶意流量的数量少于非恶意流量的数量,则确定待检测流量为非恶意流量。

本申请实施例提供的恶意攻击检测方法,通过获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;通过P个检测结果确定待检测流量的恶意流量检测结果,解决了相关技术中对恶意流量的检测结果不准确的问题。通过从流量样本中筛选用于检测恶意流量的流量特征,并基于流量特征构建规则树模型,从而基于规则树模型确定待检测流量是否为恶意流量,进而达到了提高检测恶意流量的准确性的效果。

流量样本可以通过镜像服务器以及预设恶意流量生成工具获得,可选地,在本申请实施例提供的恶意攻击检测方法中,获取多个流量样本包括:通过预设恶意流量生成工具生成N个恶意流量样本,并通过镜像服务器获取M个非恶意流量样本,其中,N和M为正整数,N和M的差值小于等于预设差值阈值;将N个恶意流量样本和M个非恶意流量样本组合,得到多个流量样本。

具体地,预设差值阈值可以设置为1,预设恶意流量生成工具可以为基于现在的所有DNS隐蔽隧道工具预先开发的恶意流量生成工具。恶意流量样本也即黑流量,非恶意流量样本也即白流量。通过尽量保障恶意流量样本和非恶意流量样本的比例为1比1,从而尽可能模拟目标设备遭受恶意攻击时的场景。采集N个恶意流量样本和M个非恶意流量样本组合,进而得到用于提取流量特征的多个流量样本。本实施例利用镜像服务器抓取的白流量和自产的较完备的DNS隐蔽隧道数据(黑流量),确保黑白流量1:1,得到提取流量特征的流量样本。

需要说明的是,完备DNS隧道数据的构建,也即预设恶意流量生成工具的开发例如基于开源项目,内容详实的分析报告及公开的研究资料还原恶意攻击样本的实现情况,这些材料作为恶意流量生成的重要理论基础,是流量数据科学性、完备性的基础。结合现在的所有DNS隐蔽隧道工具,生成大量的,完备的攻击流量数据集。用于构建预设恶意流量生成工具的材料中采用了DCC攻击的相关的案例及在案例基础上的研究报告。通过参考ATT&CK(对抗模拟)框架资料,搜集的公开的研究报告及开源项目,总结并得到了DNS隐蔽隧道攻击的TTPs。攻击TTPs作为攻击流量生成的重要理论基础,为研究人员提供技术参考,是生成有效性、完备性流量数据的重要保证。表1是实现DCC攻击的关键技术。结合表1中的DCC的攻击TTPs和现在所有的隧道工具,使用json形式的配置参数文件,参考ATT&CK及APT报告中的关键点进行高质量,全面的攻击流量的生产还原,得到恶意流量样本。图2是根据本申请实施例提供的恶意流量样本的生成框架的示意图,如图2所示,通过参数集进行参数配置,由窃取信息加工处理模块对窃取到的目标设备的信息进行加密以及解密,通过数据分块嵌入与恢复模块对数据包中的信息进行分片或拼接,最终由窃密信息传送控制模块控制窃密数据包的构造、传输和接收。

表1

DNS隐蔽隧道的威胁场景可以分为数据泄露和命令控制两个方面。图3是根据本申请实施例提供的数据泄露的示意图,如图3所示,攻击者需要将目标主机有价值的数据通过DNS协议中的请求包发送内容的字段(也即图3中的account:admain,password:123abc)传送到攻击者控制的DNS服务器上。受限于DNS协议信息容量长度的限制,完整域名的最大长度为253。因此攻击者通常通过将原始信息分片,通过Base64,Hex,NetBIO,Base32等编码工具编码加工,通过AES,DES等加密工具加密处理,然后将辅助字串嵌入到请求包发送内容的字段构造DNS泄密数据包(也即图3中的61632345fad5rf34…),最后按照一定的频率,发出正常的DNS请求,将有价值信息传送到攻击者搭建的MANS。攻击者经过逆向恢复数据,达到最终的数据泄露目的。命令控制方面,图4是根据本申请实施例提供的命令控制的示意图,如图4所示,攻击者将命令数据嵌入到DNS协议应答区域的响应包发送内容的字段中,通常响应资源记录类型大多是A/TXT/AAAA等,将命令信息传送到目标主机上。

可选地,在将N个恶意流量样本和M个非恶意流量样本组合之前,该方法还包括:通过预设降维算法对恶意流量样本进行降维处理,得到恶意流量样本的第一特征向量;获取实际恶意流量样本,并通过预设降维算法对实际恶意流量样本进行降维处理,得到实际恶意流量样本的第二特征向量;计算第一特征向量与第二特征向量的相似度,并判断相似度是否大于等于相似度阈值;在相似度大于等于相似度阈值的情况下,执行将N个恶意流量样本和M个非恶意流量样本组合的步骤;在相似度小于相似度阈值的情况下,更新预设恶意流量生成工具,并基于更新后的预设恶意流量生成工具重新生成N个恶意流量样本,得到更新后的N个恶意流量样本;基于更新后的N个恶意流量样本执行将N个恶意流量样本和M个非恶意流量样本组合的步骤。

具体地,在通过预设恶意流量生成工具生成恶意流量样本后,通过t-SNE算法使恶意流量样本的特征数据可视化,从而对恶意流量样本进行有效性验证。t-SNE算法将恶意流量样本转化为三维特征向量,也即第一特征向量。接着在三维空间中,对第一特征向量进行展示,同时,采集实际恶意流量样本,并通过t-SNE算法将实际恶意流量样本转化为三维特征向量,也即第二特征向量。当自生成的攻击流量数据能够包围真实的攻击流量数据时,也即第一特征向量和第二特征向量的相似度大于等于相似度阈值,此时说明自生成的DNS攻击流量数据(恶意流量样本)具有很好的完备性,训练得到的模型对未知的攻击流量具有一定的预见性。也即数据有效性验证通过。若第一特征向量和第二特征向量的相似度小于相似度阈值,则说明恶意流量样本的数据有效性验证不通过,需要重新构建预设恶意流量生成工具,并重新生成更新后的N个恶意流量样本。

本实施例利用降维算法,分别计算提取真实的实际恶意流量样本和恶意流量样本的3维向量,将流量特征可视化,对生成的数据有效性进行验证。使用t-SNE算法,对通过预设恶意流量生成工具生成的黑流量和真实黑流量进行可视化展示,对通过预设恶意流量生成工具生成黑流量进行验证评估,进而保障提取的流量特征的有效性。

需要说明的是,t-SNE属于非线性特征抽取的数据可视化方式。被广泛的应用在图像处理,自然语言处理以及语音等领域,这种可视化方法的大量使用的主要原因就是算法本身对特征抽取的有效性。算法的主要原理利用条件概率计算不同样本在高维空间里面的距离和对应样本在低维空间里面的相似度,样本A选择样本B作为邻居的前提是样本B在以样本A为正态分布的概率密度函数的分布内。算法使用梯度下降优化所有点的KL散度和,目的是优化高维特征空间和低维特征空间之间的对应关系,即,本来在原高维空间距离较远的样本在低维空间中相似度很低,本来在原高维空间距离较近的样本在低维空间中相似度很大。

通过随机森林模型从流量样本中提取流量特征,可选地,在本申请实施例提供的恶意攻击检测方法中,基于多个流量样本提取用于检测恶意流量的K个流量特征包括:从每个流量样本中提取出目标字段信息,其中,目标字段信息至少包括请求包发送内容、请求包资源类型、响应包发送内容和响应包资源类型;提取请求包发送内容中的字段特征和请求包资源类型中的字段特征,得到多个请求包特征;提取响应包发送内容中的字段特征和响应包资源类型中的字段特征,得到多个响应包特征;将多个请求包特征和多个响应包特征输入随机森林模型,并基于随机森林算法的特征重要性从随机森林模型中筛选出K个流量特征。

具体地,通过python的抓包程序从流量样本中提取请求包发送内容、请求包资源类型、响应包发送内容和响应包资源类型四个字段的信息。通过使用有效载荷分析以及流量分析的方式提取流量特征,例如基于有效载荷分析提取的特征包括:提取的请求包特征包括请求包长度特征,及子域名长度特征,子域名和响应包中数字,大写字母,小写字母和其他字符的数量和比例的特征;子域名的n_gram熵值,当n的取值为1,2,3时的特征;将子域名根据“.”分割,得到的每个部分的长度的序列的最大值和最小值序列;计算每个部分当n的取值为1,2,3时的n_gram熵值,并计算请求包发送内容中各个子域名的熵值的和及熵值的均值;提取的响应包特征包括:响应包长度特征,响应包中数字,大写字母,小写字母和其他字符的数量和比例的特征;响应包的n_gram熵值,当n的取值为1,2,3时的n_gram熵值特征。

除了上述请求包特征和响应包特征以外,还可以包括从请求包资源类型的字段中提取的One-Hot(一位有效编码,独热编码)处理特征。以及基于请求包特征和响应包特征计算后得到的特征如计算请求包和响应包的大写字母的比值特征,计算请求包和响应包长度比值特征,域名的层级,子域名中最大有意义单词的长度等特征。通过有效载荷分析的方式得到特征共计53个。

使用流量分析方法从流量样本中提取的特征包括:根据(UDP(用户数据报协议)源IP:53>目的IP)四元组,顶级域名,时间的组合,构建请求包,响应包长度的最大值,最小值,均值等统计特征;根据(UDP源IP:53>目的IP)四元组,顶级域名,时间等维度组合,构建关于唯一子域名的计数统计特征及资源类型的计数特征;通过流量分析的方式共得到特征共计39个。从流量样本中初次提取的请求包特征和响应包特征可以为53+39=92个特征。

利用有效载荷分析和流量分析的思路,共提取92个特征,接下来利用树模型的特征重要性对92个特征进行筛选。选出能够表征所有特征信息的最具有区分性的特征集,将筛选的具有区分性的特征输入随机森林模型进行训练,在训练的随机模型的各项评价指标能够达到100%后,根据随机森林的特征重要性功能筛选出K个能够表征出所有特征集的信息的流量特征。本实施例基于完备的流量样本的基础上,利用随机森林训练模型,通过模型的特征重要性筛选出能够表征所有信息的重要特征集,再利用得到的重要特征集训练模型。利用模型在完备数据上进行阈值搜索,摆脱了依赖经验设置的弊端。利用了请求包和响应包的有效载荷信息(也即目标字段信息),使提取流量特征的信息更加丰富,提高恶意流量的检测效率和识别效率。

需要说明的是,随机森林模型是将多个决策树结合在一起,每次数据集是随机有放回的选出,同时随机选出部分特征作为输入,所以该算法被称为随机森林算法。最后的预测结果,结合其在分类问题中,选择多数分类结果作为最后的结果,在回归问题中,对多个回归结果取平均值作为最后的结果。

可选地,在本申请实施例提供的恶意攻击检测方法中,通过P个检测结果确定待检测流量的恶意流量检测结果包括:确定P个检测结果中待检测流量为恶意流量的第一数量,并确定个检测结果中待检测流量为非恶意流量的第二数量;在第一数量大于第二数量的情况下,确定待检测流量为恶意流量;在第一数量小于第二数量的情况下,确定待检测流量为非恶意流量。

具体地,通过随机森林模型对流量特征训练后,将得到的模型文件进行可视化展示,会得到P棵树,将P棵树转化成if-else的规则树模型,将待检测流量输入到P个规则树模型后,根据P个检测结果中分类多的结果作为最终的结果,例如,P=5,共得到5棵树,有3棵树预测待检测流量为恶意流量,2棵树预测待检测流量为非恶意流量,因此待检测流量的最终预测结果为恶意流量。本实施例通过分类多的检测结果作为恶意流量检测结果,保障流量检测的准确性。

可选地,在本申请实施例提供的恶意攻击检测方法中,在确定待检测流量为非恶意流量之后,该方法还包括:判断待检测流量访问的目标设备是否遭受恶意攻击;在目标设备遭受恶意攻击的情况下,发出提示信息,其中,提示信息用于提示待检测流量的恶意攻击检测有误;确定将待检测流量检测为非恶意流量的目标规则树模型,并对目标规则树模型进行更新。

具体地,为了保障本实施例的恶意攻击检测方法的时效性,需要对规则树模型实时更新。若基于本实施例提供的恶意攻击检测方法确定待检测流量为非恶意流量后目标设备仍遭受恶意攻击,则说明部分规则树模型的检测结果不准确,通过发送提示信息提示待检测流量的恶意攻击检测有误,并根据规则树模型的检测结果确定将待检测流量检测为非恶意流量的目标规则树模型,并对目标规则树模型进行更新。本实施例通过对规则树模型实时更新,保障恶意攻击检测方法的时效性,提高恶意流量检测的准确性。

可选地,在本申请实施例提供的恶意攻击检测方法中,对目标规则树模型进行更新包括:获取目标规则树模型的历史检测记录,从历史检测记录中确定目标规则树模型检测失误的误报率;判断误报率是否大于等于误报率阈值;在误报率大于等于误报率阈值的情况下,重新筛选用于检测恶意流量的新的流量特征;基于新的流量特征构建新的规则树模型,将目标规则树模型替换为新的规则树模型;在误报率小于误报率阈值的情况下,在目标规则树模型的历史检测记录中更新误报率。

具体地,由于规则树模型的检测结果可能出错,基于规则树模型对应的流量特征区分恶意流量和非恶意流量的结果存在误差,通过设置误报率阈值来确定规则树模型的检测结果是否可以保障准确性。若某个规则树模型在一段时间内的检测结果的误报率超过误报率阈值,则说明该规则树模型对恶意流量的检测结果不够准确,通过筛选用于检测恶意流量的新的流量特征;基于新的流量特征构建新的规则树模型,并将检测结果不准确的目标规则树模型替换为新的规则树模型,从而对规则树模型进行更新。

根据本申请的另一方面,还提供了一种可选的恶意攻击检测方法,图5是根据本申请实施例提供的可选的恶意攻击检测方法的示意图。如图5所示,该方法包括:通过公开资料和开源项目搭建DNS隐蔽隧道TTPs;基于DNS隐蔽隧道TTPs和DNS隐蔽隧道工具构建DCC流量生成框架;通过DCC流量生成框架和采集的镜像白流量生成DNS攻击流量;对DNS攻击流量进行数据处理,特征工程及筛选流量特征,对筛选出的流量特征进行模型训练及可视化展示,得到规则树模型,对规则树模型进行模型测试,测试完成后输入真实攻击流量进行模型应用,并基于模型应用结果对规则树模型进行迭代优化。

本实施例提供的可选的恶意攻击检测方法,基于ATT&CK及DCC攻击的TTPs,设计了DCC攻击流量生成框架,同时利用所有的DCC工具生成大量的,覆盖大样本空间较完备的恶意流量数据集,利用t-SNE方法对自生成攻击流量和真实的攻击流量进行对比评估。然后利用随机森林模型所有92维的特征集进行模型训练,根据特征重要性筛选出能够表征所有信息的K维重要特征集。将此流量特征重新进行模型训练,将得到的模型文件进行可视化展示,得到最终的规则树模型。此模型克服传统方法易绕过的问题,提高了DCC攻击流量的识别准确率,减少了计算资源的占用,同时提高了对未知的攻击流的识别效率。

基于TTPs结合完备的DNS隐蔽隧道工具生成大量的,覆盖大样本空间的攻击流量数据集,利用降维方法,完成对开源数据和自生成的数据集的有效性验证。从有效载荷和统计分析两个方面构造关于子域名,数据包类型及分组统计等特征。利用树模型的特征重要性,选取能够表征所有特征信息的重要区分性的特征,将机器学习训练后的模型文件转化成规则树模型,利用最后的规则树模型对DNS隐蔽隧道流量进行识别,能够减少计算资源的占用,加快检测效率。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例还提供了一种恶意攻击检测装置,需要说明的是,本申请实施例的恶意攻击检测装置可以用于执行本申请实施例所提供的用于恶意攻击检测方法。以下对本申请实施例提供的恶意攻击检测装置进行介绍。

图6是根据本申请实施例提供的恶意攻击检测装置的示意图。如图6所示,该装置包括:

第一获取单元10,用于获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;

构建单元20,用于基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;

第二获取单元30,用于获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;

确定单元40,用于通过P个检测结果确定待检测流量的恶意流量检测结果。

本申请实施例提供的恶意攻击检测装置,通过第一获取单元10,获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;构建单元20,基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;第二获取单元30,获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;确定单元40,通过P个检测结果确定待检测流量的恶意流量检测结果,解决了相关技术中对恶意流量的检测结果不准确的问题,通过从流量样本中筛选用于检测恶意流量的流量特征,并基于流量特征构建规则树模型,从而基于规则树模型确定待检测流量是否为恶意流量,进而达到了提高检测恶意流量的准确性的效果。

可选地,在本申请实施例提供的恶意攻击检测装置中,第一获取单元10包括:生成模块,用于通过预设恶意流量生成工具生成N个恶意流量样本,并通过镜像服务器获取M个非恶意流量样本,其中,N和M为正整数,N和M的差值小于等于预设差值阈值;组合模块,用于将N个恶意流量样本和M个非恶意流量样本组合,得到多个流量样本。

可选地,在本申请实施例提供的恶意攻击检测装置中,第一获取单元10包括:第一提取模块,用于从每个流量样本中提取出目标字段信息,其中,目标字段信息至少包括请求包发送内容、请求包资源类型、响应包发送内容和响应包资源类型;第二提取模块,用于提取请求包发送内容中的字段特征和请求包资源类型中的字段特征,得到多个请求包特征;第三提取模块,用于提取响应包发送内容中的字段特征和响应包资源类型中的字段特征,得到多个响应包特征;输入模块,用于将多个请求包特征和多个响应包特征输入随机森林模型,并基于随机森林算法的特征重要性从随机森林模型中筛选出K个流量特征。

可选地,在本申请实施例提供的恶意攻击检测装置中,该装置还包括:处理单元,用于通过数据可视化工具对多个请求包特征和多个响应包特征进行可视化处理,得到每个请求包特征的第一特征向量和每个响应包特征的第二特征向量;第三获取单元,用于获取实际恶意流量样本的实际请求包特征和实际响应包特征,通过数据可视化工具对实际请求包特征和实际响应包特征进行可视化处理,得到每个实际请求包特征的第三特征向量和每个实际响应包特征的第四特征向量;第一剔除单元,用于在第一特征向量和第三特征向量的相似度小于相似度阈值的情况下,将第一特征向量对应的请求包特征从多个请求包特征中剔除;第二剔除单元,用于在第二特征向量和第四特征向量的相似度小于相似度阈值的情况下,将第二特征向量对应的响应包特征从多个响应包特征中剔除。

可选地,在本申请实施例提供的恶意攻击检测装置中,确定单元40包括:第一确定模块,用于确定P个检测结果中待检测流量为恶意流量的第一数量,并确定个检测结果中待检测流量为非恶意流量的第二数量;第二确定模块,用于在第一数量大于第二数量的情况下,确定待检测流量为恶意流量;第三确定模块,用于在第一数量小于第二数量的情况下,确定待检测流量为非恶意流量。

可选地,在本申请实施例提供的恶意攻击检测装置中,该装置还包括:判断单元,用于判断待检测流量访问的目标设备是否遭受恶意攻击;提示单元,用于在目标设备遭受恶意攻击的情况下,发出提示信息,其中,提示信息用于提示待检测流量的恶意攻击检测有误;更新单元,用于确定将待检测流量检测为非恶意流量的目标规则树模型,并对目标规则树模型进行更新。

可选地,在本申请实施例提供的恶意攻击检测装置中,更新单元包括:获取模块,用于获取目标规则树模型的历史检测记录,从历史检测记录中确定目标规则树模型检测失误的误报率;判断模块,用于判断误报率是否大于等于误报率阈值;筛选模块,用于在误报率大于等于误报率阈值的情况下,重新筛选用于检测恶意流量的新的流量特征;构建模块,用于基于新的流量特征构建新的规则树模型,将目标规则树模型替换为新的规则树模型;更新模块,用于在误报率小于误报率阈值的情况下,在目标规则树模型的历史检测记录中更新误报率。

恶意攻击检测装置包括处理器和存储器,上述第一获取单元10、构建单元20、第二获取单元30和确定单元40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高检测恶意流量的准确性。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现恶意攻击检测方法。

本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行恶意攻击检测方法。

图7是根据本申请实施例提供的电子设备的示意图。如图7所示,电子设备701包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;通过P个检测结果确定待检测流量的恶意流量检测结果。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取多个流量样本,并基于多个流量样本提取用于检测恶意流量的K个流量特征,其中,K为正整数;基于所述K个流量特征构建P个规则树模型,其中,P为正奇数;获取待检测流量,并将待检测流量输入每个规则树模型,得到P个检测结果,其中,检测结果包括恶意流量和非恶意流量;通过P个检测结果确定待检测流量的恶意流量检测结果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种交通信号灯识别装置
  • 一种交通信号灯漏电保护装置及其方法
  • 一种交叉口交通指挥用信号灯装置
  • 一种交叉口交通指挥用信号灯装置
技术分类

06120116576955