CN116488941A - 攻击链的检测方法、装置及设备 - Google Patents
攻击链的检测方法、装置及设备 Download PDFInfo
- Publication number
- CN116488941A CN116488941A CN202310722996.6A CN202310722996A CN116488941A CN 116488941 A CN116488941 A CN 116488941A CN 202310722996 A CN202310722996 A CN 202310722996A CN 116488941 A CN116488941 A CN 116488941A
- Authority
- CN
- China
- Prior art keywords
- attack
- node
- nodes
- chain
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000004891 communication Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 6
- 238000012098 association analyses Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000010219 correlation analysis Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000012466 permeate Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种攻击链的检测方法、装置及设备,涉及网络安全技术领域,能够直观展示不同攻击链之间的关联关系,便于攻击链的关联分析。其中方法包括:基于告警日志生成攻击图,该攻击图由节点和连接节点的有向边组成,告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点,然后将攻击图拆分为多个攻击子图,多个攻击子图之间不具有连接边关系,最后利用攻击子图中描述的连接属性特征在攻击子图中检测满足攻击条件的节点,将满足攻击条件的节点连接得到攻击链。
Description
技术领域
本申请涉及网络安全技术领域,尤其是涉及到一种攻击链的检测方法、装置及设备。
背景技术
近年来,计算机系统漏洞的发展速度加快,网络安全状况不同乐观。使用流量检测设备、web应用防护设备作为工具对检测某一时刻从特定源发往特定目标的黑客攻击非常有效,然而,在部署了多台检测设备的较大型网络中,不同检测设备生成的告警日志之间彼此孤立,而孤立的告警日志无法为分析人员提供更加全局的视角,不能够从更高的维度帮助分析人员理解攻击发生的全过程。
相关技术中,使用广度优先算法的攻击链检测技术能够解决不同类型、不同厂商的检测设备生成告警日志之间互相孤立、无法关联的问题,具有很强的应用价值,例如,APT组织的常见攻击手段就是在攻陷某一节点之后,将其作为据点向其他节点渗透,蠕虫病毒的扩散也在攻击链检测的覆盖之下。然而,在大型网络环境下,所有检测设备每天会产生上亿的告警日志,算法很难在短时间要求下将告警日志中隐藏的攻击链检测出来,不利于攻击链的关联分析。
发明内容
有鉴于此,本申请提供了一种攻击链的检测方法、装置及设备,主要目的在于解决现有技术中算法很难在短时间要求下将告警日志中隐藏的攻击链检测出来,不利于攻击链的关联分析的问题。
根据本申请的第一个方面,提供了一种攻击链的检测方法,包括:
基于告警日志生成攻击图,所述攻击图由节点和连接节点的有向边组成,所述告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点;
将所述攻击图拆分为多个攻击子图,所述多个攻击子图之间不具有连接边关系;
利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
进一步地,所述将所述攻击图拆分为多个攻击子图,具体包括:
检测所述攻击图中的连通分量,所述连通分量为攻击图中节点和边连通的极大子图;
对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量;
使用弱连通分量将所述攻击图拆分为多个攻击子图。
进一步地,所述对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量,具体包括:
在所述攻击图中检测任意两个节点之间的路径;
若任意两点之间存在路径,则将存在路径的至少两个节点组合作为攻击图中包含的弱连通分量。
进一步地,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之前,所述方法还包括:
判断所述攻击链是否要求符合攻击时间顺序,所述攻击时间顺序根据边的开始攻击时间和结束攻击时间确定;
若所述攻击链要求符合边的攻击时间顺序,则所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链,具体包括:
遍历所述攻击子图中的边,判断当前边是否符合攻击时间顺序,所述攻击时间顺序为当所述边的开始攻击时间早于其目标节点的出边中最晚的开始攻击时间;或当所述边的开始攻击时间晚于其源节点的入边中最早的开始攻击时间;
保留符合攻击时间顺序的边,将所述符合攻击时间顺序的边关联的节点连接得到攻击链。
进一步地,若所述攻击链不要求符合攻击时间顺序,则所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链,具体包括:
遍历所述攻击子图中的节点,将包含有入边和出边的节点标记为攻击链上的中间节点;
针对每一个中间节点,遍历所述中间节点的入邻居节点,若所述入邻居节点不存在入边,则将所述入邻居节点标记为攻击链上的起始节点;
针对每一个中间节点,遍历所述中间节点的出邻居节点,若所述出邻居节点不存在出边,则将所述出邻居节点标记为攻击链上的末尾节点;
将所述攻击链上的起始节点、中间节点以及末尾节点连接得到攻击链。
进一步地,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,所述方法还包括:
在所述攻击链上筛选满足设定条件的节点和/或边,根据所述设定条件节点和/或边对所述攻击链进行分析,所述设定条件包括攻击链中最后一跳连接边对应的网络IP属性。
进一步地,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,所述方法还包括:
在所述攻击链上使用广度优先搜索计算每两个节点之间的最短距离,将所述最短距离对应的链路作为所述攻击链上最长的链路。
根据本申请的第二个方面,提供了一种攻击链的检测装置,包括:
生成单元,用于基于告警日志生成攻击图,所述攻击图由节点和连接节点的有向边组成,所述告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点;
拆分单元,用于将所述攻击图拆分为多个攻击子图,所述多个攻击子图之间不具有连接边关系;
检测单元,用于利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
进一步地,所述拆分单元包括:
检测模块,用于检测所述攻击图中的连通分量,所述连通分量为攻击图中节点和边连通的极大子图;
计算模块,用于对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量;
拆分模块,用于使用弱连通分量将所述攻击图拆分为多个攻击子图。
进一步地,所述计算模块,具体用于在所述攻击图中检测任意两个节点之间的路径;若任意两点之间存在路径,则将存在路径的至少两个节点组合作为攻击图中包含的弱连通分量。
进一步地,所述装置还包括:
判断单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之前,判断所述攻击链是否要求符合攻击时间顺序,所述攻击时间顺序根据边的开始攻击时间和结束攻击时间确定;
若所述攻击链要求符合边的攻击时间顺序,则所述检测单元,具体用于遍历所述攻击子图中的边,判断当前边是否符合攻击时间顺序,所述攻击时间顺序为当所述边的开始攻击时间早于其目标节点的出边中最晚的开始攻击时间;或当所述边的开始攻击时间晚于其源节点的入边中最早的开始攻击时间;保留符合攻击时间顺序的边,将所述符合攻击时间顺序的边关联的节点连接得到攻击链。
进一步地,若所述攻击链不要求符合攻击时间顺序,则所述检测单元,具体用于遍历所述攻击子图中的节点,将包含有入边和出边的节点标记为攻击链上的中间节点;针对每一个中间节点,遍历所述中间节点的入邻居节点,若所述入邻居节点不存在入边,则将所述入邻居节点标记为攻击链上的起始节点;针对每一个中间节点,遍历所述中间节点的出邻居节点,若所述出邻居节点不存在出边,则将所述出邻居节点标记为攻击链上的末尾节点;将所述攻击链上的起始节点、中间节点以及末尾节点连接得到攻击链。
进一步地,所述装置还包括:
分析单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,在所述攻击链上筛选满足设定条件的节点和/或边,根据所述设定条件节点和/或边对所述攻击链进行分析,所述设定条件包括攻击链中最后一跳连接边对应的网络IP属性。
进一步地,所述装置还包括:
计算单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,在所述攻击链上使用广度优先搜索计算每两个节点之间的最短距离,将所述最短距离对应的链路作为所述攻击链上最长的链路。
根据本申请的第三个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
根据本申请的第四个方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本申请提供的一种攻击链的检测方法、装置及设备,与目前现有技术中使用广度优先算法进行攻击链的检测方式相比,本申请基于告警日志生成攻击图,该攻击图由节点和连接节点的有向边组成,告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点,然后将攻击图拆分为多个攻击子图,多个攻击子图之间不具有连接边关系,最后利用攻击子图中描述的连接属性特征在攻击子图中检测满足攻击条件的节点,将满足攻击条件的节点连接得到攻击链,整个过程通过将攻击图拆分为多个不具有连接边关系的攻击子图,降低攻击链检测的时间复杂度,进而在低时间复杂度内准确检测出报警日志中隐藏的攻击链,保证了攻击链的检测时效,通过将攻击子图中满足攻击条件的节点形成攻击链,能够直观展示不同攻击链之间的关联关系,便于攻击链的关联分析。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例中攻击链的检测方法的流程示意图;
图2是图1中步骤102的一具体实施方式流程示意图;
图3是图1中步骤103的一具体实施方式流程示意图;
图4是图1中步骤103的另一具体实施方式流程示意图;
图5是本申请另一实施例中攻击链的检测方法的流程框图;
图6是本申请一实施例中攻击链的检测装置的结构示意图;
图7是本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。
相关技术中,使用广度优先算法的攻击链检测技术能够解决不同类型、不同厂商的检测设备生成告警日志之间互相孤立、无法关联的问题,具有很强的应用价值,例如,APT组织的常见攻击手段就是在攻陷某一节点之后,将其作为据点向其他节点渗透,蠕虫病毒的扩散也在攻击链检测的覆盖之下。然而,在大型网络环境下,所有检测设备每天会产生上亿的告警日志,算法很难在短时间要求下将告警日志中隐藏的攻击链检测出来,不利于攻击链的关联分析。
为了解决该问题,本实施例提供了一种攻击链的检测方法,如图1所示,该方法应用于攻击链检测系统对应的服务端,包括如下步骤:
101、基于告警日志生成攻击图。
通常情况下,网络中总是存在一定的安全漏洞,同时这些漏洞之间可能存在一定的关联关系,即当一个漏洞被成功利用后,可能为另一个漏洞的利用创造有利条件,为了能够彻底找出所有的关联关系,最有效的方式就是通过模拟攻击者对存在安全漏洞的网络攻击过程,找到有能够到达目标的攻击路径,同时将这些路径以图的形式表现,形成攻击图。
攻击图是一种基于模型的网络脆弱性评估方法,攻击图能够将网络中各个主机上的脆弱性关联起来进行深入地分析,发现威胁网络安全的攻击路径并用图的方式展现出来。具体可利用目标网络信息和攻击模式生成攻击图,
其中,攻击图由节点和连接节点的有向边组成,该节点表示网络所处的状态,例如,攻击状态、安全状态,节点间的有向边表示网络状态间的转移关系,例如,节点由攻击状态转换为安全状态,在告警日志中一般存在攻击源、攻击目标、攻击开始时间和攻击结束时间,具体可使用攻击源作为边的源节点,攻击目标作为边的目标节点,生成攻击图。这里可以使用Python的第三方图分析模块或图数据库实现攻击图的生成过程。
进一步地,考虑到攻击过程,在基于告警日志生成攻击图的过程中,还需要对网络建模,在建模过程中需要大量关于网络中的与安全相关的信息,如主机配置信息、主机漏洞信息、网络拓扑信息、网络配置信息等,进一步使用相关漏洞库的知识确定网络中存在各个漏洞之间的关系,利用各个漏洞之间的关系确定攻击路径,生成攻击图。
对于本实施例的执行主体可以为攻击链的检测装置或设备,可以配置在攻击链检测系统对应的服务端,通过攻击图能够将众多的节点和边进行整齐有序地排列显示,以方便查看查看攻击过程中的网络状态信息,进而将攻击过程中关键节点和路径描述出来,从而更直观展示攻击者可能发动的攻击顺序和攻击效果。
102、将所述攻击图拆分为多个攻击子图。
可以理解的是,攻击图中并不是所有节点和边都具有连接关系,而是有点和边是独立存在,这里可以根据攻击图中点和边的连接关系,将攻击图拆分为多个攻击子图,以使得多个攻击子图之间不具有连接边关系。
在本实施例中,将攻击图拆分为不相关的攻击子图,由于攻击子图之间一定没有连接边关系,后续可针对每一个攻击子图进行单独分析,避免了不同攻击子图之间的互相干扰。
103、利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
由于攻击子图中边具有连接关系,也就说明,攻击子图中的每个边都会连接至少两个节点,这里攻击子图中描述的连接属性特征可以包括攻击子图中边的属性特征以及边连接节点的属性特征等,这里边的属性特征可以包括边的连接的节点特征、边的攻击时间特征,边连接节点的属性特征可以包括节点的邻居特征,该邻居指的是邻居节点,包括入邻居节点和出邻居节点,例如,入邻居节点的入边或者出邻居节点的出边。
在一种可实现方式中,在攻击子图中检测满足攻击条件的节点的过程中,可以检测攻击子图中边是否符合攻击时间顺序,将符合时间顺序边连接的节点进行连接得到攻击链,还可以是检测攻击子图中节点是否符合攻击链的位置特征,将符合位置特征的节点进行连接得到攻击链,这里位置特征可以包括攻击链的中间位置、起始位置和末尾位置。
本申请实施例提供的攻击链的检测方法,与目前现有技术中使用广度优先算法进行攻击链的检测方式相比,本申请基于告警日志生成攻击图,该攻击图由节点和连接节点的有向边组成,告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点,然后将攻击图拆分为多个攻击子图,多个攻击子图之间不具有连接边关系,最后利用攻击子图中描述的连接属性特征在攻击子图中检测满足攻击条件的节点,将满足攻击条件的节点连接得到攻击链,整个过程通过将攻击图拆分为多个不具有连接边关系的攻击子图,降低攻击链检测的时间复杂度,进而在低时间复杂度内准确检测出报警日志中隐藏的攻击链,保证了攻击链的检测时效,通过将攻击子图中满足攻击条件的节点形成攻击链,能够直观展示不同攻击链之间的关联关系,便于攻击链的关联分析。
具体地,在上述实施例中,如图2所示,步骤102包括如下步骤:
201、检测所述攻击图中的连通分量。
202、对攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量。
203、使用弱连通分量将所述攻击图拆分为多个攻击子图。
通常情况下,攻击图为有向图,攻击图中的连通分量为能够互相连接达到节点和边组成的分量,这里可以包括强连通分量和弱连通分量,强连通分量为有向图中某个点集中的节点互相能够达到的分量,弱连通分量为有向图中任一两个节点至少一方能够达到另一方。
在一种可实现的方式中,具体对攻击图进行弱连通分量计算过程中,可以在攻击图中检测任意两个节点之间的路径,若任意两点之间存在路径,则将存在路径的至少两个节点组合作为攻击图中包含的弱连通分量,相应的,若任意两点之间存在双向路径,则将存在路径的至少两个节点组合作为攻击图中包含的强连通分量。
进一步地,在上述实施例中,步骤103之前,还包括如下步骤:
判断所述攻击链是否要求符合攻击时间顺序,这里攻击时间顺序根据边的开始攻击时间和结束攻击时间确定。
例如,某一节点连接边的开始攻击时间早于另一节点连接边中最晚的开始攻击时间,或者某一节点连接边的开始攻击时间晚于另一节点连接边中最早开始攻击时间。
具体地,在上述实施例中,如图3所示,若所述攻击链要求符合边的攻击时间顺序,则步骤103包括如下步骤:
301、遍历所述攻击子图中的边,判断当前边是否符合攻击时间顺序。
302、保留符合攻击时间顺序的边,将所述符合攻击时间顺序的边关联的节点连接得到攻击链。
其中,攻击时间顺序可以是当边的开始攻击时间早于其目标节点的出边中最晚的开始攻击时间,或当边的开始攻击时间晚于其源节点的入边中最早的开始攻击时间,这里符合攻击时间顺序的边关联的节点即为攻击链上的节点,通过连接节点可得到攻击链。由于节点可能会关联多个入边,同时关联多个出边,每个入边和出边都有不同的开始攻击时间和结束攻击时间,通过比对目标节点的多个的开始攻击时间,可确定出边中最晚的开始攻击时间,同理,通过比对源节点的多个入边的开始攻击时间,可以确定入边中最早的开始攻击时间。
在本实施例中,节点的出边为节点连接且指向其他节点的边,此时节点为源节点,其他节点为目标节点,节点的入边为节点连接且被其他节点指向的边,此时节点为目标节点,其他节点为源节点 。例如,节点A连接节点B连接节点C,节点A指向节点B,节点B指向节点C,节点A还连接节点D、节点E和节点F且被三个节点指向,节点C还连接节点G和节点H且指向两个节点,此时,对于节点A和节点B连接的边,节点A为源节点,节点A的入边包括与节点D、节点E和节点F连接的边,对于节点B和节点C连接的边,节点C为目标节点,节点C的出边包括与节点G和节点H连接的边。
具体地,在上述实施例中,如图4所示,若所述攻击链不要求符合攻击时间顺序,则步骤103包括如下步骤:
401、遍历所述攻击子图中的节点,将包含有入边和出边的节点标记为攻击链上的中间节点。
402、针对每一个中间节点,遍历所述中间节点的入邻居节点,若所述入邻居节点不存在入边,则将所述入邻居节点标记为攻击链上的起始节点。
403、针对每一个中间节点,遍历所述中间节点的出邻居节点,若所述出邻居节点不存在出边,则将所述出邻居节点标记为攻击链上的末尾节点。
404、将所述攻击链上的起始节点、中间节点以及末尾节点连接得到攻击链。
在本实施例中,中间节点的入邻居节点为中间节点连接边上的节点,且连接边由该节点指向中间节点,入邻居节点的入边为指向入邻居节点的边,出邻居节点为中间节点连接边上的节点,且连接边由中间节点指向该节点,出邻居节点的出边为出邻居节点指向的边。
进一步地,为了深入对攻击链进行分析,在检测出攻击链之后,攻击链还可以检测出特殊节点或边,具体可通过在攻击链上筛选满足设定条件的节点和/或边,根据设定条件节点和/或边对攻击链进行分析,这里设定条件包括攻击链中最后一跳连接边对应的网络IP属性,例如,指定攻击链中最后一跳为内网IP连接外网IP的边,指定攻击链中起始节点为外网IP,或者指定攻击链中末尾节点是外网IP。
进一步地,为了在检测出攻击链之后,还可以检测出最长链路,具体可通过在攻击链上使用广度优先搜索计算每两个节点之间的最短距离,将最短距离对应的链路作为所述攻击链上最长的链路,该步骤的时间复杂度理论上为O(n2),不符合工业化实现中O(n)的性能要求,但是n为攻击子图中节点的数量,但由于经过对攻击子图中节点的筛选过程,攻击链上节点数量已经被大量删减,例如,不符合攻击时间顺序的边关联的节点已被删除,此时广度优先搜索的运行时间已经大大缩短,能够满足最长链路的检测时效。
在实际应用场景中,具体攻击链的检测过程如图5所示,首先通过步骤A基于报警日志生成攻击图,攻击图中包含ABCDEFG七个节点,其中节点E为内网IP,节点F为外网IP,经过步骤B将攻击图拆分为两个攻击子图,一个攻击子图包括AB两个节点,另一个攻击子图包括CDEFG五个节点,然后在攻击链需要符合攻击时间要求的情况下,通过步骤C筛选出符合时间顺序的边,在图5中相应边标记有对号,将符合时间顺序的边关联的节点连接形成攻击链,在攻击链不需要符合攻击时间要求的情况下,通过步骤D筛选出满足攻击条件的节点,在图5中相应节点标记有对号,将满足攻击条件的节点连接得到攻击链,最后通过步骤E和步骤F在攻击链中支持选择符合特殊条件的节点或边,以及攻击链上的最长链路,在图5中使用粗线条表示。
进一步的,作为图1-5方法的具体实现,本申请实施例提供了一种攻击链的检测装置,如图6所示,该装置包括:生成单元51、拆分单元51、检测单元53。
生成单元51,用于基于告警日志生成攻击图,所述攻击图由节点和连接节点的有向边组成,所述告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点;
拆分单元52,用于将所述攻击图拆分为多个攻击子图,所述多个攻击子图之间不具有连接边关系;
检测单元53,用于利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
本发明实施例提供的攻击链的检测装置,与目前现有技术中使用广度优先算法进行攻击链的检测方式相比,本申请基于告警日志生成攻击图,该攻击图由节点和连接节点的有向边组成,告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点,然后将攻击图拆分为多个攻击子图,多个攻击子图之间不具有连接边关系,最后利用攻击子图中描述的连接属性特征在攻击子图中检测满足攻击条件的节点,将满足攻击条件的节点连接得到攻击链,整个过程通过将攻击图拆分为多个不具有连接边关系的攻击子图,降低攻击链检测的时间复杂度,进而在低时间复杂度内准确检测出报警日志中隐藏的攻击链,保证了攻击链的检测时效,通过将攻击子图中满足攻击条件的节点形成攻击链,能够直观展示不同攻击链之间的关联关系,便于攻击链的关联分析。
在具体的应用场景中,所述拆分单元52包括:
检测模块,用于检测所述攻击图中的连通分量,所述连通分量为攻击图中节点和边连通的极大子图;
计算模块,用于对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量;
拆分模块,用于使用弱连通分量将所述攻击图拆分为多个攻击子图。
在具体的应用场景中,所述计算模块,具体用于在所述攻击图中检测任意两个节点之间的路径;若任意两点之间存在路径,则将存在路径的至少两个节点组合作为攻击图中包含的弱连通分量。
在具体的应用场景中,所述装置还包括:
判断单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之前,判断所述攻击链是否要求符合攻击时间顺序,所述攻击时间顺序根据边的开始攻击时间和结束攻击时间确定;
若所述攻击链要求符合边的攻击时间顺序,则所述检测单元53,具体用于遍历所述攻击子图中的边,判断当前边是否符合攻击时间顺序,所述攻击时间顺序为当所述边的开始攻击时间早于其目标节点的出边中最晚的开始攻击时间;或当所述边的开始攻击时间晚于其源节点的入边中最早的开始攻击时间;保留符合攻击时间顺序的边,将所述符合攻击时间顺序的边关联的节点连接得到攻击链。
在具体的应用场景中,若所述攻击链不要求符合攻击时间顺序,则所述检测单元53,具体用于遍历所述攻击子图中的节点,将包含有入边和出边的节点标记为攻击链上的中间节点;针对每一个中间节点,遍历所述中间节点的入邻居节点,若所述入邻居节点不存在入边,则将所述入邻居节点标记为攻击链上的起始节点;针对每一个中间节点,遍历所述中间节点的出邻居节点,若所述出邻居节点不存在出边,则将所述出邻居节点标记为攻击链上的末尾节点;将所述攻击链上的起始节点、中间节点以及末尾节点连接得到攻击链。
在具体的应用场景中,所述装置还包括:
分析单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,在所述攻击链上筛选满足设定条件的节点和/或边,根据所述设定条件节点和/或边对所述攻击链进行分析,所述设定条件包括攻击链中最后一跳连接边对应的网络IP属性。
在具体的应用场景中,所述装置还包括:
计算单元,用于在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,在所述攻击链上使用广度优先搜索计算每两个节点之间的最短距离,将所述最短距离对应的链路作为所述攻击链上最长的链路。
需要说明的是,本实施例提供的一种攻击链的检测装置所涉及各功能单元的其它相应描述,可以参考图1-图5中的对应描述,在此不再赘述。
基于上述如图1-图5所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图5所示的攻击链的检测方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1-图5所示的方法,以及图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种攻击链的检测的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图5所示的攻击链的检测方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
在示例性实施例中,参见图7,上述实体设备包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的攻击链的检测方法。
本领域技术人员可以理解,本实施例提供的一种攻击链的检测的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述攻击链的检测的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请通过将攻击图拆分为多个不具有连接边关系的攻击子图,降低攻击链检测的时间复杂度,进而在低时间复杂度内准确检测出报警日志中隐藏的攻击链,保证了攻击链的检测时效,通过将攻击子图中满足攻击条件的节点形成攻击链,能够直观展示不同攻击链之间的关联关系,便于攻击链的关联分析。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种攻击链的检测方法,其特征在于,包括:
基于告警日志生成攻击图,所述攻击图由节点和连接节点的有向边组成,所述告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点;
将所述攻击图拆分为多个攻击子图,所述多个攻击子图之间不具有连接边关系;
利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
2.根据权利要求1所述的方法,其特征在于,所述将所述攻击图拆分为多个攻击子图,具体包括:
检测所述攻击图中的连通分量,所述连通分量为攻击图中节点和边连通的极大子图;
对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量;
使用弱连通分量将所述攻击图拆分为多个攻击子图。
3.根据权利要求2所述的方法,其特征在于,所述对所述攻击图进行弱连通分量计算,得到攻击图中包含的弱连通分量,具体包括:
在所述攻击图中检测任意两个节点之间的路径;
若任意两点之间存在路径,则将存在路径的至少两个节点组合作为攻击图中包含的弱连通分量。
4.根据权利要求1所述的方法,其特征在于,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之前,所述方法还包括:
判断所述攻击链是否要求符合攻击时间顺序,所述攻击时间顺序根据边的开始攻击时间和结束攻击时间确定;
若所述攻击链要求符合边的攻击时间顺序,则所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链,具体包括:
遍历所述攻击子图中的边,判断当前边是否符合攻击时间顺序,所述攻击时间顺序为当所述边的开始攻击时间早于其目标节点的出边中最晚的开始攻击时间;或当所述边的开始攻击时间晚于其源节点的入边中最早的开始攻击时间;
保留符合攻击时间顺序的边,将所述符合攻击时间顺序的边关联的节点连接得到攻击链。
5.根据权利要求4所述的方法,其特征在于,若所述攻击链不要求符合攻击时间顺序,则所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链,具体包括:
遍历所述攻击子图中的节点,将包含有入边和出边的节点标记为攻击链上的中间节点;
针对每一个中间节点,遍历所述中间节点的入邻居节点,若所述入邻居节点不存在入边,则将所述入邻居节点标记为攻击链上的起始节点;
针对每一个中间节点,遍历所述中间节点的出邻居节点,若所述出邻居节点不存在出边,则将所述出邻居节点标记为攻击链上的末尾节点;
将所述攻击链上的起始节点、中间节点以及末尾节点连接得到攻击链。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,所述方法还包括:
在所述攻击链上筛选满足设定条件的节点和/或边,根据所述设定条件节点和/或边对所述攻击链进行分析,所述设定条件包括攻击链中最后一跳连接边对应的网络IP属性。
7.根据权利要求1-5中任一项所述的方法,其特征在于,在所述利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链之后,所述方法还包括:
在所述攻击链上使用广度优先搜索计算每两个节点之间的最短距离,将所述最短距离对应的链路作为所述攻击链上最长的链路。
8.一种攻击链的检测装置,其特征在于,包括:
生成单元,用于基于告警日志生成攻击图,所述攻击图由节点和连接节点的有向边组成,所述告警日志中攻击源作为边的源节点,攻击目标作为边的目标节点;
拆分单元,用于将所述攻击图拆分为多个攻击子图,所述多个攻击子图之间不具有连接边关系;
检测单元,用于利用所述攻击子图中描述的连接属性特征在所述攻击子图中检测满足攻击条件的节点,将所述满足攻击条件的节点连接得到攻击链。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述攻击链的检测方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述攻击链的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310722996.6A CN116488941B (zh) | 2023-06-19 | 2023-06-19 | 攻击链的检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310722996.6A CN116488941B (zh) | 2023-06-19 | 2023-06-19 | 攻击链的检测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116488941A true CN116488941A (zh) | 2023-07-25 |
CN116488941B CN116488941B (zh) | 2023-09-01 |
Family
ID=87214150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310722996.6A Active CN116488941B (zh) | 2023-06-19 | 2023-06-19 | 攻击链的检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116488941B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018071356A1 (en) * | 2016-10-13 | 2018-04-19 | Nec Laboratories America, Inc. | Graph-based attack chain discovery in enterprise security systems |
CN109194693A (zh) * | 2018-10-30 | 2019-01-11 | 福州大学 | 一种网络攻击模式图的生成方法 |
CN110213077A (zh) * | 2019-04-18 | 2019-09-06 | 国家电网有限公司 | 一种确定电力监控系统安全事件的方法、装置及系统 |
US20200143052A1 (en) * | 2018-11-02 | 2020-05-07 | Microsoft Technology Licensing, Llc | Intelligent system for detecting multistage attacks |
US20200201989A1 (en) * | 2018-10-12 | 2020-06-25 | International Business Machines Corporation | Multi-point causality tracking in cyber incident reasoning |
CN112738015A (zh) * | 2020-10-28 | 2021-04-30 | 北京工业大学 | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 |
US20210336971A1 (en) * | 2020-04-23 | 2021-10-28 | Specter Ops, Inc. | System and method for continuous collection, analysis and reporting of attack paths in a directory services environment |
CN113726786A (zh) * | 2021-08-31 | 2021-11-30 | 上海观安信息技术股份有限公司 | 异常访问行为的检测方法、装置、存储介质及电子设备 |
CN114944956A (zh) * | 2022-05-27 | 2022-08-26 | 深信服科技股份有限公司 | 一种攻击链路检测方法、装置、电子设备及存储介质 |
CN115277127A (zh) * | 2022-07-12 | 2022-11-01 | 清华大学 | 基于系统溯源图搜索匹配攻击模式的攻击检测方法及装置 |
-
2023
- 2023-06-19 CN CN202310722996.6A patent/CN116488941B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018071356A1 (en) * | 2016-10-13 | 2018-04-19 | Nec Laboratories America, Inc. | Graph-based attack chain discovery in enterprise security systems |
US20200201989A1 (en) * | 2018-10-12 | 2020-06-25 | International Business Machines Corporation | Multi-point causality tracking in cyber incident reasoning |
CN109194693A (zh) * | 2018-10-30 | 2019-01-11 | 福州大学 | 一种网络攻击模式图的生成方法 |
US20200143052A1 (en) * | 2018-11-02 | 2020-05-07 | Microsoft Technology Licensing, Llc | Intelligent system for detecting multistage attacks |
CN110213077A (zh) * | 2019-04-18 | 2019-09-06 | 国家电网有限公司 | 一种确定电力监控系统安全事件的方法、装置及系统 |
US20210336971A1 (en) * | 2020-04-23 | 2021-10-28 | Specter Ops, Inc. | System and method for continuous collection, analysis and reporting of attack paths in a directory services environment |
CN112738015A (zh) * | 2020-10-28 | 2021-04-30 | 北京工业大学 | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 |
CN113726786A (zh) * | 2021-08-31 | 2021-11-30 | 上海观安信息技术股份有限公司 | 异常访问行为的检测方法、装置、存储介质及电子设备 |
CN114944956A (zh) * | 2022-05-27 | 2022-08-26 | 深信服科技股份有限公司 | 一种攻击链路检测方法、装置、电子设备及存储介质 |
CN115277127A (zh) * | 2022-07-12 | 2022-11-01 | 清华大学 | 基于系统溯源图搜索匹配攻击模式的攻击检测方法及装置 |
Non-Patent Citations (4)
Title |
---|
BEIFENG MAO , JING LIU, YINGXU LAI , MOTONG SUN: "MIF: A multi-step attack scenario reconstruction and attack chains extraction method based on multi-information fusion", 《WEB OF SCIENCE》 * |
HAZEM M. SOLIMAN: "An Optimization Approach to Graph Partitioning for Detecting Persistent Attacks in Enterprise Networks", 《IEEE》 * |
LUKÁŠ SADLEK; PAVEL ČELEDA; DANIEL TOVARŇÁK: "Identification of Attack Paths Using Kill Chain and Attack Graphs", 《IEEE》 * |
琚安康: "基于多源异构数据的定向网络攻击 检测关键技术研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN116488941B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10091218B2 (en) | System and method to detect attacks on mobile wireless networks based on network controllability analysis | |
CN111030986B (zh) | 一种攻击组织溯源分析的方法、装置及存储介质 | |
AU2019216687A1 (en) | Path scanning for the detection of anomalous subgraphs and use of DNS requests and host agents for anomaly/change detection and network situational awareness | |
Moothedath et al. | A game-theoretic approach for dynamic information flow tracking to detect multistage advanced persistent threats | |
US10003985B1 (en) | System and method for determining reliability of nodes in mobile wireless network | |
CN113315742B (zh) | 攻击行为检测方法、装置及攻击检测设备 | |
EP2517437A1 (en) | Intrusion detection in communication networks | |
CN103891331A (zh) | 移动风险评估 | |
CN110380925B (zh) | 一种网络设备探测中端口选择方法及系统 | |
CN114024884B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
Zali et al. | Real-time attack scenario detection via intrusion detection alert correlation | |
CN110730128B (zh) | 信息传播路径的处理方法、装置、电子设备、存储介质 | |
Lu et al. | MDS-based wormhole detection using local topology in wireless sensor networks | |
Madhu et al. | IoT Network Attack Severity Classification | |
CN116488941B (zh) | 攻击链的检测方法、装置及设备 | |
US10187404B2 (en) | System and method for detecting attacks on mobile ad hoc networks based on network flux | |
CN116208416A (zh) | 一种工业互联网的攻击链路挖掘方法及系统 | |
CN110381016A (zh) | Cc攻击的防护方法及装置、存储介质、计算机设备 | |
CN105915513B (zh) | 云系统中组合服务的恶意服务提供者的查找方法和装置 | |
Alam et al. | Helping secure robots in WSN environments by monitoring WSN software updates for intrusions | |
CN114760216A (zh) | 一种扫描探测事件确定方法、装置及电子设备 | |
US11184369B2 (en) | Malicious relay and jump-system detection using behavioral indicators of actors | |
Hussain et al. | Detection of black hole attack in GPCR VANET on road network | |
WO2016204839A2 (en) | System and method to detect attacks on mobile wireless networks based on network controllability analysis | |
CN114157713B (zh) | 一种捕获隐藏服务流量的方法和系统 |
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 |