CN110062013A - 一种针对恶意软件http流量的检测***及其方法 - Google Patents
一种针对恶意软件http流量的检测***及其方法 Download PDFInfo
- Publication number
- CN110062013A CN110062013A CN201910484042.XA CN201910484042A CN110062013A CN 110062013 A CN110062013 A CN 110062013A CN 201910484042 A CN201910484042 A CN 201910484042A CN 110062013 A CN110062013 A CN 110062013A
- Authority
- CN
- China
- Prior art keywords
- http
- flow
- dendrogram
- behavior
- request
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对恶意软件HTTP流量的检测***及其方法,属于恶意软件流量检测技术领域,解决现有技术中对恶意软件HTTP流量的检测没有考虑流量统计特征、流量内容特征和流量行为特征之间的关联性,从而导致检测精确率低,漏报率高等问题。本发明包括:流量捕获模块:用于周期性捕获网络中的HTTP流量;行为建树模块:用于将HTTP流量进行预处后转换为行为树状图;特征提取模块:用于提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;嵌入分类模块:用于将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类;以及对应***的方法。本发明用于对恶意软件HTTP流量进行检测。
Description
技术领域
一种针对恶意软件HTTP流量的检测***及其方法,用于对恶意软件HTTP流量进行检测,属于恶意软件流量检测技术领域。
背景技术
超文本传输协议(HTTP)是互联网中应用最广泛的网络协议之一,随着互联网的发展,网络流量中包含了数量巨大的HTTP协议数据包,防火墙等网络安全设备一般不会过滤HTTP流量,因此许多恶意软件选择使用HTTP协议来进行网络活动,既能隐藏在大量的背景HTTP流量中增加自身的安全性,又能穿过防火墙增加自身的穿透性。因此,检测恶意软件的HTTP网络流量是当今网络安全方向的一个重要问题。
当前基于HTTP的恶意软件流量检测在学术界已经有许多研究成果,其中应用比较广泛的检测方法主要可以分为以下几类:基于流量统计特征的检测方法、基于流量内容特征的检测方法和流量行为特征的检测方法。
在基于流量统计特征的检测方法中,文献《基于BP神经网络的僵尸网络检测技术研究》通过提取双向流的统计特征,包括流个数、流平均数据包个数、平均字节数和平均流间隔等特征,使用神经网络算法对双向流进行分类。
在基于流量内容特征的检测方法中,文献《Profiling variability ofsubstrings in http requests to detect malware-infected hosts》通过将HTTP中的URL path,URL query和User-agent生成模型,通过对比HTTP请求与模型的不同来检测恶意软件的HTTP请求。
在流量行为特征的检测方法中,文献《Behavioral Clustering of HTTP-BasedMalware and Signature Generation Using Malicious Network Traces》通过提取流量的HTTP请求总数,GET请求数量,POST请求数量,URL长度,平均参数数量等行为特征,再通过聚类来检测恶意软件活动。
通过分析现有的检测方法,可知,目前基于HTTP流量的恶意软件检测方案存在着如下问题:
1、流量统计特征的检测方法中,基于双向流的检测会消耗较多***资源,如用于在线检测的话对服务器的压力比较大,所以常用于离线检测;基于整体数据包统计特征容易受到背景流量的影响。
2、流量内容特征的检测方法中,流量内容特征有时效性,恶意软件经过更新可躲避检测;对内容的审查容易破坏网络用户的隐私;大多只能检测到已被发现的恶意软件流量,对新的恶意软件流量检测效果有限。
3、流量行为特征的检测方法中,通常只针对特定的恶意软件行为,只对特定样本的召回率高;很多行为特征检测方案的设计上需要多台主机流量联合进行分析,常设计为离线检测,对在线检测效果有限。
4、综上三种检测方法的关注面都十分局限。大部分研究仅关注某一种特征,没有考虑到三种特征(流量统计特征、流量内容特征和流量行为特征)之间的关联性,从而导致检测精确率低,漏报率高等问题。
发明内容
针对上述研究的问题,本发明的目的在于提供一种针对恶意软件HTTP流量的检测***及其方法,解决现有技术中对恶意软件HTTP流量的检测没有考虑流量统计特征、流量内容特征和流量行为特征之间的关联性,从而导致检测精确率低,漏报率高等问题。
为了达到上述目的,本发明采用如下技术方案:
一种针对恶意软件HTTP流量的检测***,包括:
流量捕获模块:用于周期性捕获网络中的HTTP流量;
行为建树模块:用于将HTTP流量进行预处后转换为行为树状图;
特征提取模块:用于提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;
嵌入分类模块:用于将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类。
进一步,所述流量捕获模块捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,捕获网络中的HTTP流量包含恶意软件HTTP流量和正常的HTTP流量。
进一步,所述行为建树模块将流量捕获模块捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;
将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
进一步,所述嵌入分类模块采用神经网络的图嵌入算法进行图嵌入处理和分类。
一种针对恶意软件HTTP流量的检测方法,包括以下步骤:
S1、周期性捕获网络中的HTTP流量;
S2、将HTTP流量进行预处理后转换为行为树状图;
S3、提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;
S4、将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类;
S5、根据分类结果判断HTTP流量中是否包含恶意软件HTTP流量。
进一步,所述步骤S1中,捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,捕获网络中的HTTP流量包含恶意软件HTTP流量和正常的HTTP流量。
进一步,所述步骤S2中将流量捕获模块捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
S2.1、用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
S2.2、将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
S2.3、对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;
S2.4、将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
进一步,所述步骤S3中,统计特征包括节点双向流的统计特征和节点请求响应数据包的统计特征,内容特征包括GET字段和HOST字段的内容特征,行为特征包括请求特征和拓扑特征。
进一步,所述步骤S4中采用神经网络的图嵌入算法进行图嵌入处理和分类。
进一步,在步骤S5中的分类结果是0-1之间的小数,若为1时,表示HTTP流量中包含恶意软件HTTP流量,为0时,表示HTTP流量中没有包含恶意软件HTTP流量,若为小数,将其转化为百分比,此百分比表示HTTP流量中包含恶意软件HTTP流量的概率。
本发明同现有技术相比,其有益效果表现在:
一、本发明中,流量捕获部分会周期性的保存所捕获的流量,在继续捕获下一周期流量时将已捕获的流量送入后续的处理流量,避免了在线处理双向流特征时,造成***资源消耗太多的影响。
二、本发明中,行为树状图能够描述一台主机在网络中的HTTP网络行为,在此基础上提取统计特征、内容特征和行为特征能够增加流量特征的维度,提高***检测的准确度,相比于仅使用统计特征的检测方案,准确率从88.7%提升至92.3%。
三、本发明使用基于神经网络的图嵌入算法对特征树状图进行嵌入和分类处理,是端到端的训练、检测过程,便于嵌入分类模型的训练和检测。使用图嵌入算法对特征树状图进行嵌入、分类处理,既能综合流量的统计特征、内容特征和行为特征,又能考虑HTTP流量的网络行为,提高了***检测的准确度。
附图说明
图1是本发明的总体架构图;
图2是本发明测试中的恶意软件HTTP流量的行为树状图;
图3是本发明测试中的恶意软件HTTP流量的特征树状图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
一种针对恶意软件HTTP流量的检测***,包括:
流量捕获模块:用于周期性捕获网络中的HTTP流量;所述流量捕获模块捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;下表总结了本文在实现时所考虑到的所有URL请求类型。但这个表中的所列出的请求类型并不全面,它仅表示本文用于构建行为树状图时所考虑的情况。如果添加更多的情况可以提取更多的信息,提高检测算法的准确性,但同时也会提高***的复杂度(例如,半动态的JavaScript分析,可能包含隐藏URL的反混淆JavaScript代码),但却降低其运行速度。
将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
特征提取模块:用于提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;其中,统计特征包括节点双向流的统计特征和节点请求响应数据包的统计特征,内容特征包括GET字段和HOST字段的内容特征,行为特征包括请求特征和拓扑特征。
嵌入分类模块:用于将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类。所述嵌入分类模块采用神经网络的图嵌入算法进行图嵌入处理和分类。
一种针对恶意软件HTTP流量的检测方法,包括以下步骤:
S1、周期性捕获网络中的HTTP流量;捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,捕获网络中的HTTP流量包含恶意软件HTTP流量和正常的HTTP流量。
S2、将HTTP流量进行预处理后转换为行为树状图;即将流量捕获模块捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
S2.1、用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
S2.2、将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
S2.3、对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;下表总结了本文在实现时所考虑到的所有URL请求类型。但这个表中的所列出的请求类型并不全面,它仅表示本文用于构建行为树状图时所考虑的情况。如果添加更多的情况可以提取更多的信息,提高检测算法的准确性,但同时也会提高***的复杂度(例如,半动态的JavaScript分析,可能包含隐藏URL的反混淆JavaScript代码),但却降低其运行速度。
S2.4、将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
S3、提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;其中,统计特征包括节点双向流的统计特征和节点请求响应数据包的统计特征,内容特征包括GET字段和HOST字段的内容特征,行为特征包括请求特征和拓扑特征。具体特征如下表所示:
S4、将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类;即采用神经网络的图嵌入算法进行图嵌入处理和分类。
S5、根据分类结果判断HTTP流量中是否包含恶意软件HTTP流量。即分类结果是0-1之间的小数,若为1时,表示HTTP流量中包含恶意软件HTTP流量,为0时,表示HTTP流量中没有包含恶意软件HTTP流量,如果为小数,例如0.79,则说明HTTP流量中包含恶意软件HTTP流量的概率是79%。
实施例
1.流量捕获模块捕获测试主机上通过tcpreplay软件重放的恶意软件Zeus的HTTP流量,以及测试主机上的正常的HTTP流量。
2.行为建树模块将捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其行为树状图如图2所示。
3.特征提取模块在行为树状图的基础上提取行为树状图中的各节点的统计特征、内容特征和行为特征,再基于统计特征、内容特征和行为特征将行为树状图转化为特征树状图,其特征树状图以文本格式保存,如图3所示。
4.对于每个特征树状图的txt文件,第一行包含N和L,N是当前图中的节点数量,L是图的标签,0表示正常的HTTP流量,1表示恶意软件HTTP流量,如果是需要检测的未知数据则没有L标签;
接下来M行,每行代表一个节点的特征信息,第i行描述第i个节点的信息,每行的前50个数字代表这个节点中50个特征,之后的数字中第一个数字表示该节点的父节点,后续的其他数字表示该节点的子节点;
5.嵌入分类模块将特征树状图进行嵌入分类处理,检测出其是否包含恶意软件HTTP流量。以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
Claims (10)
1.一种针对恶意软件HTTP流量的检测***,其特征在于,包括:
流量捕获模块:用于周期性捕获网络中的HTTP流量;
行为建树模块:用于将HTTP流量进行预处后转换为行为树状图:
特征提取模块:用于提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;
嵌入分类模块:用于将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类。
2.根据权利要求1所述的针对恶意软件HTTP流量的检测***,其特征在于,所述流量捕获模块捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,捕获网络中的HTTP流量包含恶意软件HTTP流量和正常的HTTP流量。
3.根据权利要求1或2所述的针对恶意软件HTTP流量的检测***,其特征在于,所述行为建树模块将流量捕获模块捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;
将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
4.根据权利要求3所述的针对恶意软件HTTP流量的检测***,其特征在于,所述嵌入分类模块采用神经网络的图嵌入算法进行图嵌入处理和分类。
5.一种针对恶意软件HTTP流量的检测方法,其特征在于,包括以下步骤:
S1、周期性捕获网络中的HTTP流量;
S2、将HTTP流量进行预处理后转换为行为树状图;
S3、提取行为树状图中的各节点上的统计特征、内容特征和行为特征,再基于提取的统计特征、内容特征和行为特征转换为特征树状图;
S4、将特征树状图进行图嵌入处理,并对嵌入后的结果进行分类;
S5、根据分类结果判断HTTP流量中是否包含恶意软件HTTP流量。
6.根据权利要求5所述的针对恶意软件HTTP流量的检测***,其特征在于,所述步骤S1中,捕获的网络中的HTTP流量包括在线捕获的HTTP流量和沙箱中捕获的HTTP流量,其中,捕获网络中的HTTP流量包含恶意软件HTTP流量和正常的HTTP流量。
7.根据权利要求5或6所述的针对恶意软件HTTP流量的检测***,其特征在于,所述步骤S2中将流量捕获模块捕获的HTTP流量使用libpcap库进行深度包检测,判断其是否包含HTTP流量,保存含有HTTP的流量文件中的所有TCP流量,并用TCP流量中的HTTP流量建立行为树状图,其中,每一个TCP流量保存为一pcap文件;
用TCP流量中的HTTP流量建立行为树状图的具体步骤为:
S2.1、用各pcap文件分别初始化一个行为树状图,其中,行为树状图只有一个根节点,根节点是一个空节点,用来作为行为树状图的起点;
S2.2、将各pcap文件中的流量数据包按照五元组分为不同的双向流,之后将各双向流中的HTTP数据包划分为不同的HTTP请求-响应,其中,HTTP请求-响应是从客户端发起HTTP请求request开始,到服务器返回响应response之间的整个过程;
S2.3、对于每个HTTP请求-响应,提取出其中相应的HTTP头和HTTP响应有效负载中嵌入的所有URL;其中,每个URL都会与一个类型相关联,具体取决于触发响应HTTP请求的类型,URL的请求类型用于标记行为树状图中节点的HTTP请求的类型;
S2.4、将每个HTTP请求-响应作为行为树状图的一个节点:提出的HTTP响应有效负载中嵌入的所有URL后,解析HTTP请求的URL,查找当前HTTP请求的URL是否出现在先前的HTTP请求的负载中,如果在先前的HTTP请求的负载中找到当前请求的URL,则将其作为找到的节点的子节点加入到行为树状图中,并保存这次URL的HTTP请求的类型;如果在先前的HTTP请求的负载中没有发现当前请求的URL,但其HTTP头部中的referer字段与先前的URL匹配,则当前URL作为匹配的节点的子节点附加到行为树状图对应的节点上;如果所有查找都失败,对于该当前节点、无法找到任何信息将其与行为树状图中的先前节点连接起来,则将当前节点作为根节点的一个新的子节点。
8.根据权利要求7所述的针对恶意软件HTTP流量的检测***,其特征在于,所述步骤S3中,统计特征包括节点双向流的统计特征和节点请求响应数据包的统计特征,内容特征包括GET字段和HOST字段的内容特征,行为特征包括请求特征和拓扑特征。
9.根据权利要求8所述的针对恶意软件HTTP流量的检测***,其特征在于,所述步骤S4中采用神经网络的图嵌入算法进行图嵌入处理和分类。
10.根据权利要求9所述的针对恶意软件HTTP流量的检测***,其特征在于,在步骤S5中的分类结果是0-1之间的小数,若为1时,表示HTTP流量中包含恶意软件HTTP流量,为0时,表示HTTP流量中没有包含恶意软件HTTP流量,若为小数,将其转化为百分比,此百分比表示HTTP流量中包含恶意软件HTTP流量的概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910484042.XA CN110062013A (zh) | 2019-06-04 | 2019-06-04 | 一种针对恶意软件http流量的检测***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910484042.XA CN110062013A (zh) | 2019-06-04 | 2019-06-04 | 一种针对恶意软件http流量的检测***及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110062013A true CN110062013A (zh) | 2019-07-26 |
Family
ID=67325597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910484042.XA Pending CN110062013A (zh) | 2019-06-04 | 2019-06-04 | 一种针对恶意软件http流量的检测***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110062013A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912680B2 (en) * | 2012-12-24 | 2018-03-06 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
CN109063745A (zh) * | 2018-07-11 | 2018-12-21 | 南京邮电大学 | 一种基于决策树的网络设备类型识别方法及*** |
CN109525577A (zh) * | 2018-11-09 | 2019-03-26 | 四川大学 | 基于http行为图的恶意软件检测方法 |
-
2019
- 2019-06-04 CN CN201910484042.XA patent/CN110062013A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912680B2 (en) * | 2012-12-24 | 2018-03-06 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
CN109063745A (zh) * | 2018-07-11 | 2018-12-21 | 南京邮电大学 | 一种基于决策树的网络设备类型识别方法及*** |
CN109525577A (zh) * | 2018-11-09 | 2019-03-26 | 四川大学 | 基于http行为图的恶意软件检测方法 |
Non-Patent Citations (2)
Title |
---|
MEKKY HESHAM等: "Detecting malicious http redirections using trees of user browsing activity", 《IEEE INFOCOM 2014-IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》 * |
汪尧: "恶意代码的网络行为分析与识别技术研究", 《信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888571B (zh) | 一种基于HTTP日志的多维度webshell入侵检测方法及检测*** | |
CN105930727B (zh) | 基于Web的爬虫识别方法 | |
CN109117634B (zh) | 基于网络流量多视图融合的恶意软件检测方法及*** | |
CN102035698B (zh) | 基于决策树分类算法的http隧道检测方法 | |
Luo et al. | Position-based automatic reverse engineering of network protocols | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN108718298B (zh) | 一种恶意外连流量检测方法及装置 | |
CN109766525A (zh) | 一种数据驱动的敏感信息泄露检测框架 | |
CN104348642B (zh) | 一种垃圾信息过滤方法和装置 | |
Krishnaveni et al. | Ensemble approach for network threat detection and classification on cloud computing | |
CN112528277A (zh) | 一种基于循环神经网络的混合入侵检测方法 | |
CN102882748A (zh) | 网络接入检测***和网络接入检测方法 | |
CN115021997B (zh) | 一种基于机器学习的网络入侵检测*** | |
CN107145786A (zh) | 基于数据库注入测试的安全测试***及方法 | |
Liang et al. | FECC: DNS tunnel detection model based on CNN and clustering | |
Elekar | Combination of data mining techniques for intrusion detection system | |
Jin et al. | An improved payload-based anomaly detector for web applications | |
Fan et al. | AutoIoT: Automatically updated IoT device identification with semi-supervised learning | |
CN110062013A (zh) | 一种针对恶意软件http流量的检测***及其方法 | |
Niu et al. | Using XGBoost to discover infected hosts based on HTTP traffic | |
CN104079450A (zh) | 特征模式集生成方法及装置 | |
Tang et al. | Malware Traffic Classification Based on Recurrence Quantification Analysis. | |
CN116170227A (zh) | 一种流量异常的检测方法、装置、电子设备及存储介质 | |
CN114124834B (zh) | 一种工业控制网络内icmp隐蔽隧道检测的集成学习装置及方法 | |
CN110602038B (zh) | 一种基于规则的异常ua检测和分析的方法及*** |
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: 20190726 |