CN109600394A - 一种基于深度学习的http隧道木马检测方法 - Google Patents

一种基于深度学习的http隧道木马检测方法 Download PDF

Info

Publication number
CN109600394A
CN109600394A CN201910055856.1A CN201910055856A CN109600394A CN 109600394 A CN109600394 A CN 109600394A CN 201910055856 A CN201910055856 A CN 201910055856A CN 109600394 A CN109600394 A CN 109600394A
Authority
CN
China
Prior art keywords
data packet
tcp
session
tcp session
http
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910055856.1A
Other languages
English (en)
Inventor
王文冰
崔建涛
杨华
张志锋
胡春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN201910055856.1A priority Critical patent/CN109600394A/zh
Publication of CN109600394A publication Critical patent/CN109600394A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于深度学习的HTTP隧道木马检测方法
技术领域
本发明涉及基于通信流量分析的HTTP隧道木马检测技术领域,具体涉及一种基于深度学习的HTTP隧道木马检测方法。
背景技术
随着网络在人类社会各个领域的普及,网络成为一种传递各种重要信息的媒介,网络失泄密事件时有发生,攻击者通常使用木马窃取敏感信息。同时木马程序采用各种各样的方法企图逃避安全软件的检测。在各种入侵检测技术进步的同时,木马的反检测技术也在不断发展,尤其是隧道技术的运用,使得木马通信具备极高的隐蔽性,更难被传统的入侵检测系统检测到。因此,针对木马S隧道通信的检测技术成为研究热点,但以往的基于载荷签名的方法无法检测未知木马,基于浅层机器学习的方法对木马特征的刻画能力不足,目前少有将载荷特征与深度学习方法相结合的木马隧道通信检测研究。
C.Rossow等人研究了恶意程序隐蔽通信经常使用的HTTP协议隧道和DNS协议隧道,对各协议字段的值进行了大量对比分析,确定了正常情况下字段的取值范围,若数据包协议字段取值偏离正常取值范围,则认为是恶意代码产生的隧道通信流量。这种方法基于大的时间尺度,对正常取值范围分析较精确,且使用了多个协议字段,但是对符合协议规范的木马通信流量会失去作用。
R.Perdisci等人分析了恶意代码的HTTP协议隧道通信,针对恶意HTTP协议隧道通信中HTTP请求的方法以及URL的路径、页面名称等信息,使用聚类算法进行聚类,生成检测规则,实现了对恶意代码的HTTP协议隧道通信的识别。该方法对木马HTTP协议隧道通信的检测具有借鉴意义,但其还存在不足,对相似性不高的HTTP协议隧道通信会产生漏报。
Sakib M N等人研究了利用HTTP协议的恶意代码通信。他们提出了一个基于异常检测的方法,使用基于客户端生成的HTTP请求包和DNS服务器生成的响应包的统计特征来检测基于HTTP的C&C流量。
Ogawa H等人提取了新的特征,如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会话结束需进行四次握手。但在数据包传输过程中,会因为很多原因无法完成四次握手,比如网络故障或主机故障等。所以设置一个TCP会话超时时间,比如设置TCP会话超时时间为3分钟,那么TCP会话3分钟没有新增数据包,则判断为当前TCP会话结束。然后从结束的TCP会话对应的链表中第一个数据包开始,依次提取TCP会话中数据包的TCP载荷字节,直到取够1024字节。将TCP会话流载荷字节值按从左到右从上到下的顺序依次存入32*32大小图片对应的像素矩阵中。
设计一个用于HTTP木马通信流量检测的卷积神经网络,如图1所示,该体系结构包括:
(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个神经元组成。
卷积神经网络模型的输入为TCP会话载荷对应的图像。TCP会话载荷图像对应的原始流量样本数据包括两部分,分别是木马通信会话流量以及正常应用通信会话流量。
在训练阶段,从木马流量训练集和应用程序流量训练集中提取TCP会话载荷图像。对输入的TCP会话载荷图像经过学习训练,生成卷积神经网络模型参数。
在检测阶段,运用已训练好的卷积神经网络模型对TCP会话载荷图像进行识别,若判断为来自木马TCP会话,则对其进行报警,并存储报警信息和相应的通信会话流量数据。

Claims (2)

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会话,则对其进行报警,并存储报警信息和相应的通信会话流量数据。
2.根据权利要求1所述的一种基于深度学习的HTTP隧道木马检测方法,其特征在于:在步骤(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个神经元组成。
CN201910055856.1A 2019-01-19 2019-01-19 一种基于深度学习的http隧道木马检测方法 Pending CN109600394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910055856.1A CN109600394A (zh) 2019-01-19 2019-01-19 一种基于深度学习的http隧道木马检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910055856.1A CN109600394A (zh) 2019-01-19 2019-01-19 一种基于深度学习的http隧道木马检测方法

Publications (1)

Publication Number Publication Date
CN109600394A true CN109600394A (zh) 2019-04-09

Family

ID=65966549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910055856.1A Pending CN109600394A (zh) 2019-01-19 2019-01-19 一种基于深度学习的http隧道木马检测方法

Country Status (1)

Country Link
CN (1) CN109600394A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783088A (zh) * 2020-06-03 2020-10-16 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
WO2022089765A1 (en) * 2020-11-02 2022-05-05 Huawei Technologies Co., Ltd. Method and apparatus for detection of http tunnels present in data communication network
CN115277152A (zh) * 2022-07-22 2022-11-01 长扬科技(北京)股份有限公司 网络流量安全检测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202064A (zh) * 2011-06-13 2011-09-28 刘胜利 基于网络数据流分析的木马通信行为特征提取方法
CN107733851A (zh) * 2017-08-23 2018-02-23 刘胜利 基于通信行为分析的dns隧道木马检测方法
CN108924090A (zh) * 2018-06-04 2018-11-30 上海交通大学 一种基于卷积神经网络的shadowsocks流量检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202064A (zh) * 2011-06-13 2011-09-28 刘胜利 基于网络数据流分析的木马通信行为特征提取方法
CN107733851A (zh) * 2017-08-23 2018-02-23 刘胜利 基于通信行为分析的dns隧道木马检测方法
CN108924090A (zh) * 2018-06-04 2018-11-30 上海交通大学 一种基于卷积神经网络的shadowsocks流量检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵幸: "《道客巴巴》", 11 September 2018 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783088A (zh) * 2020-06-03 2020-10-16 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
CN111783088B (zh) * 2020-06-03 2023-04-28 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
WO2022089765A1 (en) * 2020-11-02 2022-05-05 Huawei Technologies Co., Ltd. Method and apparatus for detection of http tunnels present in data communication network
CN115277152A (zh) * 2022-07-22 2022-11-01 长扬科技(北京)股份有限公司 网络流量安全检测方法及装置
CN115277152B (zh) * 2022-07-22 2023-09-05 长扬科技(北京)股份有限公司 网络流量安全检测方法及装置

Similar Documents

Publication Publication Date Title
CN109600363B (zh) 一种物联网终端网络画像及异常网络访问行为检测方法
CN108289088B (zh) 基于业务模型的异常流量检测系统及方法
US10187401B2 (en) Hierarchical feature extraction for malware classification in network traffic
US9979740B2 (en) Data surveillance system
CN107733851A (zh) 基于通信行为分析的dns隧道木马检测方法
Duffield et al. Rule-based anomaly detection on IP flows
US20060198313A1 (en) Method and device for detecting and blocking unauthorized access
US9406016B2 (en) Method and apparatus for monitoring network traffic
KS et al. An artificial neural network based intrusion detection system and classification of attacks
CN109600394A (zh) 一种基于深度学习的http隧道木马检测方法
US9900327B2 (en) Method for detecting an attack in a computer network
CN104135474B (zh) 基于主机出入度的网络异常行为检测方法
CN113259313A (zh) 一种基于在线训练算法的恶意https流量智能分析方法
CN108521408A (zh) 抵抗网络攻击方法、装置、计算机设备及存储介质
CN105554016A (zh) 网络攻击的处理方法和装置
US20210168163A1 (en) Bind Shell Attack Detection
CN110611640A (zh) 一种基于随机森林的dns协议隐蔽通道检测方法
Liu et al. Maldetect: A structure of encrypted malware traffic detection
CN108833430B (zh) 一种软件定义网络的拓扑保护方法
CN105227408A (zh) 一种智能木马识别装置及方法
CN111611280A (zh) 一种基于cnn和sae的加密流量识别方法
CN106209902A (zh) 一种应用于知识产权运营平台的网络安全系统及检测方法
Kong et al. Identification of abnormal network traffic using support vector machine
Fallah et al. Android malware detection using network traffic based on sequential deep learning models
Hu et al. Network data analysis and anomaly detection using CNN technique for industrial control systems security

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190409