一种基于深度学习的HTTP隧道木马检测方法技术

技术编号:20825113 阅读:21 留言:0更新日期:2019-04-10 07:18
本发明专利技术涉及基于通信流量分析的HTTP隧道木马检测技术领域,具体涉及一种基于深度学习的HTTP隧道木马检测方法,首先将捕获的数据包按照五元组进行分类,形成TCP会话链表,然后在TCP会话链表中,依次提取每个TCP数据包的载荷字节,将前1024字节转化为图片,作为深度学习模型的输入,训练模型以及检测疑似木马,该木马检测方法通过建立深度学习模型,对HTTP隧道木马和正常应用程序产生的网络通信流量进行学习,自动提取HTTP隧道木马流量的特征,实现对网络中HTTP隧道木马流量的有效检测,以便及时检测潜伏在局域网中的HTTP隧道木马程序,保护局域网的安全。

【技术实现步骤摘要】
一种基于深度学习的HTTP隧道木马检测方法
本专利技术涉及基于通信流量分析的HTTP隧道木马检测
,具体涉及一种基于深度学习的HTTP隧道木马检测方法。
技术介绍
随着网络在人类社会各个领域的普及,网络成为一种传递各种重要信息的媒介,网络失泄密事件时有发生,攻击者通常使用木马窃取敏感信息。同时木马程序采用各种各样的方法企图逃避安全软件的检测。在各种入侵检测技术进步的同时,木马的反检测技术也在不断发展,尤其是隧道技术的运用,使得木马通信具备极高的隐蔽性,更难被传统的入侵检测系统检测到。因此,针对木马S隧道通信的检测技术成为研究热点,但以往的基于载荷签名的方法无法检测未知木马,基于浅层机器学习的方法对木马特征的刻画能力不足,目前少有将载荷特征与深度学习方法相结合的木马隧道通信检测研究。C.Rossow等人研究了恶意程序隐蔽通信经常使用的HTTP协议隧道和DNS协议隧道,对各协议字段的值进行了大量对比分析,确定了正常情况下字段的取值范围,若数据包协议字段取值偏离正常取值范围,则认为是恶意代码产生的隧道通信流量。这种方法基于大的时间尺度,对正常取值范围分析较精确,且使用了多个协议字段,但是对符合协议规范的木马通信流量会失去作用。R.Perdisci等人分析了恶意代码的HTTP协议隧道通信,针对恶意HTTP协议隧道通信中HTTP请求的方法以及URL的路径、页面名称等信息,使用聚类算法进行聚类,生成检测规则,实现了对恶意代码的HTTP协议隧道通信的识别。该方法对木马HTTP协议隧道通信的检测具有借鉴意义,但其还存在不足,对相似性不高的HTTP协议隧道通信会产生漏报。SakibMN等人研究了利用HTTP协议的恶意代码通信。他们提出了一个基于异常检测的方法,使用基于客户端生成的HTTP请求包和DNS服务器生成的响应包的统计特征来检测基于HTTP的C&C流量。OgawaH等人提取了新的特征,如HTTP请求间隔、主体大小和头部词袋。然后聚类特征,计算每个通信宿主对中簇的出现率,用学到的簇的出现率构建分类器。最后,利用簇的出现率对通信主机对间的流量进行分类评估。这些方法用到了网络数据包传输层载荷中字段的特征以及机器学习来识别隧道木马通信。但以上方法均不能全面、准确刻画出各种字段特征,对载荷其余部分信息利用也不够充分,依然存在较高的误报率或漏报率,不具备良好的通用性。
技术实现思路
针对现有技术中存在的缺陷和问题,本专利技术提供一种基于深度学习的HTTP隧道木马检测方法,该木马检测方法通过建立深度学习模型,对HTTP隧道木马和正常应用程序产生的网络通信流量进行学习,自动提取HTTP隧道木马流量的特征,实现对网络中HTTP隧道木马流量的有效检测,以便及时检测潜伏在局域网中的HTTP隧道木马程序,保护局域网的安全。本专利技术解决其技术问题所采用的方案是:一种基于深度学习的HTTP隧道木马检测方法,包括以下步骤:(1)数据包采集对捕获到的数据包从两方面进行检查校验:一是对数据包各层包头进行校验,保留符合协议规范的数据包,并设置过滤规则,丢弃除HTTP包以外的数据包;二是对内网中主机相互通信的数据包进行过滤,保留内网主机与外网通信的数据包,内网是指木马通信检测系统的检测对象网络;最后,保留通过检查校验的数据包,并提取包摘要信息以及传输层载荷,将其存储到数据包队列中;(2)将数据包组成会话从数据包队列中依次取出数据包,读取数据包摘要信息中的源IP地址字段、目的IP地址字段、协议类型字段,以及传输层的源端口字段、目的端口字段,构成标识会话的五元组;建立哈希链表,计算数据包五元组的哈希值,根据此哈希值查找哈希表,如果哈希表中存在此哈希值对应的TCP会话,则将数据包载荷加入该TCP会话对应的链表中;如果哈希表中不存在对应的TCP会话链表,则创建新的TCP会话链表;使用指针将哈希值对应TCP会话中的数据包组成链表;设置一个TCP会话超时时间,TCP会话在会话超时时间内没有新增数据包,则判断为当前TCP会话结束;当TCP连接超时或者TCP连接关闭则认为TCP会话结束;当判断会话为结束后,则不再向TCP会话中添加数据包;(3)提取TCP会话载荷对应的图片从结束的TCP会话对应的链表中第一个数据包开始,依次提取TCP会话中数据包的TCP载荷字节,直到取够1024字节;将TCP会话流载荷字节值按从左到右从上到下的顺序依次存入32*32大小图片对应的像素矩阵中;(4)建立卷积神经网络模型构建一个用于HTTP木马通信流量检测的卷积神经网络模型,卷积神经网络模型的输入为TCP会话载荷对应的图像,TCP会话载荷图像对应的原始流量样本数据包括两部分,分别是木马通信会话流量以及正常应用通信会话流量;在训练阶段,从木马流量训练集和应用程序流量训练集中提取TCP会话载荷图像,对输入的TCP会话载荷图像经过学习训练,生成卷积神经网络模型参数;在检测阶段,运用已训练好的卷积神经网络模型对TCP会话载荷图像进行识别,若模型判断其对应木马TCP会话,则对其进行报警,并存储报警信息和相应的通信会话流量数据。进一步的,步骤(4)中的卷积神经网络模型包括:(1)1个输入层:由N*N个像素单元组成,其中N为32;(2)1个卷积层:由64个大小为3*3的卷积核组成;(3)1个最大池化层;(4)1个卷积层:由128个大小为3*3的卷积核组成;(5)1个最大池化层;(6)1个全连接层:512个神经元;(7)1个输出层:由2个神经元组成。本专利技术的有益效果:本专利技术的一种基于深度学习的HTTP隧道木马检测方法,在提取网络数据包TCP会话,并生成TCP会话载荷图像的基础上,使用卷积神经网络,充分利用数据包TCP载荷部分信息,较全面、准确地刻画HTTP各字段特征,且提取的流量特征对木马流量和正常流量具备强可区分性。利用本专利技术可以实现对网络中的HTTP隧道木马流量进行有效检测,误报率低。附图说明图1为本专利技术的深度学习模型架构图。具体实施方式下面结合附图和实施例对本专利技术进一步说明。实施例1:首先,在网络出口处捕获网络流量数据包。然后,对捕获到的数据包从两方面进行检查校验:一是对数据包各层包头进行校验,保留符合协议规范的数据包,并设置过滤规则,丢弃除HTTP包以外的数据包;二是对内网中主机相互通信的数据包进行过滤,保留内网主机与外网通信的数据包,内网是指木马通信检测系统的检测对象网络。最后,保留通过检查校验的数据包,并提取包摘要信息以及传输层载荷,将其存储到数据包队列中。从数据包队列中依次取出数据包,读取数据包摘要信息中的源IP地址字段、目的IP地址字段、协议类型字段,以及传输层的源端口字段、目的端口字段,构成标识会话的五元组。由于直接使用五元组存储、查找TCP会话时间和空间开销很大,因此建立哈希链表。首先计算数据包五元组的哈希值,根据此哈希值查找哈希表。如果哈希表中存在此哈希值对应的TCP会话,则将数据包载荷加入该TCP会话对应的链表中;如果哈希表中不存在对应的TCP会话链表,则创建新的TCP会话链表。使用指针将哈希值对应TCP会话中的数据包组成链表。当判断会话为结束后,则不再向TCP会话中添加数据包。设定TCP会话结束条件为TCP连接关闭,或者连接超时。协议规定,TCP会话结束需进行四次本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的HTTP隧道木马检测方法,其特征在于:包括以下步骤:(1)数据包采集对捕获到的数据包从两方面进行检查校验:一是对数据包各层包头进行校验,保留符合协议规范的数据包,并设置过滤规则,丢弃除HTTP包以外的数据包;二是对内网中主机相互通信的数据包进行过滤,保留内网主机与外网通信的数据包,内网是指木马通信检测系统的检测对象网络;最后,保留通过检查校验的数据包,并提取包摘要信息以及传输层载荷,将其存储到数据包队列中;(2)将数据包组成会话从数据包队列中依次取出数据包,读取数据包摘要信息中的源IP地址字段、目的IP地址字段、协议类型字段,以及传输层的源端口字段、目的端口字段,构成标识会话的五元组;建立哈希链表,计算数据包五元组的哈希值,根据此哈希值查找哈希表,如果哈希表中存在此哈希值对应的TCP会话,则将数据包载荷加入该TCP会话对应的链表中;如果哈希表中不存在对应的TCP会话链表,则创建新的TCP会话链表;使用指针将哈希值对应TCP会话中的数据包组成链表;设置一个TCP会话超时时间,TCP会话在会话超时时间内没有新增数据包,则判断为当前TCP会话结束;当TCP连接超时或者TCP连接关闭则认为TCP会话结束;当判断会话为结束后,则不再向TCP会话中添加数据包;(3)提取TCP会话载荷对应的图片从结束的TCP会话对应的链表中第一个数据包开始,依次提取TCP会话中数据包的TCP载荷字节,直到取够1024字节;将TCP会话流载荷字节值按从左到右从上到下的顺序依次存入32*32大小图片对应的像素矩阵中;(4)建立卷积神经网络模型构建一个用于HTTP木马通信流量检测的卷积神经网络模型,卷积神经网络模型的输入为TCP会话载荷对应的图像,TCP会话载荷图像对应的原始流量样本数据包括两部分,分别是木马通信会话流量以及正常应用通信会话流量;在训练阶段,从木马流量训练集和应用程序流量训练集中提取TCP会话载荷图像,对输入的TCP会话载荷图像经过学习训练,生成卷积神经网络模型参数;在检测阶段,运用已训练好的卷积神经网络模型对TCP会话载荷图像进行识别,若模型判断其对应木马TCP会话,则对其进行报警,并存储报警信息和相应的通信会话流量数据。...

【技术特征摘要】
1.一种基于深度学习的HTTP隧道木马检测方法,其特征在于:包括以下步骤:(1)数据包采集对捕获到的数据包从两方面进行检查校验:一是对数据包各层包头进行校验,保留符合协议规范的数据包,并设置过滤规则,丢弃除HTTP包以外的数据包;二是对内网中主机相互通信的数据包进行过滤,保留内网主机与外网通信的数据包,内网是指木马通信检测系统的检测对象网络;最后,保留通过检查校验的数据包,并提取包摘要信息以及传输层载荷,将其存储到数据包队列中;(2)将数据包组成会话从数据包队列中依次取出数据包,读取数据包摘要信息中的源IP地址字段、目的IP地址字段、协议类型字段,以及传输层的源端口字段、目的端口字段,构成标识会话的五元组;建立哈希链表,计算数据包五元组的哈希值,根据此哈希值查找哈希表,如果哈希表中存在此哈希值对应的TCP会话,则将数据包载荷加入该TCP会话对应的链表中;如果哈希表中不存在对应的TCP会话链表,则创建新的TCP会话链表;使用指针将哈希值对应TCP会话中的数据包组成链表;设置一个TCP会话超时时间,TCP会话在会话超时时间内没有新增数据包,则判断为当前TCP会话结束;当TCP连接超时或者TCP连接关闭则认为TCP会话结束;当判断会话为结束后,则不再向TCP会话中添加数据包;(3)提取TCP会话载荷对应的图片从结束的...

【专利技术属性】
技术研发人员:王文冰崔建涛杨华张志锋胡春晖
申请(专利权)人:郑州轻工业学院
类型:发明
国别省市:河南,41

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

1