当前位置: 首页 > 专利查询>云南大学专利>正文

基于深度学习的Botnet攻击C&C服务器溯源方法技术

技术编号:38144017 阅读:7 留言:0更新日期:2023-07-08 10:00
本发明专利技术公开了一种基于深度学习的Botnet攻击C&C服务器溯源方法,包括以下步骤:步骤一、数据集预处理与特征提取;步骤二、通过融合的LSTM+CNN训练模型,使用提取的特征识别出命令与控制C&C会话数据部分,根据心跳HeartBeat报文与C&C服务器的跟踪关系,从其中分离出心跳数据包;步骤三、对心跳数据包进行数据提取并作为输入数据,用于构建图卷积神经网络GCN,通过GCN网络实现对僵尸网络Botnet主机的溯源。解决了现有技术中存在的由于数据具有复杂的动态特性和不稳定性等特点使得传统的检测方法无法获得较为理想检测结果的问题,提升了检测与溯源僵尸网络中攻击主机Master节点的准确度。准确度。准确度。

【技术实现步骤摘要】
基于深度学习的Botnet攻击C&C服务器溯源方法


[0001]本专利技术属于网络攻击检测
,特别是涉及一种基于深度学习的Botnet攻击C&C服务器溯源方法

技术介绍

[0002]僵尸网络Botnet是指攻击者出于恶意目的,传播僵尸程序(bot),以控制大量僵尸主机,并通过一对多的命令和控制信道所组成的网络。例如,同时对目标进行分布式拒绝服务攻击,或同时发送大量的垃圾邮件等。随着网络社会的高速发展及智能化水平的提高,大量的智能终端设备应用在商场、公园、学校、医院、地铁站等人群密集且易发生公共安全事件的场所,智能设备的出现无疑给人们带来了极大的便利。然而,由于相关的相关智能设备数量之大,对其保护之薄弱,加上日益严峻的网络空间安全形势,利用深度学习对Botnet检测与主机溯源的方法有着非常重要的现实意义。
[0003]由于此研究领域具有较高的理论研究与实际应用价值,国内外许多研究者提出了较多针对僵尸网络的检测溯源技术,但几乎所有的相关研究工作都是关注IRC僵尸网络控制信道的检测和刻画。而基于HTTP和P2P协议的僵尸网络由于具有较强的个性化差异,目前无法给出通用化的检测方法。现有行僵尸网络检测溯源还包含如下几个方面缺点:大多数传统的检测方法严重依赖于启发式设计的多阶段检测标准。僵尸网络的检测主要基于黑名单以及白名单方式,检测准确度高,而在加密流量识别方面能力相对比较薄弱,对于未知的攻击将无法进行检测,因此在网络安全保护方面就会存在弱点。且由于HTTP与P2P协议僵尸网络的较强个性化差异,无法给出通用合理的检测方法、从整体上提升网络应用的安全性的迫切需求。
[0004]基于以上背景,本专利技术致力于探究对僵尸网络中C&C

Heartbeat流量的检测以及对C&C主控服务器的溯源,力求从根本上遏制Botnet传播僵尸程序,挽回经济损失。

技术实现思路

[0005]本专利技术实施例的目的在于提供一种基于深度学习的Botnet攻击C&C服务器溯源方法,解决了现有技术中存在的由于数据具有复杂的动态特性和不稳定性等特点使得传统的检测方法无法获得较为理想检测结果的问题,提升了检测与溯源僵尸网络中攻击主机(Master节点)的准确度。
[0006]为解决上述技术问题,本专利技术所采用的技术方案是,一种基于深度学习的Botnet攻击C&C服务器溯源方法,包括以下步骤:
[0007]步骤一、数据集预处理与特征提取;
[0008]步骤二、通过融合的LSTM+CNN训练模型,使用从步骤一中所提取的特征识别出命令与控制C&C会话数据部分,根据心跳HeartBeat报文与C&C服务器的跟踪关系,从其中分离出心跳数据包;
[0009]步骤三、对心跳数据包进行数据提取并作为输入数据,用于构建图卷积神经网络
GCN,通过GCN网络实现对僵尸网络Botnet主机的溯源。
[0010]进一步地,所述步骤一具体包括如下步骤:
[0011]步骤1.1、以公开的僵尸网络攻击数据集为基础,对数据集进行预处理:首先在数据清理过程中,对初始数据包采用缺失值处理、异常值处理、重复值处理的三种方式进行,去除异常并纠正错误;其次在数据转换过程中,以数据离散化操作对连续数据进行处理,使连续数据值域分布从连续属性变为2个或2个以上的值域离散属性;最后进行数据聚合,得到Botnet数据集;
[0012]步骤1.2、使用1D

CNN对预处理后的Botnet数据集进行特征提取。
[0013]进一步地,所述步骤1.2具体为:
[0014]首先,从预处理后的包含.pcap文件的数据集中逐个读取数据包,将每个数据包添加到对应的网络流中,在currentFlows存储当前还未结束的所有TCP或UDP流;在添加的过程中不断地更新每个网络流的统计特征,最终将统计特征写入csv文件;判断新加入的数据包是否属于当前所有未结束的网络流,如果不属于,则直接创建一个新的网络流,里面只含当前数据包,存入到currentFlows中;如果属于,则需判断时间是否超时、是否含有FIN标志,如果不超时且不含有FIN标志,则声明一个BasicFlow对象,根据id从currentFlows中得到与当前数据包对应的网络流,调用addPacket函数将当前数据包加入到对应网络流中;如果超时或存在FIN标志,则说明当前网络流结束,标记超时并从currentFlows中移除对应网络流;含FIN标志同样直接从currentFlows中移除对应网络流;对于结束的网络流,直接保存;将保存的网络流放入1D

CNN中进行特征提取;
[0015]所述网络流以如下形式进行保存:
[0016]<SrcIP,SrcPort,DstIP,DstPort,Protocol>
[0017]其中,SrcIP和SrcPort表示源节点的IP地址和端口号;DstIP和DstPort表示目的节点的IP地址和端口号;Protocol表示以所用协议类型的格式进行存储。
[0018]进一步地,所述1D

CNN模型由编码模块和解码模块两个部分组成,其中,编码模块由多次一维卷积和最大池化运算组成:
[0019][0020]其中,W为卷积核的运算宽度,表示第l层中的第i个卷积核,表示第l层中第i个卷积核中的第j'个权重值,为神经网络中第l层中的第j个卷积区域,y
l(i,j)
为第l层的编码输出;
[0021]解码模块的输出过程为:
[0022]x
i+1
=x
i
+F(x
L

i+1
,w
L

i+1
)
[0023]其中,x
i+1
表示输出结果,x
i
表示网络输入特征,L表示1D

CNN网络中编码和解码模块总数量,F(x
L

i+1
,w
L

i+1
)表示本次解码所对应的编码过程中通过两个卷积层得到的输出特征。
[0024]进一步地,所述步骤二具体为:
[0025]步骤2.1:基于步骤一提取出的特征向量作为输入,用于对融合的CNN

LSTM深度学习模型进行训练;
[0026]步骤2.2:对于任意需要预测标签的网络流数据集,将其放入训练后的CNN

LSTM深度学习模型后进行分类,共分为三种类型:C&C、Malicious和Benign;其中,C&C表示受感染的设备与C&C服务器之间的通信;Malicious表示除C&C以外的其余恶意流量;Ben本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的Botnet攻击C&C服务器溯源方法,其特征在于,包括以下步骤:步骤一、数据集预处理与特征提取;步骤二、通过融合的LSTM+CNN训练模型,使用从步骤一中所提取的特征识别出命令与控制C&C会话数据部分,根据心跳HeartBeat报文与C&C服务器的跟踪关系,从其中分离出心跳数据包;步骤三、对心跳数据包进行数据提取并作为输入数据,用于构建图卷积神经网络GCN,通过GCN网络实现对僵尸网络Botnet主机的溯源。2.根据权利要求1所述的一种基于深度学习的Botnet攻击C&C服务器溯源方法,其特征在于,所述步骤一具体包括如下步骤:步骤1.1、以公开的僵尸网络攻击数据集为基础,对数据集进行预处理:首先在数据清理过程中,对初始数据包采用缺失值处理、异常值处理、重复值处理的三种方式进行,去除异常并纠正错误;其次在数据转换过程中,以数据离散化操作对连续数据进行处理,使连续数据值域分布从连续属性变为2个或2个以上的值域离散属性;最后进行数据聚合,得到Botnet数据集;步骤1.2、使用1D

CNN对预处理后的Botnet数据集进行特征提取。3.根据权利要求2所述的一种基于深度学习的Botnet攻击C&C服务器溯源方法,其特征在于,所述步骤1.2具体为:首先,从预处理后的包含.pcap文件的数据集中逐个读取数据包,将每个数据包添加到对应的网络流中,在currentFlows存储当前还未结束的所有TCP或UDP流;在添加的过程中不断地更新每个网络流的统计特征,最终将统计特征写入csv文件;判断新加入的数据包是否属于当前所有未结束的网络流,如果不属于,则直接创建一个新的网络流,里面只含当前数据包,存入到currentFlows中;如果属于,则需判断时间是否超时、是否含有FIN标志,如果不超时且不含有FIN标志,则声明一个BasicFlow对象,根据id从currentFlows中得到与当前数据包对应的网络流,调用addPacket函数将当前数据包加入到对应网络流中;如果超时或存在FIN标志,则说明当前网络流结束,标记超时并从currentFlows中移除对应网络流;含FIN标志同样直接从currentFlows中移除对应网络流;对于结束的网络流,直接保存;将保存的网络流放入1D

CNN中进行特征提取;所述网络流以如下形式进行保存:<SrcIP,SrcPort,DstIP,DstPort,Protocol>其中,SrcIP和SrcPort表示源节点的IP地址和端口号;DstIP和DstPort表示目的节点的IP地址和端口号;Protocol表示以所用协议类型的格式进行存储。4.根据权利要求2或3所述的一种基于深度学习的Botnet攻击C&C服务器溯源方法,其特征在于,所述1D

CNN模型由编码模块和解码模块两个部分组成,其中,编码模块由多次一维卷积和最大池化运算组成:其中,W为卷积核的运算宽度,表示第l层中的第i个卷积核,表示第l层中第i个卷积核中的第j'个权重值,x
l
(r
j
)为神经网络中第l层中的第j个卷积区域,y
l(i,j)
为第l层的
编码输出;解码模块的输出过程为:x
i+1
=x
i
+F(x
L

i+1
,w
L

i+1
)其中,x
i+1
表示输出结果,x
i
表示网络输入特征,L表示1D

CNN网络中编码和解码模块总数量,F(x
L

i+1
,w
L

i+1
)表示本次解码所对应的编码过程中通过两个卷积层得到的输出特征。5.根据权利要求1所述的一种基于深度学习的Botnet攻击C&C服务器溯源方法,其特征在于,所述步骤二具体为:步骤2.1:基于步骤一提取出的特征向量作为输入,用于对融合的CNN

LSTM深度学习模型进行训练;步骤2.2:对于任意需要预测标签的网络流数据集,将其放入训练后的CNN

LSTM深度学习模型后进行分类,共分为三种类型:C&C、Malicious和Benign;其中,C&C表示受感染的设备与C&C服务器之间的通信;Malicious表示除C&C以外的其余恶意流量;Benign表示良性流量;步骤2.3:以步骤2.2中进行分类的结果标签为依据,分离出C&C会话部分;根据BotMaster节点与C&C服务器之间周期性的发送Heartbeat报文的跟踪关系,基于C&C特征和时间特征从识别为C&a...

【专利技术属性】
技术研发人员:张云春李子璇沈琪葛雪晴李柏萱陈少钦巴赫王勇林黄学龙萧纯一
申请(专利权)人:云南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1