CN115378733A - 一种基于动态图嵌入的多步攻击场景构建方法及系统 - Google Patents

一种基于动态图嵌入的多步攻击场景构建方法及系统 Download PDF

Info

Publication number
CN115378733A
CN115378733A CN202211040616.2A CN202211040616A CN115378733A CN 115378733 A CN115378733 A CN 115378733A CN 202211040616 A CN202211040616 A CN 202211040616A CN 115378733 A CN115378733 A CN 115378733A
Authority
CN
China
Prior art keywords
event
attack
neighbor
edge
graph
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.)
Granted
Application number
CN202211040616.2A
Other languages
English (en)
Other versions
CN115378733B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202211040616.2A priority Critical patent/CN115378733B/zh
Publication of CN115378733A publication Critical patent/CN115378733A/zh
Application granted granted Critical
Publication of CN115378733B publication Critical patent/CN115378733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于动态图嵌入的多步攻击场景构建方法及系统,其方法包括:S1:根据网络流量日志和审计日志抽取事件构建原始溯源图G';S2:基于事件时间顺序构建因果信息流,消除G'中无效的因果关系,得到修剪后的溯源图G;S3:基于因果信息流,对G进行邻居边采样,构建邻居边队列;S4:构建时序卷积聚合函数,提取事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成G中所有事件的向量表示;S5:基于事件的向量表示,对单个阶段的事件进行聚类,生成攻击路径;关联不同阶段的攻击路径,重现攻击场景。本发明提供的方法利用邻居边的评分机制有效的区分正常的行为和攻击行为,通过关联不同阶段的攻击路径重现攻击场景。

Description

一种基于动态图嵌入的多步攻击场景构建方法及系统
技术领域
本发明涉及攻击取证领域,具体涉及一种基于动态图嵌入的多步攻击场景构建方法及系统。
背景技术
最近高级可持续威胁攻击(Advanced and Persistent Threats)困扰着许多企业和学校,造成了大量的经济损失。与传统的恶意软件不同,APTs可以选择多种不同的目标,例如:数据窃取,盗用账户等等。此外APTs可以利用不同技术的组合绕过现有的防御系统。Mandiant安全公司提供的报告描述了APT攻击的不同阶段。典型的APT攻击包括成功的渗透,侦察,指挥和控制(C&C)通信,特权升级,通过网络横向移动,窃取机密信息,目标达成,7个阶段。每个不同阶段利用到的技术都不相同。
目前针对于攻击检测(Attack Detection),已经有基于启发式规则和基于学习的方法被提出。这些方法虽然可以实现攻击的检测。但是无法揭示不同攻击事件之间的因果关系,由于APT攻击经常利用多种不同的漏洞,并分不同的阶段从外部入侵到企业内网或是校园网当中,因此攻击检测很难帮助分析人员很难针对攻击进行分析,理解攻击者的攻击场景。
为了解决这种情况,许多基于溯源图(Provenance Graph)的攻击取证方法已经被提出。溯源图是描述审计日志的一种方法,他们以终端的审计日志作为数据来源,存在关联的审计日志,都会作为一条边描述在溯源图中。传统的攻击取证方法,例如Nodoze,根据专家先验知识,设计启发式规则,不能解决爆炸性依赖问题。爆炸性依赖问题指攻击者在攻击时,经常会利用一些正常的软件,例如:利用浏览器下载恶意负载,利用scp命令复制机密文件。这些恶意的行为会淹没在软件大量正常行为之中,从而难以区分这些行为之间的依赖关系,为攻击场景的重现带来困难。
此外在APT攻击中,通常会存在不同阶段之间的演变过程。例如从成功渗透到侦查阶段,从横向移动到窃取机密信息等。由于APT攻击的持续时间长的特点,APT的不同阶段的攻击行为之间虽然存在关联,但是时间间隔较远。APT的单个阶段,例如渗透阶段,攻击者总是很快的达成目标,使得单个阶段攻击行为之间的时间间隔较近。因此在关联不同攻击行为时,难以选择有效的时间窗口来关联不同阶段的攻击行为。
发明内容
为了解决上述技术问题,本发明提供一种基于动态图嵌入的多步攻击场景构建方法及系统。
本发明技术解决方案为:一种基于动态图嵌入的多步攻击场景构建方法,包括:
步骤S1:根据网络流量日志和主机端的审计日志抽取事件Event,其中,所述事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据所述事件构建原始溯源图G′=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time;
步骤S2:基于所述事件的起点,终点和事件的时间顺序构建因果信息流,对所述原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G;
步骤S3:基于所述因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,所述邻居边队列包括:原因邻居边队列X和结果邻居边队列Y;
步骤S4:构建时序卷积聚合函数,提取所述事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成所述溯源图G中所有事件的向量表示;
步骤S5:基于所述事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景。
本发明与现有技术相比,具有以下优点:
1、本发明公开了一种基于动态图嵌入的多步攻击场景构建方法,对溯源图的边向量化,并提出了于因果信息流的邻居边采样方法,在采样过程中设计了邻居边的评分机制,可以有效的区分正常的行为和攻击行为。
2、本发明的动态图嵌入采用时序卷积聚合函数,可捕捉溯源图中的时序关系,有效保留邻居边之间的时序关系。
3、本发明针对于APT攻击不同阶段时间跨度大、单个阶段时间跨度小、难以选择合适时间窗口进行关联的问题。本发明采用较小时间窗口训练动态图嵌入模型,从而聚类单个阶段的攻击社区,并生成每个社区的攻击路径。再通过不同社区路径间的关联从而重现攻击场景。
附图说明
图1为本发明实施例中一种基于动态图嵌入的多步攻击场景构建方法的流程图;
图2为本发明实施例中邻居边采样流程示意图;
图3为本发明实施例中重现的攻击场景的结果图意图;
图4为本发明实施例中一种基于动态图嵌入的多步攻击场景构建系统的结构框图。
具体实施方式
本发明提供了一种基于动态图嵌入的多步攻击场景构建方法,提出了基于因果信息流的邻居边采样方法,同时设计了邻居边的评分机制,可以有效的区分正常的行为和攻击行为,并利用时序卷积聚合函数,捕捉溯源图中的时序关系,对溯源图的边向量化;聚类单个阶段的攻击社区并生成攻击路径,利用不同社区路径间的关联从而重现攻击场景。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种基于动态图嵌入的多步攻击场景构建方法,包括下述步骤:
步骤S1:根据网络流量日志和主机端的审计日志抽取事件Event,其中,事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据事件构建原始溯源图G′=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time;
步骤S2:基于事件的起点,终点和事件的时间顺序构建因果信息流,对原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G;
步骤S3:基于因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,邻居边队列包括:原因邻居边队列X和结果邻居边队列Y;
步骤S4:构建时序卷积聚合函数,提取事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成溯源图G中所有事件的向量表示;
步骤S5:基于事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景。
在一个实施例中,上述步骤S1:根据网络流量日志和主机端的审计日志抽取事件Event,其中,事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据事件构建原始溯源图G′=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time,具体包括:
本发明实施例中日志数据来源于三个方面,HTTP日志、DNS日志和主机端的审计日志,从日志数据中抽取事件Event。
定义Event由一个三元组构成Event=(Sub,Obj,Time),其中,Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间。例如在DNS日志中,会记录主机请求了域名,在抽取事件的过程中则会以Sub为主机的IP,Obj为请求的域名,Time为请求域名的时间,抽取一个域名请求的事件。主机端侧的审计日志也按照同样的方式进行事件的抽取,例如父进程创建子进程,则会产生一个进程创建的事件,Sub是父进程,Obi是子进程,Time作为事件的属性用于记录事件发生的时间。
根据得到的事件,构建原始溯源图G′=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time。
在一个实施例中,上述步骤S2:基于事件的起点,终点和事件的时间顺序构建因果信息流,对原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G,具体包括:
步骤S21:设有两个事件对应的边分别为:
Figure BDA0003820832270000041
Figure BDA0003820832270000042
其中,a、b分别为边
Figure BDA0003820832270000043
的起点和终点,b、c分别为边
Figure BDA0003820832270000044
的起点和终点;则b作为
Figure BDA0003820832270000045
的终点,也同时作为
Figure BDA0003820832270000046
的起点,并且t1<t2,则认为
Figure BDA0003820832270000047
Figure BDA0003820832270000048
之间存在因果关系;将
Figure BDA0003820832270000049
这样的两条边称为因果信息流;
步骤S22:删除原始溯源图G′中起点入度和终点的出度都为0的边;
步骤S23:删除构成环路的边,得到修剪后的溯源图G。
本发明实施例基于因果信息流构建的溯源图会存在许多不存在因果关系的边:例如软件读取只读文件,后续并没有写入操作,这种边的起点入度和终点的出度都为0,即没有和该事件存在因果信息流的其他事件。这样的边无法给攻击场景的重现提供有用的信息,因此本发明将这些边进行删除,以节省存储空间和计算量。
此外,还有一些边会构成环路,例如
Figure BDA00038208322700000410
Figure BDA00038208322700000413
由于这样的两条边包含的节点都是a和b,并没有其他节点参与,当只保留最开始建立的边
Figure BDA00038208322700000412
时,溯源到a节点时同样会溯源到b节点,将这样的边删除并不会影响攻击路径的查找。本发明实施例中将存在环路的两条边只保留最开始建立的一条,在不影响溯源攻击路径的前提下,删除无关的边。
由于本实施例旨在保留溯源图的动态演变过程,考虑所有历史信息会带来很大的开销,并且时间跨度较大的历史信息对现在影响较小。因此本发明实施例选择对邻居边采样的方式,来保留溯源图的动态演变过程。
在一个实施例中,上述步骤S3:基于因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,邻居边队列包括:原因邻居边队列X和结果邻居边队列Y,具体包括:
步骤S31:从溯源图G中选择与待采样边
Figure BDA0003820832270000051
中存在因果信息流的边作为候选邻居边,其中,候选邻居边为下述两种边之一:
1)原因邻居边:发生在t1时刻之前的事件,并且事件的终点为a:
Figure BDA0003820832270000052
Figure BDA0003820832270000053
2)结果邻居边:发生在t1时刻之后的事件,并且事件的起点为b:
Figure BDA0003820832270000054
Figure BDA0003820832270000055
其中,t1是待采样边
Figure BDA0003820832270000056
的产生时间,t2
Figure BDA0003820832270000057
的邻居边的产生时间,x是事件的起点,y是事件的终点;δ是表示历史时间窗口的大小;
由于考虑所有的历史信息会带来很大的开销,因此本发明实施例定义了历史时间窗口δ,历史窗口限制了当前边考虑的历史信息大小,可以根据数据的分布进行选择;
得到待采样边
Figure BDA0003820832270000058
的候选邻居边集合
Figure BDA0003820832270000059
其中,每条候选邻居边满足条件
Figure BDA00038208322700000510
或者
Figure BDA00038208322700000511
Figure BDA00038208322700000512
步骤S32:计算待采样边
Figure BDA00038208322700000513
的候选邻居边的可疑性评分;
Figure BDA00038208322700000514
Figure BDA00038208322700000515
其中,O(ΔH)表示所有候选邻居边出现次数,N为所有候选邻居边的个数,
Figure BDA00038208322700000516
表示在在满足条件
Figure BDA00038208322700000517
的邻居边中
Figure BDA00038208322700000518
的出现次数,
Figure BDA00038208322700000519
表示在在满足条件
Figure BDA00038208322700000520
的邻居边中
Figure BDA00038208322700000521
的出现次数,
Figure BDA00038208322700000522
表示节点在t1之前的入度,
Figure BDA00038208322700000523
表示节点在t1之后的出度;
有别于正常的行为会重复发生,攻击者的攻击行为通常会经过一些关键事件,例如下载恶意软件,远程连接到powershell.exe等,攻击者为了不让受害者察觉,这样的边出现次数通常很少。因此采用
Figure BDA0003820832270000061
Figure BDA0003820832270000062
表示边的出现次数占比,得分越小越有可能被攻击者利用,因此使用比值的倒数作为可疑性评分的第一项。此外攻击者的攻击行为在经过一些关键事件之后,即入侵成功之后,通常会开始访问多个机密文件,尝试与其他内网主机建立连接进行横向移动等。这时事件的发生频率开始逐渐增多,并且产生时间大多和正常行为时间不同。因此采用
Figure BDA0003820832270000063
Figure BDA0003820832270000064
作为可疑性评分的第二项,分别表示这条边的起点x作为终点的其余边的数量、这条边的终点y作为起点的其余边的数量和这条边出现次数的比值,比值越高说明越有可能被攻击者利用,因此可疑性越高。
步骤S33:选择可疑性评分最高的M个候选邻居边加入邻居边队列;
这里的M表示横向扩展大小,即从候选邻居边集合中ΔH当中选择几个加入邻居边队列。为所有候选邻居边的得分维护一个最小堆,并选取可疑性评分最高的M个邻居边加入邻居边队列。
步骤S34:从邻居边队列中取出队首元素,继续进行步骤S31~S33,直到邻居边队列长度达到预设的长度H,其中,邻居边队列包括:长度为H的原因邻居边队列X和长度为H的结果邻居边队列Y。
从邻居边队列中取出队首元素,继续进行采样,直到队列长度满足预先设定的邻居边长度H。本发明实施例会分别对原因邻居边和结果邻居边进行队列长度为H的采样。最后得到的邻居边队列包含长度为H的原因邻居边队列X结果和长度为H的邻居边队列Y。
图2展示了邻居边采样的流程示意图。
本发明以动态图嵌入为基础工作原理,动态图嵌入是图表示学习的重要分支。在动态图嵌入中通常存在历史邻居节点采样和生成当前时刻向量表示两个部分。历史邻居节点采样是用于找到与待采样节点之间存在强关系的节点,与传统图嵌入不同,动态图嵌入在采样过程需要保留节点之间的演变过程,因此步骤S3的采样过程中对历史过程中存在的邻居节点进行采样,步骤S4则是根据采样到的邻居节点生成当前时刻的节点向量表示。
在一个实施例中,上述步骤S4:构建时序卷积聚合函数,提取事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成溯源图G中所有事件的向量表示,具体包括:
步骤S41:随机初始化溯源图G中的事件表示矩阵Zold和当前时刻的事件表示矩阵Znew
Figure BDA0003820832270000071
Figure BDA0003820832270000072
其中,l是向量表示的长度,n是溯源图中的事件个数;
本发明实施例的动态图嵌入是为溯源图中的每条边生成向量表示,因此需要首先随机初始化事件表示矩阵Zold。为了保留溯源图的演变过程,同样初始化当前时刻的事件表示矩阵Znew,后续步骤中,每次迭代都会根据Zold去更新Znew,然后将Znew赋值给zold,并不断地迭代;
本发明实施例根据历史邻居边的表示聚合成当前边的新表示。传统的聚合函数:Mean Pooling(均值聚合)、Max Pooling(最大值聚合)、Lstm Pooling(长短期记忆聚合函数)。以上三种聚合函数前两种没有考虑时序关系,因此不适用于本发明。Lstm Pooling虽然保留了时序关系,但是Lstm的当前时刻只与上一时刻有关,因此很难处理存在多个历史时刻的信息序列。而因果卷积会考虑一个序列的所有历史信息,因此本发明在下述步骤S42中采用因果卷积构建基于时序卷积网络的时序卷积聚合函数,在时间维度上进行卷积,得到最终的边的向量表示。
步骤S42:利用因果卷积构建时序卷积聚合函数TCNAggregate,将Zold和Znew进行聚合,得到当前时刻的事件表示矩阵,并更新Znew
Figure BDA0003820832270000073
Figure BDA0003820832270000074
其中,d是步长,s是当前的位置,k是卷积核的大小,随着d按照指数增加,卷积的感受野在不断增加;本发明实施例利用了两次因果卷积,分别表示原因邻居边的影响和结果邻居边的影响,用f1(i)和f2(i)分别表示原因邻居边的因果卷积核和结果邻居边的因果卷积核的权重;Zold(xs-d·i)表示距离当前事件位置的d*i个邻居事件的向量表示;y′表示结果邻居边队列Y的倒序表示,由于采样过程是按照时序从大到小进行的,得到的队列Y的时间戳都在待采样边之后,因此需要进行反转以满足时序关系,得到聚合后的表示;Concat表示向量的连接,即将因果卷积后得到的最后一个时刻的向量进行拼接;σ表示全连接层,将拼接后的两倍维度的向量缩小到和Zold(xs-d·i)相同维度的向量;
除了历史因素的影响,事件本身的属性也许考虑。例如攻击链的开始行为无法采样到原因邻居边,该事件本身就是攻击链的入口。本发明实施例使用一个残差模块,即将
Figure BDA0003820832270000081
表示
Figure BDA0003820832270000089
的历史表示,因此将
Figure BDA0003820832270000083
和聚合后的新表示进行平均计算,得到最终的表示
Figure BDA0003820832270000084
与时序卷积网络不同,本发明的聚合函数并不包含激活函数。因为激活函数会将原有表示用映射到另一个空间,从而导致聚合后的表示和原有表示不在一个空间中。
步骤S43:将邻居边队列中的边作为正样本,溯源图G中其余边作为候选负样本,对候选负样本进行随机采样,并根据候选负样本出现次数的分布
Figure BDA0003820832270000085
构建负样本;
当进行训练时,如果除了正样本之外的所有负样本都参与计算,这会导致巨大的计算量。因此本发明实施例采用负采样技术来减少计算量。首先得到除正样本以外的所有边,并根据边出现次数的分布
Figure BDA0003820832270000086
来进行负采样。
步骤S44:构建损失函数loss,用于训练动态图嵌入模型;
Figure BDA0003820832270000087
其中,K表示负样本的个数,σ表示Sigmoid激活函数,xi表示第i个事件的向量表示,xj表示第j个正样本的向量表示,x′j表示第j个负样本的向量表示,||.||2表示两个向量之间的距离,
Figure BDA0003820832270000088
表示负样本集合x′的采样服从Pn(x′)的分布。
本发明采用无监督的损失函数,利用极大似然估计最大化正样本的负欧式距离,最小化负样本的负欧式距离,利用随机梯度下降进行求解,可以为所有溯源图中的事件生成一个理想的向量表示。
在一个实施例中,上述步骤S5:基于事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景,具体包括:
步骤S51:根据预设的时间窗口δ训练动态图嵌入模型,并利用DBSCAN对单个阶段的事件表示进行聚类,得到不同攻击阶段的攻击社区;
由于APT攻击涉及多个阶段,每个阶段的时间间隔都不同,并且大多时间间隔很长。因此本发明为了还原攻击场景会先对单一阶段的攻击事件进行聚类。即将历史时间窗口δ选择的较小,从而将单个阶段的攻击事件进行聚类。本发明实施例的聚类方法使用Dbscan,不需要预先设置聚类中心的个数,可以实现对于单个阶段的攻击事件的聚类。
步骤S52:在每个攻击社区进行游走,以向量表示之间的距离作为权重,生成每个攻击社区的攻击者最有可能利用的N条路径;
聚类之后为了刻画不同攻击社区之间的因果关系,会为每个攻击社区总结一条攻击者可能利用的路径。找到攻击社区中的入口(起点入度为0的边),以事件向量表示之间的负欧式距离,作为相似度,设定阈值ε,每次选择相似度大于ε且相似度最大的边进行游走。可以为每个聚类社区总结出来N条攻击者能利用的路径。
步骤S53:关联各个阶段的攻击社区,重现攻击场景。
图3展示了重现的攻击场景的结果图,其中箭头标识出的为告警事件,虚线表示攻击事件。
根据每个单个阶段攻击社区中的路径,找到不同阶段的路径当中的起点和终点存在关联的路径,即找到一个阶段中的一条路径的终点作为另一个阶段的一条路径的起点,或是一个阶段中的一条路径的起点作为另一个阶段的一条路径的终点。将这样的路径进行合并,从而拼接出攻击者完整的攻击路径,重现攻击场景。
本发明公开了一种基于动态图嵌入的多步攻击场景构建方法,对溯源图的边向量化,并提出了于因果信息流的邻居边采样方法,在采样过程中设计了邻居边的评分机制,可以有效的区分正常的行为和攻击行为。
本发明的动态图嵌入采用时序卷积聚合函数,可捕捉溯源图中的时序关系,有效保留邻居边之间的时序关系。
本发明针对于APT攻击不同阶段时间跨度大、单个阶段时间跨度小、难以选择合适时间窗口进行关联的问题。本发明采用较小时间窗口训练动态图嵌入模型,从而聚类单个阶段的攻击社区,并生成每个社区的攻击路径。再通过不同社区路径间的关联从而重现攻击场景。
实施例二
如图4所示,本发明实施例提供了一种基于动态图嵌入的多步攻击场景构建系统,包括下述模块:
构建溯源图模块61,用于根据网络流量日志和主机端的审计日志抽取事件Event,其中,事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据事件构建原始溯源图G′=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time;
修剪溯源图模块62,用于基于事件的起点,终点和事件的时间顺序构建因果信息流,对原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G;
邻居边采样模块63,用于基于因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,邻居边队列包括:原因邻居边队列X和结果邻居边队列Y;
生成事件向量表示模块64,用于构建时序卷积聚合函数,提取事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成溯源图G中所有事件的向量表示;
重现攻击场景模块65,用于基于事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (6)

1.一种基于动态图嵌入的多步攻击场景构建方法,其特征在于,包括:
步骤S1:根据网络流量日志和主机端的审计日志抽取事件Event,其中,所述事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据所述事件构建原始溯源图G'=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time;
步骤S2:基于所述事件的起点,终点和事件的时间顺序构建因果信息流,对所述原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G;
步骤S3:基于所述因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,所述邻居边队列包括:原因邻居边队列X和结果邻居边队列Y;
步骤S4:构建时序卷积聚合函数,提取所述事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成所述溯源图G中所有事件的向量表示;
步骤S5:基于所述事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的所述攻击路径,重现攻击场景。
2.根据权利要求1所述的基于动态图嵌入的多步攻击场景构建方法,其特征在于,所述步骤S2:基于所述事件的起点,终点和事件的时间顺序构建因果信息流,对所述原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G,具体包括:
步骤S21:设有两个事件对应的边分别为:
Figure FDA0003820832260000011
Figure FDA0003820832260000012
其中,a、b分别为边
Figure FDA0003820832260000013
的起点和终点,b、c分别为边
Figure FDA0003820832260000014
的起点和终点;则b作为
Figure FDA0003820832260000015
的终点,也同时作为
Figure FDA0003820832260000016
的起点,并且t1<t2,则认为
Figure FDA0003820832260000017
Figure FDA0003820832260000018
之间存在因果关系;将
Figure FDA0003820832260000019
这样的两条边称为因果信息流;
步骤S22:删除原始溯源图G'中起点入度和终点的出度都为0的边;
步骤S23:删除构成环路的边,得到修剪后的溯源图G。
3.根据权利要求2所述的基于动态图嵌入的多步攻击场景构建方法,其特征在于,所述步骤S3:基于所述因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,所述邻居边队列包括:原因邻居边队列X和结果邻居边队列Y,具体包括:
步骤S31:从所述溯源图G中选择与待采样边
Figure FDA00038208322600000110
中存在因果信息流的边作为候选邻居边,其中,所述候选邻居边为下述两种边之一:
1)原因邻居边:发生在t1时刻之前的事件,并且事件的终点为a:
Figure FDA00038208322600000111
Figure FDA0003820832260000021
2)结果邻居边:发生在t1时刻之后的事件,并且事件的起点为b:
Figure FDA0003820832260000022
Figure FDA0003820832260000023
其中,t1是待采样边
Figure FDA0003820832260000024
的产生时间,t2
Figure FDA0003820832260000025
的邻居边的产生时间,x是事件的起点,y是事件的终点;δ是表示历史时间窗口的大小;
得到待采样边
Figure FDA0003820832260000026
的候选邻居边集合
Figure FDA0003820832260000027
其中,每条候选邻居边满足条件
Figure FDA0003820832260000028
或者
Figure FDA0003820832260000029
Figure FDA00038208322600000210
步骤S32:计算待采样边
Figure FDA00038208322600000211
的候选邻居边的可疑性评分;
Figure FDA00038208322600000212
Figure FDA00038208322600000213
其中,O(ΔH)表示所有候选邻居边出现次数,N为所有候选邻居边的个数,
Figure FDA00038208322600000214
表示在在满足条件
Figure FDA00038208322600000215
的邻居边中
Figure FDA00038208322600000216
的出现次数,
Figure FDA00038208322600000217
表示在在满足条件
Figure FDA00038208322600000218
的邻居边中
Figure FDA00038208322600000219
的出现次数,
Figure FDA00038208322600000220
表示节点在t1之前的入度,
Figure FDA00038208322600000221
表示节点在t1之后的出度;
步骤S33:选择可疑性评分最高的M个候选邻居边加入邻居边队列;
步骤S34:从所述邻居边队列中取出队首元素,继续进行步骤S31~S33,直到所述邻居边队列长度达到预设的长度H,其中,所述邻居边队列包括:长度为H的原因邻居边队列X和长度为H的结果邻居边队列Y。
4.根据权利要求3所述的基于动态图嵌入的多步攻击场景构建方法,其特征在于,所述步骤S4:构建时序卷积聚合函数,提取所述事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成所述溯源图G中所有事件的向量表示,具体包括:
步骤S41:随机初始化溯源图G中的事件表示矩阵Zold和当前时刻的事件表示矩阵Znew
Figure FDA00038208322600000222
Figure FDA0003820832260000031
其中,l是向量表示的长度,n是溯源图G中的事件个数;
步骤S42:利用因果卷积构建时序卷积聚合函数TCNAggregate,将Zold和Znew进行聚合,得到当前时刻的事件表示矩阵,并更新Znew
Figure FDA0003820832260000032
Figure FDA0003820832260000033
其中,d是步长,s是当前的位置,k是卷积核的大小,f1(i)和f2(i)分别表示原因邻居边的因果卷积核和结果邻居边的因果卷积核的权重;Zold(xs-d·i)表示距离当前事件位置的d*i个邻居事件的向量表示,y'表示所述结果邻居边队列Y的倒序表示;Concat表示向量的连接,σ表示全连接层;
步骤S43:将所述邻居边队列中的边作为正样本,所述溯源图G中其余边作为候选负样本,对所述候选负样本进行随机采样,并根据所述候选负样本出现次数的分布
Figure FDA0003820832260000034
构建负样本;
步骤S44:构建损失函数loss,用于训练动态图嵌入模型;
Figure FDA0003820832260000035
其中,k表示负样本的个数,σ表示Sigmoid激活函数,xi表示第i个事件的向量表示,xj表示第j个正样本的向量表示,x'j表示第j个负样本的向量表示,||.||2表示两个向量之间的距离,
Figure FDA0003820832260000036
表示负样本集合x'的采样服从Pn(x')的分布。
5.根据权利要求3所述的基于动态图嵌入的多步攻击场景构建方法,其特征在于,所述步骤S5:基于所述事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景,具体包括:
步骤S51:根据预设的时间窗口δ训练动态图嵌入模型,并利用DBSCAN对单个阶段的事件表示进行聚类,得到不同攻击阶段的攻击社区;
步骤S52:在每个所述攻击社区进行游走,以向量表示之间的距离作为权重,生成每个所述攻击社区的攻击者最有可能利用的N条路径;
步骤S53:关联各个阶段的所述攻击社区,重现攻击场景。
6.一种基于动态图嵌入的多步攻击场景构建系统,其特征在于,包括下述模块:
构建溯源图模块,用于根据网络流量日志和主机端的审计日志抽取事件Event,其中,所述事件Event由一个三元组构成:Event=(Sub,Obj,Time),Sub表示事件的起点,Obj表示事件的终点,Time表示事件的发生时间,并根据所述事件构建原始溯源图G'=(V,E,T),其中,点V∈(Sub∪Obj),边E∈Event,边的时间戳T∈Time;
修剪溯源图模块,用于基于所述事件的起点,终点和事件的时间顺序构建因果信息流,对所述原始溯源图进行剪枝,消除无效的因果关系,得到修剪后的溯源图G;
邻居边采样模块,用于基于所述因果信息流,对溯源图G进行邻居边采样,构建长度为H的邻居边队列,其中,所述邻居边队列包括:原因邻居边队列X和结果邻居边队列Y;
生成事件向量表示模块,用于构建时序卷积聚合函数,提取所述事件之间的时序关系,用于生成当前时刻的事件表示,训练动态图嵌入模型,生成所述溯源图G中所有事件的向量表示;
重现攻击场景模块,用于基于所述事件的向量表示,对单个阶段的事件进行聚类,生成可疑攻击路径;关联不同阶段的攻击路径,重现攻击场景。
CN202211040616.2A 2022-08-29 2022-08-29 一种基于动态图嵌入的多步攻击场景构建方法及系统 Active CN115378733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211040616.2A CN115378733B (zh) 2022-08-29 2022-08-29 一种基于动态图嵌入的多步攻击场景构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211040616.2A CN115378733B (zh) 2022-08-29 2022-08-29 一种基于动态图嵌入的多步攻击场景构建方法及系统

Publications (2)

Publication Number Publication Date
CN115378733A true CN115378733A (zh) 2022-11-22
CN115378733B CN115378733B (zh) 2024-06-11

Family

ID=84070453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211040616.2A Active CN115378733B (zh) 2022-08-29 2022-08-29 一种基于动态图嵌入的多步攻击场景构建方法及系统

Country Status (1)

Country Link
CN (1) CN115378733B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115622802A (zh) * 2022-12-02 2023-01-17 北京志翔科技股份有限公司 攻击溯源方法、装置、设备和存储介质
CN115632888A (zh) * 2022-12-22 2023-01-20 国家工业信息安全发展研究中心 一种基于图算法的攻击路径还原方法及系统
CN115766258A (zh) * 2022-11-23 2023-03-07 西安电子科技大学 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697189B1 (ko) * 2015-08-28 2017-01-17 국방과학연구소 시나리오 기반 사이버 공격 이력 추적 시스템 및 방법
CN113676484A (zh) * 2021-08-27 2021-11-19 绿盟科技集团股份有限公司 一种攻击溯源方法、装置和电子设备
CN114723003A (zh) * 2022-03-25 2022-07-08 南京大学 一种基于时序卷积和关系建模的事件序列预测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697189B1 (ko) * 2015-08-28 2017-01-17 국방과학연구소 시나리오 기반 사이버 공격 이력 추적 시스템 및 방법
CN113676484A (zh) * 2021-08-27 2021-11-19 绿盟科技集团股份有限公司 一种攻击溯源方法、装置和电子设备
CN114723003A (zh) * 2022-03-25 2022-07-08 南京大学 一种基于时序卷积和关系建模的事件序列预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李智宏: "一种基于时间序列的入侵攻击路径溯源算法及实践", 科技创新导报, 21 May 2020 (2020-05-21) *
鲍鹏: "基于图注意力时空神经网络的在线内容流行度预测", 模式识别与人工智能, 15 November 2019 (2019-11-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766258A (zh) * 2022-11-23 2023-03-07 西安电子科技大学 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质
CN115766258B (zh) * 2022-11-23 2024-02-09 西安电子科技大学 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质
CN115622802A (zh) * 2022-12-02 2023-01-17 北京志翔科技股份有限公司 攻击溯源方法、装置、设备和存储介质
CN115632888A (zh) * 2022-12-22 2023-01-20 国家工业信息安全发展研究中心 一种基于图算法的攻击路径还原方法及系统

Also Published As

Publication number Publication date
CN115378733B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
Wang et al. A dynamic MLP-based DDoS attack detection method using feature selection and feedback
CN115378733B (zh) 一种基于动态图嵌入的多步攻击场景构建方法及系统
Vilalta et al. Predicting rare events in temporal domains
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
CN113094707B (zh) 一种基于异质图网络的横向移动攻击检测方法及系统
US20230325497A1 (en) Watermark protection of artificial intelligence model
CN114915479B (zh) 一种基于Web日志的Web攻击阶段分析方法及系统
Wang et al. Res-TranBiLSTM: An intelligent approach for intrusion detection in the Internet of Things
CN110213226A (zh) 基于风险全要素辨识关联的网络攻击场景重建方法及系统
Manganiello et al. Multistep attack detection and alert correlation in intrusion detection systems
CN116074092B (zh) 一种基于异构图注意力网络的攻击场景重构系统
Marchetti et al. Identification of correlated network intrusion alerts
Huang Network Intrusion Detection Based on an Improved Long‐Short‐Term Memory Model in Combination with Multiple Spatiotemporal Structures
CN113225331A (zh) 基于图神经网络的主机入侵安全检测方法、系统及装置
CN116915450A (zh) 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法
Herath et al. Real-time evasion attacks against deep learning-based anomaly detection from distributed system logs
Thangasamy et al. A Novel Framework for DDoS Attacks Detection Using Hybrid LSTM Techniques.
CN111224984A (zh) 一种基于数据挖掘算法的Snort改进方法
Marchetti et al. Framework and models for multistep attack detection
Wang et al. Intrusion detection using few-shot learning based on triplet graph convolutional network
Kidmose et al. Featureless discovery of correlated and false intrusion alerts
Nazih et al. Fast detection of distributed denial of service attacks in VoIP networks using convolutional neural networks
Flores et al. Network anomaly detection by continuous hidden markov models: An evolutionary programming approach
Embarak et al. Deep Learning Fusion for Attack Detection in Internet of Things Communications.
Ferdous et al. Enhancing Cybersecurity: Machine Learning Approaches for Predicting DDoS Attack

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