CN114422211B - 基于图注意力网络的http恶意流量检测方法及装置 - Google Patents

基于图注意力网络的http恶意流量检测方法及装置 Download PDF

Info

Publication number
CN114422211B
CN114422211B CN202111653905.5A CN202111653905A CN114422211B CN 114422211 B CN114422211 B CN 114422211B CN 202111653905 A CN202111653905 A CN 202111653905A CN 114422211 B CN114422211 B CN 114422211B
Authority
CN
China
Prior art keywords
edge
node
graph
communication behavior
feature
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.)
Active
Application number
CN202111653905.5A
Other languages
English (en)
Other versions
CN114422211A (zh
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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202111653905.5A priority Critical patent/CN114422211B/zh
Publication of CN114422211A publication Critical patent/CN114422211A/zh
Application granted granted Critical
Publication of CN114422211B publication Critical patent/CN114422211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于网络通信安全技术领域,特别涉及一种基于图注意力网络的HTTP恶意流量检测方法及装置,该方法包括基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层、图池化层和全连接层。本发明构建的通信行为图用以描述恶意代码通信过程中的宏观网络行为,基于图注意力网络的检测模型使用改进后的图注意力层,使图注意力网络能够同时处理节点特征和边特征,利用综合特征实现恶意流量的准确检测。

Description

基于图注意力网络的HTTP恶意流量检测方法及装置
技术领域
本发明属于网络通信安全技术领域,特别涉及一种基于图注意力网络的HTTP恶意流量检测方法及装置。
背景技术
网络会话流展示了通信双方一次完整的交互过程,其中包含着丰富的流量信息,因此恶意流量检测方法都以会话流为检测对象,这同时也是目前大多数恶意流量检测方法的研究对象。但从恶意代码的网络行为可以看到,恶意代码在感染传播的过程中往往包含着不同阶段的多次交互过程,含有不只一条会话流,并且一些看似正常的网络通信,其实是攻击链上不可或缺的一环。因此有必要从宏观角度分析流量之间的依赖关系,以便深入挖掘恶意代码通信模式所蕴含的信息,所以本发明转换研究视角,以感染主机的所有通信流量为检测对象,实现主机级的恶意流量检测方法。
发明内容
针对现有技术中存在的问题,本发明提出一种基于图注意力网络的HTTP恶意流量检测方法及装置,构建的通信行为图用以描述恶意代码通信过程中的宏观网络行为,基于图注意力网络的检测模型使用改进后的图注意力层,使图注意力网络能够同时处理节点特征和边特征,利用综合特征实现恶意流量的准确检测。
为了实现上述目的,本发明采用以下的技术方案:
本发明提供了一种基于图注意力网络的HTTP恶意流量检测方法,包含以下步骤:
基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层、图池化层和全连接层。
进一步地,所述构建主机级的通信行为图,包括:首先从原始PCAP文件提取HTTP请求-响应对,并按照节点定义生成通信行为图的节点,再按照边生成规则生成通信行为图的边。
进一步地,所述通信行为图中,图中的一个节点代表了一次HTTP请求-响应过程,节点定义如下:
N=(time,content,node_feature)
其中,time表示HTTP请求数据包的时间戳,content表示用于生成边连接关系的节点内容,node_feature表示节点特征。
进一步地,所述content包含从HTTP请求数据包相应字段获取的URL、Referer和Host信息,以及从HTTP响应数据包相应字段获取的Location信息;
所述node_feature包括会话流统计特征、URL特征、请求特征和响应特征;
所述会话流统计特征是指当前节点表示的HTTP请求-响应过程所在会话流的统计特征;所述URL特征包含URL长度、URL中特殊字符比例、URL中是否包含IP地址和URL熵值;所述请求特征包括请求方式和是否包含Cookie;所述响应特征包括响应状态码、请求资源类型和请求资源大小。
进一步地,所述通信行为图中,图中的边表示了节点之间连接的关系,边定义如下:
E=(Ns,Nd,edge_feature)
其中Ns表示有向边的起点,Nd表示有向边的终点,edge_feature表示边特征。
进一步地,所述通信行为图的边生成规则如下:
如果节点i content的Location内容与节点j content的URL内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Location类型的边;
如果节点i content的URL内容与节点j content的Referer内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Referer类型的边。
进一步地,所述边特征包括边类型、边长度和边连接主机异同;所述边类型是指根据边生成规则所产生的两种类型的边即Location边和Referer边,若为Location边,边类型的特征值为1,若为Referer边,边类型的特征值为0;所述边长度是指边所连接的终点时间戳和起点时间戳的差;所述边连接主机异同是指边所连接的两个节点content中的host内容是否相同,若相同,边连接主机异同的特征值为1,若不同,边连接主机异同的特征值为0。
进一步地,所述基于图注意力网络的检测模型使用3个改进后的图注意力层提取通信行为图的节点特征向量,再通过图池化层将经过多次迭代的所有节点特征向量进行聚合拼接,得到图的全局表示,最后利用全连接层的非线性拟合能力将聚合后的特征向量映射到对应的类型。
进一步地,所述改进后的图注意力层不只关注节点自身和其它连接节点的特征,还关注边的特征。
本发明还提供了一种基于图注意力网络的HTTP恶意流量检测装置,包括:
通信行为图构建模块,用于基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
恶意流量检测模块,用于利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层和全连接层。
与现有技术相比,本发明具有以下优点:
本发明的基于图注意力网络的HTTP恶意流量检测方法,首先基于HTTP流量之间的关联性,从Web会话中构建通信行为图,用以描述恶意代码通信过程中的宏观网络行为,通过结合节点的会话流统计特征、URL特征、请求特征和响应特征这四个特征和边的边类型、边长度和边连接主机异同这三个特征,丰富通信行为图的特征维度。然后提出一种基于图注意力网络的检测模型-EGATM,该模型使用改进后的图注意力层,使图注意力网络能够同时处理节点特征和边特征,自动提取通信行为图中所蕴含的语意信息,解决了基本的图注意力网络无法处理边特征的问题。本发明所构建的检测方法利用在主机层级得到的网络行为综合特征,实现了更加准确的恶意检测效果,相比基于会话流层级的检测方法具有更低的误报率和更强的抗干扰能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的基于图注意力网络的HTTP恶意流量检测方法的流程图;
图2是本发明实施例的CGN消息传递过程示例图;
图3是本发明实施例的通信行为图的边连接示例图;
图4是本发明实施例的不同主机的通信行为图;
图5是本发明实施例的关键节点丢失对图结构的影响示意图;
图6是本发明实施例的基于图注意力网络的检测模型训练情况图;
图7是本发明实施例的基于图注意力网络的检测模型二分类混淆矩阵图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先介绍下图注意力网络:
近几年,基于大数据和计算机算力的发展,以深度学习为代表的人工智能技术给众多领域带来了巨大的发展与变革。然而,除了文本、语音、图像等欧式空间数据,在现实生活中,还有大量的数据从非欧氏空间生成,元素与元素之间互相联系形成了一个复杂的网络,比如万维网、交通网络和社交网络等。这时,一般的神经网络便很难适用于图数据相关的任务。这主要是因为,图数据作为非欧式空间数据,每个节点具有各异的局部结构,导致一些重要的操作(如卷积和池化)无法直接进行。此外大部分神经网络都假设数据样本之间相互独立,但对图数据来说,节点之间的相互依赖关系不可或缺。广泛的现实需求促使研究人员开始关注能够处理图数据的神经网络,即图神经网络(Graph Neural Network,GNN)。
2016年Kipf等人基于谱图理论提出了图卷积网络(Graph Convolutionnetworks,GCN)。CNN中卷积操作的本质就是利用共享参数的卷积核,通过计算中心像素点以及周围相邻像素点的加权和来实现空间特征提取。在GCN中也有着类似的操作,通过节点间的消息传递方法,某节点与其邻居节点互相发送消息、交换信息。图2直观地展示了GCN的消息传递过程,其大致可以分为两大步骤:第一步,每个节点构建表征自身特性的特征向量,也是它要发送给所有邻居的消息;第二步,发送消息到邻居节点,这样每个节点均会收到其邻居节点的一条消息。
GCN在聚合邻居节点时,对所有节点一视同仁,没有考虑到不同邻居节点重要性不同的问题。为解决这一问题Velickovic等人将注意力机制应用到图神经网络聚合邻居的操作中,提出了图注意力网络(Graph Attention Networks,GAT)。与GCN类似,图注意力层首先使用线性层为每个节点创建消息,再综合使用来自节点本身的特征以及其它节点的特征进行注意力的计算。
分别是节点i和j在第l层所对应的特征向量(d(l)表示第l层节点的特征向量长度),/>是该层节点特征变换的权重参数,权重参数激活函数设计为LeakyReLU,为了更好地分配权重,Velickovic等将所有邻居计算出的相关度通过Softmax进行统一的归一化处理。权重系数αij的计算公式如下:
一旦完成上述权重系数的计算,按照注意力机制加权求和的思路,通过聚合所有邻居的信息,得到节点i的新特征向量为:
如图1所示,本实施例的基于图注意力网络的HTTP恶意流量检测方法包含以下步骤:
步骤S11,基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
步骤S12,利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层和全连接层。
本实施例的通信行为图是基于HTTP流量之间的关联性构建的,也即是基于HTTP数据包中的头部字段信息构建的,因为HTTP数据包中的头部字段指示了HTTP请求之间的访问跳转关系,所以这种访问跳转关系就是HTTP流量之间的关联性;原理分析如下:用户在正常浏览网页时,对网页A的访问会首先通过浏览器发送HTTP请求以获得相应的页面资源。浏览器收到响应数据后会对网页代码进行解析,进一步对完成页面渲染所需的Javascript、CSS、字体和图像等发起HTTP请求,当浏览器完成页面的加载和渲染后,用户与网页的交互行为会产生更多的HTTP请求。如果用户此时点击了网页B的链接,浏览器便会重复类似的操作,完成网页B的加载与渲染。同时这些HTTP请求数据包中一般都含有Referer字段用以指示了其来源信息,以便统计流量和防止盗链。因此,用户正常访问产生的HTTP流量中,往往一个HTTP请求会触发多个与之关联HTTP请求。
而恶意代码所产生的HTTP流量也有着自身的特性。在各种EK的感染传播链中,攻击者通常会多次重定向到不同的域名来隐藏自身踪迹、增大溯源难度,而正常的访问路径中涉及到的域名一般很少,此外,由于Referer字段可以用来跟踪用户,攻击者也会将HTTP流量中的Referer字段进行修改来隐藏重定向关系。而在恶意代码与C&C服务器建立通信的过程中,一些恶意代码的设计者会选择HTTP协议进行C&C通信以穿越防火墙、避免被网络检查人员发现,但这些基于HTTP协议的C&C通信流量,往往是独立发起的,并不具备正常HTTP流量的关联特性。
通过以上分析可以看到,如果能够利用HTTP流量之间的关联特性构建出当前主机的通信行为图,那么由于恶意行为与正常行为的差异性,感染了恶意代码的主机所构建出的通信行为图可能与正常主机的通信行为图有着截然不同的结构。基于这种思考,本实施例基于HTTP数据包的头部字段设计了一种构建用户HTTP流量通信行为图的方法,用于恶意流量检测。
具体的,所述构建主机级的通信行为图,包括:首先从原始PCAP文件提取HTTP请求-响应对,并按照节点定义生成通信行为图的节点,再按照边生成规则生成通信行为图的边。
当前从HTTP流量中构建图的方法主要是利用HTTP数据包中的Referer字段和Location字段,HTTP请求数据包的Referer字段指示了其来源信息,HTTP响应数据包的Location字段指示了其要跳转的地方,因此基于HTTP数据包中的字段信息便可以构建出一个有向图。本实施例的通信行为图在上述有向图的基础上为图中的节点和边赋予了更多维的特征,以便基于图注意力网络的检测模型能综合地利用多维特征对恶意流量进行检测。
所述通信行为图中,图中的一个节点代表了一次HTTP请求-响应过程,节点定义如下:
N=(time,content,node_feature)
其中,time表示HTTP请求数据包的时间戳,content表示用于生成边连接关系的节点内容,node_feature表示节点特征。
所述content包含从HTTP请求数据包相应字段获取的URL、Referer和Host信息,以及从HTTP响应数据包相应字段获取的Location信息。这些内容将用来生成边的连接关系以及相应的边特征。
node_feature表示节点特征,包括会话流统计特征、URL特征、请求特征和响应特征,如表1所示。
会话流统计特征:会话流统计特征是指当前节点表示的HTTP请求-响应过程所在会话流的统计特征。恶意代码可以利用HTTP流量进行恶意下载,隐私上传,C&C通信等恶意活动。而会话流统计特征能够很好地反映正常网络活动与恶意网络活动之间的区别,同时也能体现出恶意活动之间的相似性,因此本实施例提取会话流统计特征作为节点特征的一部分。需要注意的是,在HTTP/1.1以后,同一个会话中会包含多个HTTP请求-响应过程,此时这些节点会共享所属会话流的统计特征。
URL特征:URL作为资源访问的标识也包含着丰富的信息,通过对正常URL与恶意URL的对比分析,提取了URL长度、URL中特殊字符比例、URL中是否包含IP地址和URL熵值这四个特征。
请求特征:请求特征主要包括请求方式和是否包含Cookie这两个特征。标准的HTTP协议支持六种请求方法,分别为GET,POST,PUT,HEAD,DELETE,OPTION,其中,最为常用的就是GET请求和POST请求,这两者体现了当前节点的HTTP流量行为,所以我们设置GET请求方式的特征值为1,POST为2,其它为3。Cookie也是HTTP请求数据包头部中常见的字段之一,它主要用来保存用户信息,进而提供个性化服务,提升服务质量,有研究者调查发现,Alexa前500的网站,有90%会设置Cookie字段,但恶意代码通常不会设置Cookie字段,因此将HTTP请求数据包中是否包含Cookie字段也作为特征之一。
响应特征:响应特征主要包括响应状态码、请求资源类型和请求资源大小这三个特征。HTTP响应状态码主要分为:2XX,3XX,4XX,5XX这几类,在正常访问中由于公共网站一般都以提供稳定可靠的服务为目标,其相应的响应类型以2XX居多,但在恶意流量中可能存在重定向、恶意站点迁移等多种情况,因此其响应类型会更为丰富,所以对于2XX的响应状态码,设置其特征值为1,相应地3XX为2,4XX为3,5XX为5。恶意代码发起的部分HTTP请求主要是为了进行恶意下载,请求二进制文件,其响应数据包中的content-type字段将显示为application/octet-stream;而正常浏览网页所发起的资源请求大多为图片和网页文件,其响应数据包中的content-type字段主要以image/jpg、text/html等为主,因此将请求资源类型作为节点特征,content-type为application的特征值为1,image为2,text为3,其它为4。一些恶意代码为了躲避检测,会隐瞒实际传递的文件类型,此时通过检查HTTP响应数据包中的content-length字段,会发现请求资源大小与请求类型不匹配的现象,因此也将content-length请求资源大小作为节点的特征之一。
表1通信行为图的节点特征
所述通信行为图中,图中的边表示了节点之间连接的关系,边定义如下:
E=(Ns,Nd,edge_feature)
其中Ns表示有向边的起点,Nd表示有向边的终点,edge_feature表示边特征。所述通信行为图的边生成规则如下:
如果节点i content的Location内容与节点j content的URL内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Location类型的边;
如果节点i content的URL内容与节点j content的Referer内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Referer类型的边。
图3所示,图中实线表示Referer类型的边,虚线表示为Location类型的边,右侧实线表示边所连接的两个节点的host相同,右侧虚线和左侧实线表示边所连接的两个节点的host不同。在这一过程中,用户首先访问了一个URL为http://A.com/index.html的站点(节点1),并在页面加载过程中请求了http://A.com/example.js的脚本资源(节点2),但是由于某种原因该脚本资源已经不在http://A.com/example.js这一URL所指示的位置上了,同时服务器将用户重定向到一个新的URL—http://B.com/example.js(节点3)以获得对应的脚本资源。那么根据边生成规则:节点2的Location内容与节点3的URL内容相同,则有由节点2指向节点3的Location类型的边;节点1的URL内容与节点2和节点3的Referer内容相同,则有由节点1分别指向节点2和节点3的Referer类型的边。
通信行为图中的边特征包括边类型、边长度和边连接主机异同;所述边类型是指根据边生成规则所产生的两种类型的边即Location边和Referer边,若为Location边,边类型的特征值为1,若为Referer边,边类型的特征值为0;所述边长度是指边所连接的终点时间戳和起点时间戳的差;所述边连接主机异同是指边所连接的两个节点content中的host内容是否相同,若相同,边连接主机异同的特征值为1,若不同,边连接主机异同的特征值为0。
如图4所示,其中(a)(b)(c)分别为感染恶意代码后,恶意主机所产生的通信行为图;(d)(e)(f)分别为正常主机产生的通信行为图。从图4中可以发现,正常主机的通信行为图,路径长度一般较短,边类型较为一致,反映在视觉效果上就是结构简单清晰、且有规律性;恶意主机的通信行为图中,路径长度往往更长,边类型也较为丰富,并且图中包含一定数量的孤立节点,其图结构更为复杂,也更富有变化性。
所述基于图注意力网络的检测模型-EGATM使用3个改进后的图注意力层(简称EGAT层)提取通信行为图的节点特征向量,再通过图池化层将经过多次迭代的所有节点特征向量进行聚合拼接,得到图的全局表示,最后利用全连接层的非线性拟合能力将聚合后的特征向量映射到对应的类型,从而实现对恶意流量的识别。
1.EGAT层
Velickovic等人提出的图注意力网络,在进行注意力计算时,只关注了节点自身和其它连接节点的特征,并没有考虑连接节点的边的特征。然而在通信行为图中,边特征也对刻画主机网络行为起到了一定的作用。所以为了能使图注意力网络同时注意到节点特征和边特征,我们对公式(1)进行了如下修改:
其中ei,j∈Re表示连接节点i和节点j的边特征,表示该层边特征变换的权重参数,权重参数更新为/>其它符号的含义与公式(1)保持一致。一旦完成上述权重系数的计算,便可以按照公式(2)计算节点的特征向量。需要指出的是,EGAT只在计算注意力系数时引入边特征,并不对边特征进行更新和维护。
2.图池化层
图分类与计算机视觉中的图像分类一样,都需要对全局信息进行融合学***均值作为图的全局表示:
其中表示图的全局表示,V表示图中点的集合,/>表示经过K次迭代后的节点特征。
经过多次实验,EGATM模型架构设置如表2所示,使用了3个EGAT层,1个全连接层,最后用Softmax作为分类器,在模型的训练阶段使用交叉熵作为损失函数,优化方法为Adam,Dropout的值为0.5。
表2 EGATM模型架构
下面通过实验与分析更好地说明本发明。
(1)实验数据
表3示出了所使用的HTTP流量数据,其中一个样本代表着一台主机的流量,数据集共包含3917个样本,其中恶意样本数量为1805,正常样本数量为2112。
表3 HTTP流量数据集
恶意样本:Malware-traffic-analysis.net是一个专注于恶意流量分析的网站,该网站从2013年开始收集各类恶意代码的网络流量,并提供了安全研究人员的人工分析记录。本实验收集了Malware-traffic-analysis.net从2013年6月到2020年2月发布的数据,并提取其中的HTTP流量。这些恶意样本横跨7年的时间,并且每个样本都是由安全研究人员从实际案例中提取分析的,因此能够有效代表近年来HTTP流量中的真实威胁。
正常样本:正常样本由三部分流量组成。一部分是在校园网关口抓取的用户日常HTTP流量;另一部分是CTU-Normal数据集的HTTP流量,CTU-Normal主要包含文件下载、网上聊天和浏览视频等日常行为所产生的流量,以及访问Alexa排名前1000的网站所产生的流量;最后一部分是clickminer数据集的部分流量,该数据集收集了用户通过浏览器访问网站的正常流量。
(2)实验数据分析
为使正负样本数保持均衡,本实验对正常流量的大PCAP文件基于会话流进行了拆分处理以增加正常样本的数量。同时,为了保证数据的公平性,避免模型简单地根据图中的节点数量(即样本所含的会话数量)对样本类型进行判断,我们统计了恶意样本的会话数分布情况,并使拆分后的正常样本会话数分布与恶意样本的会话数分布保持一致。这种拆分可能会使通信行为图中的一些关键节点被划分到另一个的样本中,进而使得图的结构和图的统计指标发生较大的变化,如图5所示。但在真实的网络环境中,由于流量捕获环境和时机的不同很可能造成通信行为图关键节点的丢失,因此这种拆分处理在一定程度上模拟了真实的流量捕获场景,能够从一定程度上检验模型的抗干扰能力。
另一个值得注意的地方是,在从原始流量构建通信行为图的过程中,恶意样本花费的平均时间为533ms,正常样本花费的平均时间为373ms,说明恶意样本的通信行为图往往结构更为复杂,这也从侧面印证了上面对正常主机通信行为图和恶意主机通信行为图的观察发现。
(3)实验设置
本实验使用NFStream对原始PCAP文件进行预处理,并用NetworkX构建通信行为图。模型搭建阶段,使用Pytorch Geometric作为图神经网络框架,计算机配置为8核16线程CPU,16GB内存,显卡为NVIDIAGeForce RTX 2060。利用HTTP流量数据集进行恶意样本与正常样本的二分类实验,其中训练集和测试集比例约为9:1。选取二分类准确率、精准率、召回率、误报率和F1值作为模型评价指标。
(4)实验结果
模型训练情况如图6所示,图中展示了训练过程中前120轮的损失函数值和训练正确率的变化情况,从中可以发现,在完成80轮的训练后,模型损失值基本稳定,模型能够成功收敛。EGATM模型的测试结果如图7的混淆矩阵所示,测试集中共有205个正常样本和187个恶意样本,EGATM模型对196个正常样本和180个恶意样本做出了正确判断,将9个正常样本误判为恶意样本,将7恶意样本错判为正常样本。通过混淆矩阵可以发现,EGATM模型能够对大部分的流量样本进行正确的划分与判断,可以在主机层级发现并识别恶意代码的网络行为。
(5)对比实验
为了检验EGATM模型的有效性,在相同的数据集下,本实验进行了不同模型的对比实验。首先是目前主流的基于会话流的检测模型,利用基于会话流的统计特征对主机级的检测对象进行判别;有不少研究者利用图或树的统计特点,对建模后的恶意流量行为进行检测,因此还对比了基于图统计特征的检测模型;最后是基于图神经网络的检测模型。
1.Session-RF:基于会话流统计特征的随机森林模型是以会话流为检测对象进行恶意样本与正常样本的判别。对于本实验HTTP流量数据集中的每个样本,若该样本的所有会话流均被随机森林模型判别为正常流量,则该样本为正常样本,若该样本的有任意一条会话流被判别为恶意流量,则该样本为恶意样本。
2.Graph-RF:基于图统计特征的随机森林模型是以通信行为图为检测对象,通过提取通信行为图的统计特征训练随机森林模型,进而实现对流量样本的分类,相关图统计特征表4所示。
3.GATM模型:GATM模型与EGATM模型结构类似,但GATM模型使用基本的GAT层进行构建。
4.EGATM模型:本发明所提出的模型。
表4 Graph-RF通信行为图统计特征
实验结果如表5所示,在准确率、精准率、召回率和F1值这四项值越高说明检测效果越好的指标中,EGATM均取得了最高的检测结果;在误报率这项值越低效果越好的指标中,EGATM也取得了4种方法中的最低值。表5结果显示出,Session-RF模型的误报率高达0.97以上,远高于其他3种方法,说明在主机级的检测对象中,更应该从宏观角度分析流量之间的相互关系,融合多条会话流的行为特征,综合做出判断。对比Graph-RF模型和两种基于图神经网络模型的实验结果,说明图神经网络能够自动提取图中蕴含的丰富信息,辅助研究人员做出更好的判断。对比GATM模型与EGATM模型,说明通过改进基本的图注意力层,使模型在计算注意力系数时能够考虑边的特征,可以帮助模型更好地学习通信行为图的特征表示,提高模型对恶意样本的检测能力。最后结合实验数据分析和表5的实验结果,说明了EGATM模型在流量行为特征的基础上,通过融合流量的统计特征和内容特征,能够综合多种信息做出判断,有效增强了模型的抗干扰能力。
表5 EGATM模型对比实验(%)
在实验阶段构造了主机级的网络流量样本数据集并进行实验,实验结果表明在主机级的检测对象中,基于通信行为图的检测方法比基于会话流的检测方法更为有效,EGATM模型能够自动提取通信行为图中的蕴含的丰富信息,在取得较高检测精度的同时有效降低了误报率。
与上述基于图注意力网络的HTTP恶意流量检测方法相应地,本实施例还提出一种基于图注意力网络的HTTP恶意流量检测装置,包括:
通信行为图构建模块,用于基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
恶意流量检测模块,用于利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层和全连接层。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (2)

1.一种基于图注意力网络的HTTP恶意流量检测方法,其特征在于,包含以下步骤:
步骤1,基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
所述构建主机级的通信行为图,包括:首先从原始PCAP文件提取HTTP请求-响应对,并按照节点定义生成通信行为图的节点,再按照边生成规则生成通信行为图的边;
所述通信行为图中,图中的一个节点代表了一次HTTP请求-响应过程,节点定义如下:
N=(time,content,node_feature)
其中,time表示HTTP请求数据包的时间戳,content表示用于生成边连接关系的节点内容,node_feature表示节点特征;所述content包含从HTTP请求数据包相应字段获取的URL、Referer和Host信息,以及从HTTP响应数据包相应字段获取的Location信息;所述node_feature包括会话流统计特征、URL特征、请求特征和响应特征;所述会话流统计特征是指当前节点表示的HTTP请求-响应过程所在会话流的统计特征;所述URL特征包含URL长度、URL中特殊字符比例、URL中是否包含IP地址和URL熵值;所述请求特征包括请求方式和是否包含Cookie;所述响应特征包括响应状态码、请求资源类型和请求资源大小;
所述通信行为图中,图中的边表示了节点之间连接的关系,边定义如下:
E=(Ns,Nd,edge_feature)
其中Ns表示有向边的起点,Nd表示有向边的终点,edge_feature表示边特征;
所述通信行为图的边生成规则如下:
如果节点i content的Location内容与节点j content的URL内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Location类型的边;如果节点icontent的URL内容与节点j content的Referer内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Referer类型的边;
所述边特征包括边类型、边长度和边连接主机异同;所述边类型是指根据边生成规则所产生的两种类型的边即Location边和Referer边,若为Location边,边类型的特征值为1,若为Referer边,边类型的特征值为0;所述边长度是指边所连接的终点时间戳和起点时间戳的差;所述边连接主机异同是指边所连接的两个节点content中的host内容是否相同,若相同,边连接主机异同的特征值为1,若不同,边连接主机异同的特征值为0;
步骤2,利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层、图池化层和全连接层;具体包括:
基于图注意力网络的检测模型使用3个改进后的图注意力层提取通信行为图的节点特征向量,再通过图池化层将经过多次迭代的所有节点特征向量进行聚合拼接,得到图的全局表示,最后利用全连接层的非线性拟合能力将聚合后的特征向量映射到对应的类型;
所述改进后的图注意力层节点更新过程为:
首先计算权重系数αij,公式如下:
其中,ei,j∈Re表示连接节点i和节点j的边特征,表示该层边特征变换的权重参数,权重参数为/>分别是节点i和j在第l层所对应的特征向量,d(l)表示第l层节点的特征向量长度,LeakyReLU为激活函数;
然后按照注意力机制加权求和的思路,通过聚合所有邻居的信息,得到节点i的新特征向量为:
2.一种基于图注意力网络的HTTP恶意流量检测装置,其特征在于,包括:
通信行为图构建模块,用于基于HTTP数据包中的头部字段信息,构建主机级的通信行为图,所述通信行为图表示为G=(N,E),其中N为节点,E为边;
所述构建主机级的通信行为图,包括:首先从原始PCAP文件提取HTTP请求-响应对,并按照节点定义生成通信行为图的节点,再按照边生成规则生成通信行为图的边;
所述通信行为图中,图中的一个节点代表了一次HTTP请求-响应过程,节点定义如下:
N=(time,content,node_)
其中,time表示HTTP请求数据包的时间戳,content表示用于生成边连接关系的节点内容,node_表示节点特征;所述content包含从HTTP请求数据包相应字段获取的URL、Referer和Host信息,以及从HTTP响应数据包相应字段获取的Location信息;所述node_包括会话流统计特征、URL特征、请求特征和响应特征;所述会话流统计特征是指当前节点表示的HTTP请求-响应过程所在会话流的统计特征;所述URL特征包含URL长度、URL中特殊字符比例、URL中是否包含IP地址和URL熵值;所述请求特征包括请求方式和是否包含Cookie;所述响应特征包括响应状态码、请求资源类型和请求资源大小;
所述通信行为图中,图中的边表示了节点之间连接的关系,边定义如下:
E=(Ns,Nd,edge_feature)
其中Ns表示有向边的起点,Nd表示有向边的终点,edge_feature表示边特征;
所述通信行为图的边生成规则如下:
如果节点i content的Location内容与节点j content的URL内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Location类型的边;如果节点icontent的URL内容与节点j content的Referer内容相同,同时节点i的时间戳小于节点j的时间戳,则有一条从节点i指向节点j的Referer类型的边;
所述边特征包括边类型、边长度和边连接主机异同;所述边类型是指根据边生成规则所产生的两种类型的边即Location边和Referer边,若为Location边,边类型的特征值为1,若为Referer边,边类型的特征值为0;所述边长度是指边所连接的终点时间戳和起点时间戳的差;所述边连接主机异同是指边所连接的两个节点content中的host内容是否相同,若相同,边连接主机异同的特征值为1,若不同,边连接主机异同的特征值为0;
恶意流量检测模块,用于利用基于图注意力网络的检测模型对通信行为图进行分类,所述基于图注意力网络的检测模型包括3个改进后的图注意力层和全连接层;具体包括:
基于图注意力网络的检测模型使用3个改进后的图注意力层提取通信行为图的节点特征向量,再通过图池化层将经过多次迭代的所有节点特征向量进行聚合拼接,得到图的全局表示,最后利用全连接层的非线性拟合能力将聚合后的特征向量映射到对应的类型;
所述改进后的图注意力层节点更新过程为:
首先计算权重系数αij,公式如下:
其中,ei,j∈Re表示连接节点i和节点j的边特征,表示该层边特征变换的权重参数,权重参数为/>分别是节点i和j在第l层所对应的特征向量,d(l)表示第l层节点的特征向量长度,LeakyReLU为激活函数;
然后按照注意力机制加权求和的思路,通过聚合所有邻居的信息,得到节点i的新特征向量为:
CN202111653905.5A 2021-12-30 2021-12-30 基于图注意力网络的http恶意流量检测方法及装置 Active CN114422211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111653905.5A CN114422211B (zh) 2021-12-30 2021-12-30 基于图注意力网络的http恶意流量检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111653905.5A CN114422211B (zh) 2021-12-30 2021-12-30 基于图注意力网络的http恶意流量检测方法及装置

Publications (2)

Publication Number Publication Date
CN114422211A CN114422211A (zh) 2022-04-29
CN114422211B true CN114422211B (zh) 2023-07-18

Family

ID=81270257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111653905.5A Active CN114422211B (zh) 2021-12-30 2021-12-30 基于图注意力网络的http恶意流量检测方法及装置

Country Status (1)

Country Link
CN (1) CN114422211B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277102B (zh) * 2022-06-29 2023-04-07 北京天融信网络安全技术有限公司 网络攻击检测方法、装置、电子设备及存储介质
CN115767144A (zh) * 2022-10-26 2023-03-07 杭州迪普科技股份有限公司 目标视频的上传对象确定方法及装置
CN117692261B (zh) * 2024-02-04 2024-04-05 长沙市智为信息技术有限公司 一种基于行为子图表征的恶意Bot识别方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768921A (zh) * 2018-03-28 2018-11-06 中国科学院信息工程研究所 一种基于特征检测的恶意网页发现方法及***
CN109117634A (zh) * 2018-09-05 2019-01-01 济南大学 基于网络流量多视图融合的恶意软件检测方法及***
CN112165496A (zh) * 2020-10-13 2021-01-01 清华大学 基于聚类图神经网络的网络安全异常检测算法和检测***
CN113283581A (zh) * 2021-05-14 2021-08-20 南京邮电大学 多融合图网络协同多通道注意力模型及其应用和应用方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824949B2 (en) * 2018-09-27 2020-11-03 Babylon Partners Limited Method and system for extracting information from graphs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768921A (zh) * 2018-03-28 2018-11-06 中国科学院信息工程研究所 一种基于特征检测的恶意网页发现方法及***
CN109117634A (zh) * 2018-09-05 2019-01-01 济南大学 基于网络流量多视图融合的恶意软件检测方法及***
CN112165496A (zh) * 2020-10-13 2021-01-01 清华大学 基于聚类图神经网络的网络安全异常检测算法和检测***
CN113283581A (zh) * 2021-05-14 2021-08-20 南京邮电大学 多融合图网络协同多通道注意力模型及其应用和应用方法

Also Published As

Publication number Publication date
CN114422211A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114422211B (zh) 基于图注意力网络的http恶意流量检测方法及装置
Yang et al. Towards automatic fingerprinting of IoT devices in the cyberspace
US20210019674A1 (en) Risk profiling and rating of extended relationships using ontological databases
CN103189836B (zh) 用于对图数据流中的对象分类的方法
US20180097828A1 (en) Computerized system and method for automatically determining malicious ip clusters using network activity data
CN114257386A (zh) 检测模型的训练方法、***、设备及存储介质
CN112333706B (zh) 物联网设备异常检测方法、装置、计算设备及存储介质
CN109831459B (zh) 安全访问的方法、装置、存储介质和终端设备
Dewan et al. Facebook Inspector (FbI): Towards automatic real-time detection of malicious content on Facebook
CN113989583A (zh) 一种互联网恶意流量检测方法及***
CN109905288A (zh) 一种应用服务分类方法及装置
Feng et al. Towards learning-based, content-agnostic detection of social bot traffic
CN111371778A (zh) 攻击团伙的识别方法、装置、计算设备以及介质
Wang et al. Identifying DApps and user behaviors on ethereum via encrypted traffic
CN114422271B (zh) 数据处理方法、装置、设备及可读存储介质
CN115080756A (zh) 一种面向威胁情报图谱的攻防行为和时空信息抽取方法
CN114338064A (zh) 识别网络流量类型的方法、装置、设备和存储介质
Wang et al. An unknown protocol syntax analysis method based on convolutional neural network
Ren et al. App identification based on encrypted multi-smartphone sources traffic fingerprints
Bai et al. Application behavior identification in DNS tunnels based on spatial-temporal information
CN114510615A (zh) 一种基于图注意力池化网络的细粒度加密网站指纹分类方法和装置
CN110225009A (zh) 一种基于通信行为画像的代理使用者检测方法
WO2019175880A1 (en) Method and system for classifying data objects based on their network footprint
Wan et al. DevTag: A benchmark for fingerprinting IoT devices
CN106982147A (zh) 一种Web通讯应用的通讯监控方法和装置

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
GR01 Patent grant
GR01 Patent grant