CN110572409B - 工业互联网的安全风险预测方法、装置、设备及存储介质 - Google Patents
工业互联网的安全风险预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110572409B CN110572409B CN201910870521.5A CN201910870521A CN110572409B CN 110572409 B CN110572409 B CN 110572409B CN 201910870521 A CN201910870521 A CN 201910870521A CN 110572409 B CN110572409 B CN 110572409B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- attack
- host
- predicted
- current
- 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
Links
Images
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/1433—Vulnerability analysis
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)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种工业互联网的安全风险预测的方法、装置、电子设备及存储介质,方法包括:基于预先设置的主机探查方法,生成主机探查列表;在已有的漏洞库中,查找各个主机存在的服务和/或通信协议的漏洞和漏洞描述信息;基于各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;建立攻击规则库;以重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成攻击图;根据各个漏洞的基本攻击概率和攻击图,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。可见,应用本发明实施例,不像相关技术使用传统漏洞扫描工具对互联网中的设备进行漏洞检测,可以在不影响网络运行的基础上,预测工业互联网的安全风险。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种工业互联网的安全风险预测的方法、装置、设备及存储介质。
背景技术
工业互联网是工业***与高级计算、分析、感应技术以及互联网连接融合的结果,互联网技术促进了用户和工业设备之间的信息互换,但同时为工业互联网带来了许多安全问题。与工业互联网相关联的漏洞数量逐年增加,这些漏洞容易被黑客利用,危害工业互联网的安全,使得工业设备损坏以及工控***瘫痪,影响民众生活。
目前,相关技术中通常使用传统漏洞扫描工具对互联网中的设备进行漏洞检测,从而对网络设备的安全进行风险预测。然而工业互联网***中通常会要求工业设备不间断运行,由于在漏洞检测时可能会使设备无法正常使用,因此,这种方式不适合在工业互联网***中使用。
因此,目前急需一种工业互联网的安全风险预测的方法,以在不影响网络运行的基础上,预测工业互联网的安全风险,进而提高工业互联网的安全性。
发明内容
本发明实施例的目的在于提供工业互联网的安全风险预测的方法、装置、设备及存储介质,以在不影响网络运行的基础上,预测工业互联网的安全风险。具体技术方案如下:
第一方面,本发明提供一种工业互联网的安全风险预测的方法,所述方法包括:
基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;
基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;
基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;
将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;
获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;
基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;
按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;
基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;
根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
第二方面,本发明提供一种工业互联网的安全风险预测的装置,所述装置包括:
主机探查列表生成单元,用于基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;
漏洞和漏洞描述信息查找单元,用于基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;
漏洞基本分数获取单元,用于基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;
保存单元,用于将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;
获取单元,用于获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;
攻击规则库建立单元,用于基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;
攻击图生成单元,用于按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;
基本攻击概率计算单元,用于基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;
累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径获取单元,用于根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
第三方面,本发明提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一工业互联网的安全风险预测的方法步骤。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行上述任一工业互联网的安全风险预测方法的步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的工业互联网的安全风险预测的方法。
本发明实施例提供的工业互联网的安全风险预测的方法、装置、电子设备及存储介质,可以先生成待预测的工业互联网中的各个主机的主机探查列表,基于主机探查列表,以重要主机对应的待预测漏洞为起始漏洞攻击节点逆向生成攻击图,再根据攻击图计算获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径,不像相关技术使用传统漏洞扫描工具对互联网中的设备进行漏洞检测,因此,应用本发明实施例,在不影响网络运行的基础上,预测了工业互联网的安全风险。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的工业互联网的安全风险预测的方法的一种流程图;
图2为本发明实施例提供的图1中步骤S107生成攻击图的一种具体流程图;
图3为本发明实施例提供的一种对攻击图进行优化的方法的流程图;
图4为本发明实施例提供的攻击图的示例;
图5为本发明实施例提供的工业互联网的安全风险预测的装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了在不影响网络运行的基础上,预测工业互联网的安全风险,本发明实施例提供了一种工业互联网的安全风险预测的方法、装置、设备及存储介质。
本发明实施例所提供的工业互联网的安全风险预测的方法可以应用于任意需要对工业互联网的安全风险预测的电子设备,如:电脑或移动终端等,在此不做具体限定。为了描述方便,以下简称电子设备。
参见图1,为本发明实施例提供的工业互联网的安全风险预测的方法,如图1所示,该方法的具体处理流程可以包括:
步骤S101,基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议。
可实施的,可以使用主机探查工具namp工具,向待预测的工业互联网中的各个待预测主机发送报文,待预测主机返回报文至与待预测的工业互联网中的各个待预测主机通信连接的电子设备,该电子设备从报文中获取目标字段,跟主机探查的库进行比对,生成主机探查列表。
可实施的,可以基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查信息;并获取人工补充的待预测的工业互联网中未探测到的主机信息;根据所述主机探查信息和所述未探测到的主机信息生成主机探查列表;根据预设的各个主机的重要性权重值确定出主机探查列表中的重要主机和非重要主机。
可实施的,该重要性权重值是用户设定的,可以根据待预测的工业互联网中用户想要重点保护的主机和主机中包含的漏洞的多少而设定的,例如主机中资料较重要则会想要重点保护该主机,主机中存在较多的漏洞也会想要重点保护该主机,该主机的重要性权重值就会设置较大数值,重要性权重值的取值范围为0到1之间。
步骤S102,基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果。
所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同。
可实施的,可以将所述主机探查列表中的主机的型号、主机的版本号、服务和/或通信协议作为关键字,在已有的漏洞库中,采用模糊匹配的方法,查找所述关键字,分别获取对应的漏洞及漏洞描述信息,获得各个主机存在的漏洞和对应的漏洞描述信息。
步骤S103,基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数。
可实施的,可以基于所述各个漏洞,在已有的漏洞评分***中获取攻击距离Attack Vector、攻击复杂性Attack Complexity、特权Privileges Required和用户交互User Interaction作为漏洞的基本分数。
步骤S104,将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表。
可实施的,所述主机可以包括主机的型号和主机的版本号。
可实施的,所述主机威胁列表还可以包括主机编号、漏洞编号以及是否为重要主机的信息。
可实施的,一种主机威胁列表的示例可以如表一所示:
表一
在表一中,型号1、版本号1的主机的编号为PLC1,对应服务和/或通信协议1,无待预测漏洞,无漏洞编号,是重要主机;型号2、版本号2的主机的编号为PLC2,对应服务和/或通信协议2,无待预测漏洞,无漏洞编号,不是重要主机;型号3、版本号3的主机的编号为IP1,对应服务和/或通信协议3,包含待预测漏洞1,待预测漏洞2,待预测漏洞3,漏洞编号分别为v1,v2,v3,是重要主机,其它各个数据的含义以此类推,在这里不再详细描述。
步骤S105,获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限。
步骤S106,基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果。
可实施的,与上述表一相对应,一种攻击规则库表的示例可以如表二所示:
表二
漏洞的前提条件 | 漏洞 | 漏洞被利用后产生的结果 |
获得IP1的权限2 | v1 | 获得PLC2的权限1 |
获得IP1的权限3 | v2 | 获得IP1的权限2 |
获得IP1的权限4 | v3 | 获得IP1的权限3 |
获得IP1的权限4 | v4 | 获得IP3的权限4 |
获得IP3的权限4 | v5 | 获得IP1的权限7 |
获得IP3的权限4 | v6 | 获得IP4的权限5 |
如表二所示:漏洞v1被利用的前提条件为:获得IP1的权限2,被利用后产生的结果为:获得PLC2的权限1;漏洞v2被利用的前提条件为:获得IP1的权限3,被利用后产生的结果为:获得IP1的权限2;漏洞v3被利用的前提条件为:获得IP1的权限4,被利用后产生的结果为:获得IP1的权限3;漏洞v4被利用的前提条件为:获得IP1的权限4,被利用后产生的结果为:获得IP3的权限4;漏洞v5被利用的前提条件为:获得IP3的权限4,被利用后产生的结果为:获得IP1的权限7;漏洞v6被利用的前提条件为:获得IP3的权限4,被利用后产生的结果为:获得IP4的权限5。
步骤S107,按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图。
所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系。
步骤S108,基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率。
可实施的,可以将所述攻击距离Attack Vector、攻击复杂性Attack Complexity、特权Privileges Required和用户交互User Interaction相乘,将相乘计算的结果,作为攻击图中各个漏洞攻击节点的基本攻击概率。
可实施的,在计算出基本攻击概率之后,可以按照对攻击图进行优化的方法,以获得不包含环路的攻击图。
步骤S109,根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
可实施的,可以按照如下公式计算各个漏洞的基本攻击概率:
Pij=AV×AC×PR×UI;其中,Pij为漏洞的基本攻击概率,AV为漏洞基本分数中的攻击距离,AC为漏洞基本分数中的攻击复杂性,PR为漏洞基本分数中的特权,UI为漏洞基本分数中的用户交互;
所述根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个攻击节点基于其对应主机的重要性权重值的攻击概率和每一条攻击路径的攻击概率,获取攻击概率最大的攻击节点和攻击概率最大的攻击路径的步骤,包括:
按如下公式,基于所所述各个漏洞的基本攻击概率和所述攻击图,每一条攻击路径的攻击概率,获取攻击概率最大的攻击路径:
其中,i为攻击路径,j为漏洞攻击节点,k表示有k条攻击路径,ki表示每条攻击路径上有ki个主机,lij为主机的重要性权重值,Pi为每一条攻击路径的攻击概率;
按如下公式,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率,获取累计攻击概率最大的漏洞攻击节点:
其中,i为攻击路径,j为漏洞攻击节点,m表示有m个漏洞攻击节点,mj表示每个漏洞攻击节点经过的攻击路径为mj个,lij为主机的重要性权重值,Qj为每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率。
可见,应用本发明实施例,可以先生成待预测的工业互联网中的各个主机的主机探查列表,基于主机探查列表,以重要主机对应的待预测漏洞为起始漏洞攻击节点逆向生成攻击图,再根据攻击图计算获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径,不像相关技术使用传统漏洞扫描工具对互联网中的设备进行漏洞检测,因此,应用本发明实施例,在不影响网络运行的基础上,预测了工业互联网的安全风险。
而且,在本实施例中,根据预设的各个主机的重要性权重值确定出重要主机和非重要主机,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图,生成攻击图的速度较快。同时,基于对应主机的重要性权重值计算每一个漏洞攻击节点的累计攻击概率和每一条攻击路径的攻击概率,因为主机越重要,主机包含漏洞越多,主机的重要性权重值就越大,所以引入重要性权重值进行计算更客观。
具体的,图1所示实施例中步骤S107的具体实现过程,可以参见图2,图2为图1所示实施例中步骤S107生成攻击图的一种具体流程图,包括:
步骤S201,从主机威胁列表中获取一个重要主机对应的当前待预测漏洞作为当前漏洞攻击节点。
步骤S202,判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果。
可实施的,如果当前待预测漏洞被利用后产生的结果为多个,则对于每一个当前待预测漏洞被利用后产生的当前结果,分别判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的当前结果。
如果判断的结果为是,即主机威胁列表中有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果,则执行步骤S203;如果判断的结果为否,即主机威胁列表中没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果,则执行步骤S208。
步骤S203,将所述当前待预测漏洞作为当前第一攻击节点,将所述当前待预测漏洞被利用后产生的结果作为当前第一状态节点,生成所述当前第一攻击节点指向所述当前第一状态节点的边。
可实施的,将每一个当前待预测漏洞被利用后产生的结果作为每一个当前第一状态节点,分别生成所述当前第一攻击节点指向每一个当前第一状态节点的边。
步骤S204,判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件。
可实施的,如果保存在攻击规则库中的当前待预测漏洞被利用的前提条件为多个,则对于每一个当前待预测漏洞被利用的当前前提条件,分别判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的当前前提条件。
如果判断的结果为是,即主机威胁列表中有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则执行步骤S205;如果判断的结果为否,即主机威胁列表中没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则执行步骤S208。
步骤S205,将所述当前待预测漏洞被利用的前提条件作为当前第二状态节点,生成所述当前第二状态节点指向所述当前第一攻击节点的边。
可实施的,将每一个当前待预测漏洞被利用的前提条件作为每一个当前第二状态节点,分别生成所述当前第二状态节点指向每一个当前第一攻击节点的边。
步骤S206,判断是否有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件。
可实施的,如果当前待预测漏洞被利用的前提条件为多个,则对于每一个当前待预测漏洞被利用的当前前提条件,分别判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的每一个当前待预测漏洞被利用的当前前提条件。
如果判断的结果为是,即有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则执行步骤S207;如果判断的结果为否,即没有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则执行步骤S208。
步骤S207,将所述另一个待预测漏洞作为当前第一攻击节点,生成所述当前第一攻击节点指向所述当前第二状态节点的边,将所述另一个待预测漏洞作为当前待预测漏洞。返回执行步骤S204。
可实施的,将每一个另一个待预测漏洞作为每一个当前第一攻击节点,分别生成每一个当前第一攻击节点指向对应的当前第二状态节点的边,将每一个另一个待预测漏洞作为每一个当前待预测漏洞。
步骤S208,判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞。
如果判断的结果为是,即所述主机威胁列表中包含未被获取的重要主机对应的待预测漏洞,则返回执行步骤S201;如果判断的结果为否,即所述主机威胁列表中不包含未被获取的重要主机对应的待预测漏洞,则执行步骤S209。
步骤S209,判断主机威胁列表中是否包含未被获取的非重要主机对应的待预测漏洞。
如果判断的结果为是,即主机威胁列表中包含未被获取的非重要主机对应的待预测漏洞,则执行步骤S210;如果判断的结果为否,即主机威胁列表中不包含未被获取的非重要主机对应的待预测漏洞,则执行步骤S211。
步骤S210,从主机威胁列表中获取一个非重要主机对应的一个待预测漏洞作为当前待预测漏洞。返回执行步骤S202。
步骤S211,确定攻击图生成完成。
在本实施例中,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图,因为重要主机包含漏洞较多,所以生成攻击图的速度较快。
可实施的,按照图2的流程生成攻击图后,可以按照对攻击图进行优化的方法,以获得不包含环路的攻击图,具体的,可以参见图3,图3为一种对攻击图进行优化的方法的流程图,可以包括:
步骤S301,判断攻击图中是否存在环路;所述环路为当前待预测漏洞被利用后产生的结果作为其它漏洞被利用的前提条件被其它漏洞利用后,又作为所述当前待预测漏洞被利用的前提条件的情况。
可实施的,获得环路的方式可以按照压入栈的方式。将攻击图的入口节点加入到根节点数组中,所述入口节点为只有其指向其它节点的边,而无其它任何指向该入口节点的边。
将所述入口节点作为根节点,从所述根节点开始进行深度优先遍历,不断访问子节点,将访问到的子节点进行标记并压入栈,直到不存在子节点,或访问的子节点在栈中已经存在为止。当子节点在栈中已经存在时,此时栈中储存了一个环路,对环路中每一个漏洞攻击节点计算基本攻击概率P=AV×AC×PR×UI,获取每个环路中基本攻击概率最小的漏洞攻击节点作为该环路的目标节点;删除在所述环路中所述目标节点指向所述环路中的状态节点的有向边。
在遍历时,当不存在子节点时则进行回溯,将栈中节点出栈,查询新的未被访问的子节点重复上述深度优先遍历过程。当以该入口根节点为起始点的遍历完成,从下一个新的入口节点开始按上述方法遍历。直到所有的入口根节点全都遍历完,得到一个无环的攻击图。
如果判断的结果为是,即所述攻击图中存在环路,则执行步骤S302;如果判断的结果为否,即所述攻击图中不存在环路,则执行步骤S305。
步骤S302,获取所述攻击图中的每个环路。
步骤S303,获取每个环路中基本攻击概率最小的漏洞攻击节点作为该环路的目标节点。
可实施的,计算一个环路中的基本攻击概率最小的漏洞攻击节点,作为所述环路的目标节点;当有多个环路时,获取每个环路的各个目标节点。
步骤S304,删除在所述环路中所述目标节点指向所述环路中的状态节点的有向边。
可实施的,删除每个环路中的目标节点指向环路中的状态节点的有向边。
步骤S305,获得优化完成的攻击图。
在本实施例中,可以消除攻击图中的环路,在获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径时,计算结果更准确。
可实施的,按照图2所述生成攻击图的方法,生成与上述表一和表二相对应的攻击图的示例可以如图4所示,包括:
从主机威胁列表中获取任一个重要主机对应的当前待预测漏洞v1,将v1作为当前漏洞攻击节点;判断主机威胁列表中是否有服务和/或通信协议满足v1被利用后产生的获得PLC2的权限1这个后结果,有服务和/或通信协议满足v1被利用后产生的后结果,生成v1指向获得PLC2的权限1的有向边;判断是否有服务和/或通信协议满足v1被利用的获得IP1的权限2这个前提条件,有服务和/或通信协议满足v1被利用的前提条件,生成获得IP1的权限2指向v1的有向边。判断是否有另一个待预测漏洞被利用后产生的结果等于v1被利用的前提条件,判断出v2满足,则生成v2指向获得IP1的权限2的有向边。
判断是否有服务和/或通信协议满足v2被利用的获得IP1的权限3这个前提条件,有服务和/或通信协议满足v2被利用的前提条件,生成获得IP1的权限3指向v2的有向边;判断是否有另一个待预测漏洞被利用后产生的结果等于v2被利用的前提条件,判断出v3满足,则生成v3指向获得IP1的权限3的有向边;判断是否有服务和/或通信协议满足v3被利用的获得IP1的权限4这个前提条件,判断出无服务和/或通信协议满足v3被利用的获得IP1的权限4这个前提条件,则判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞,判断出有,则任取一个未被获取的重要主机对应的待预测漏洞v4,将v4作为当前漏洞攻击节点。
判断主机威胁列表中是否有服务和/或通信协议满足v4被利用后产生的获得IP3的权限4这个后结果,有服务和/或通信协议满足v4被利用后产生的后结果,生成v4指向获得IP3的权限4的有向边;判断是否有服务和/或通信协议满足v4被利用的获得IP1的权限4这个前提条件,有服务和/或通信协议满足v4被利用的前提条件,生成获得IP1的权限4指向v4的有向边;判断是否有另一个待预测漏洞被利用后产生的结果等于v4被利用的前提条件,判断出没有待预测漏洞满足,则判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞,判断包含v5,则将v5作为当前漏洞攻击节点。
判断主机威胁列表中是否有服务和/或通信协议满足v5被利用后产生的获得IP1的权限7这个后结果,有服务和/或通信协议满足v5被利用后产生的后结果,生成v5指向获得IP1的权限7的有向边;判断是否有服务和/或通信协议满足v5被利用的获得IP3的权限4这个前提条件,有服务和/或通信协议满足v5被利用的前提条件,生成获得IP3的权限4指向v5的有向边;判断是否有另一个待预测漏洞被利用后产生的结果等于v5被利用的前提条件,判断出没有待预测漏洞满足,则判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞,判断出无,则判断主机威胁列表中是否包含未被获取的非重要主机对应的待预测漏洞,判断出v6未被获取,则将v6作为当前漏洞攻击节点。
判断主机威胁列表中是否有服务和/或通信协议满足v6被利用后产生的获得IP4的权限5这个后结果,有服务和/或通信协议满足v6被利用后产生的后结果,生成v6指向获得IP4的权限5的有向边;判断是否有服务和/或通信协议满足v6被利用的获得IP3的权限4这个前提条件,有服务和/或通信协议满足v6被利用的前提条件,生成获得IP3的权限4指向v6的有向边;判断主机威胁列表中是否包含未被获取的非重要主机对应的待预测漏洞,判断出无,确定攻击图生成完成。
可见,应用本实施例,可以以任一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图,生成攻击图的速度较快,而且不用像相关技术固定攻击者发起攻击的位置,和实际情况更相似。
本发明实施例提供的工业互联网的安全风险预测的装置的结构示意图,如图5所示,所述装置包括:
主机探查列表生成单元501,用于基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;
漏洞和漏洞描述信息查找单元502,用于基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;
漏洞基本分数获取单元503,用于基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;
保存单元504,用于将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;
获取单元505,用于获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;
攻击规则库建立单元506,用于基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;
攻击图生成单元507,用于按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;
基本攻击概率计算单元508,用于基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;
累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径获取单元509,用于根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
可见,应用本发明实施例,可以先生成待预测的工业互联网中的各个主机的主机探查列表,基于主机探查列表,以重要主机对应的待预测漏洞为起始漏洞攻击节点逆向生成攻击图,再根据攻击图计算获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径,不像相关技术使用传统漏洞扫描工具对互联网中的设备进行漏洞检测,因此,应用本发明实施例,在不影响网络运行的基础上,预测了工业互联网的安全风险。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一工业互联网的安全风险预测方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一工业互联网的安全风险预测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种工业互联网的安全风险预测的方法,其特征在于,应用于与待预测的工业互联网中的各个待预测主机通信连接的电子设备,所述方法包括:
基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;
基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;
基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;
将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;
获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;
基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;
从主机威胁列表中获取一个重要主机对应的当前待预测漏洞作为当前漏洞攻击节点;判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果;如果没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果,则判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞;如果所述主机威胁列表中包含未被获取的重要主机对应的待预测漏洞,则执行所述从主机威胁列表中获取一个重要主机对应的当前待预测漏洞作为当前漏洞攻击节点的步骤;如果所述主机威胁列表中不包含未被获取的重要主机对应的待预测漏洞,则判断主机威胁列表中是否包含未被获取的非重要主机对应的待预测漏洞;如果不包含未被获取的非重要主机对应的待预测漏洞,则确定攻击图生成完成;如果包含未被获取的非重要主机对应的待预测漏洞,则从主机威胁列表中获取一个非重要主机对应的一个待预测漏洞作为当前待预测漏洞,执行所述判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果的步骤;如果有服务和/或通信协议满足当前待预测漏洞被利用后产生的结果,则将所述当前待预测漏洞作为当前第一攻击节点,将所述当前待预测漏洞被利用后产生的结果作为当前第一状态节点,生成所述当前第一攻击节点指向所述当前第一状态节点的边;判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件;如果没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则返回执行所述判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞的步骤;如果有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则将所述当前待预测漏洞被利用的前提条件作为当前第二状态节点,生成所述当前第二状态节点指向所述当前第一攻击节点的边;判断是否有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件;如果有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则将所述另一个待预测漏洞作为当前第一攻击节点,生成所述当前第一攻击节点指向所述当前第二状态节点的边;将所述另一个待预测漏洞作为当前待预测漏洞,返回执行所述判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件;如果没有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则返回执行所述判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞的步骤;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;
基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;
根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径。
2.根据权利要求1所述的方法,其特征在于,所述基于预先设置的主机探查方法,生成待评估对象的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机的步骤,包括:
基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查信息;
获取人工补充的待预测的工业互联网中未探测到的主机信息;
根据所述主机探查信息和所述未探测到的主机信息生成主机探查列表;
根据预设的各个主机的重要性权重值确定出主机探查列表中的重要主机和非重要主机。
3.根据权利要求1所述的方法,其特征在于,
所述基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息的步骤,包括:
将所述主机探查列表中的主机的型号、主机的版本号、服务和/或通信协议作为关键字,在已有的漏洞库中,采用模糊匹配的方法,查找所述关键字,分别获取对应的漏洞及漏洞描述信息,获得各个主机存在的漏洞和对应的漏洞描述信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数的步骤,包括:
基于所述各个漏洞,在已有的漏洞评分***中获取攻击距离Attack Vector、攻击复杂性Attack Complexity、特权Privileges Required和用户交互User Interaction作为漏洞的基本分数;
所述基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率的步骤,包括:
将所述攻击距离Attack Vector、攻击复杂性Attack Complexity、特权PrivilegesRequired和用户交互User Interaction相乘,将相乘计算的结果,作为攻击图中各个漏洞攻击节点的基本攻击概率。
5.根据权利要求4所述的方法,其特征在于,在所述将所述攻击距离Attack Vector、攻击复杂性Attack Complexity、特权Privileges Required和用户交互User Interaction相乘,将相乘计算的结果,作为攻击图中各个漏洞攻击节点的基本攻击概率的步骤之后,还包括:
判断所述攻击图中是否存在环路;所述环路为当前待预测漏洞被利用后产生的结果作为其它漏洞被利用的前提条件被其它漏洞利用后,又作为所述当前待预测漏洞被利用的前提条件的情况;
如果是,则获取所述攻击图中的每个环路;
获取每个环路中基本攻击概率最小的漏洞攻击节点作为该环路的目标节点;
删除在所述环路中所述目标节点指向所述环路中的状态节点的有向边。
6.根据权利要求4所述的方法,其特征在于,所述将所述攻击距离Attack Vector、攻击复杂性Attack Complexity、特权Privileges Required和用户交互User Interaction相乘,将相乘计算的结果,作为攻击图中各个漏洞攻击节点的基本攻击概率的步骤,包括:
按照如下公式计算各个漏洞的基本攻击概率:
Pij=AV×AC×PR×UI;其中,Pij为漏洞的基本攻击概率,AV为漏洞基本分数中的攻击距离,AC为漏洞基本分数中的攻击复杂性,PR为漏洞基本分数中的特权,UI为漏洞基本分数中的用户交互;
所述根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个攻击节点基于其对应主机的重要性权重值的攻击概率和每一条攻击路径的攻击概率,获取攻击概率最大的攻击节点和攻击概率最大的攻击路径的步骤,包括:
按如下公式,基于所所述各个漏洞的基本攻击概率和所述攻击图,每一条攻击路径的攻击概率,获取攻击概率最大的攻击路径:
其中,i为攻击路径,j为漏洞攻击节点,k表示有k条攻击路径,ki表示每条攻击路径上有ki个主机,lij为主机的重要性权重值,Pi为每一条攻击路径的攻击概率;
按如下公式,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率,获取累计攻击概率最大的漏洞攻击节点:
其中,i为攻击路径,j为漏洞攻击节点,m表示有m个漏洞攻击节点,mj表示每个漏洞攻击节点经过的攻击路径为mj个,lij为主机的重要性权重值,Qj为每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率。
7.一种工业互联网的安全风险预测的装置,其特征在于,应用于与待预测的工业互联网中的各个待预测主机通信连接的电子设备,所述装置包括:
主机探查列表生成单元,用于基于预先设置的主机探查方法,生成待预测的工业互联网中的各个主机的主机探查列表,并根据预设的各个主机的重要性权重值确定出重要主机和非重要主机;所述主机探查列表中包括:各个主机以及各个主机上对应运行的服务和/或对应的通信协议;
漏洞和漏洞描述信息查找单元,用于基于所述主机探查列表,在已有的漏洞库中,查找各个主机的服务和/或通信协议存在的漏洞和漏洞描述信息;所述漏洞描述信息,包含:各个漏洞被利用的前提条件和各个漏洞被利用后产生的结果;所述漏洞被利用的前提条件,包含:该漏洞被利用所需要对该漏洞所在主机的用户操作权限;所述漏洞被利用后产生的结果,包含:该漏洞被利用后所获得的攻击后目标主机的用户操作权限;所述目标主机与该漏洞所在的主机相同或不同;
漏洞基本分数获取单元,用于基于所述各个主机存在的漏洞,在已有的漏洞评分***中获取对应的漏洞基本分数;
保存单元,用于将存在漏洞的主机、对应的服务和/或通信协议和对应的漏洞作为待预测漏洞保存至主机威胁列表;
获取单元,用于获取待预测的各个主机之间的网络连接关系及各个主机的攻击前用户操作权限;
攻击规则库建立单元,用于基于所述主机探查列表、所述主机威胁列表、所述网络连接关系和所述各个主机的攻击前用户操作权限,建立攻击规则库;所述攻击规则库中包括:工业互联网中各个主机存在的待预测漏洞,以及每个待预测漏洞被利用的前提条件和各个待预测漏洞被利用后产生的结果;
攻击图生成单元,用于按照预设的逆向攻击图生成算法,基于所述主机威胁列表和所述攻击规则库,以一个重要主机对应的待预测漏洞为起始漏洞攻击节点,逆向生成包含漏洞攻击节点、状态节点和有向边的攻击图;所述攻击图中的各个状态节点分别表示待预测漏洞被利用的前提条件或各个待预测漏洞被利用后产生的结果,所述攻击图中的各个有向边表示按照所述攻击规则所形成的不同漏洞攻击节点及状态节点之间的攻击关系;
基本攻击概率计算单元,用于基于所述漏洞基本分数计算出攻击图中各个漏洞攻击节点的基本攻击概率;
累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径获取单元,用于根据所述各个漏洞的基本攻击概率和所述攻击图,计算每一个漏洞攻击节点基于其对应主机的重要性权重值的累计攻击概率和每一条攻击路径的攻击概率,获取累计攻击概率最大的漏洞攻击节点和攻击概率最大的攻击路径;
所述攻击图生成单元具体用于:从主机威胁列表中获取一个重要主机对应的当前待预测漏洞作为当前漏洞攻击节点;判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果;如果没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果,则判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞;如果所述主机威胁列表中包含未被获取的重要主机对应的待预测漏洞,则执行所述从主机威胁列表中获取一个重要主机对应的当前待预测漏洞作为当前漏洞攻击节点的步骤;如果所述主机威胁列表中不包含未被获取的重要主机对应的待预测漏洞,则判断主机威胁列表中是否包含未被获取的非重要主机对应的待预测漏洞;如果不包含未被获取的非重要主机对应的待预测漏洞,则确定攻击图生成完成;如果包含未被获取的非重要主机对应的待预测漏洞,则从主机威胁列表中获取一个非重要主机对应的一个待预测漏洞作为当前待预测漏洞,执行所述判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用后产生的结果的步骤;如果有服务和/或通信协议满足当前待预测漏洞被利用后产生的结果,则将所述当前待预测漏洞作为当前第一攻击节点,将所述当前待预测漏洞被利用后产生的结果作为当前第一状态节点,生成所述当前第一攻击节点指向所述当前第一状态节点的边;判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件;如果没有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则返回执行所述判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞的步骤;如果有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件,则将所述当前待预测漏洞被利用的前提条件作为当前第二状态节点,生成所述当前第二状态节点指向所述当前第一攻击节点的边;判断是否有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件;如果有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则将所述另一个待预测漏洞作为当前第一攻击节点,生成所述当前第一攻击节点指向所述当前第二状态节点的边;将所述另一个待预测漏洞作为当前待预测漏洞,返回执行所述判断主机威胁列表中是否有服务和/或通信协议满足保存在攻击规则库中的当前待预测漏洞被利用的前提条件;如果没有另一个待预测漏洞被利用后产生的结果等于所述当前待预测漏洞被利用的前提条件,则返回执行所述判断所述主机威胁列表中是否包含未被获取的重要主机对应的待预测漏洞的步骤。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870521.5A CN110572409B (zh) | 2019-09-16 | 2019-09-16 | 工业互联网的安全风险预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870521.5A CN110572409B (zh) | 2019-09-16 | 2019-09-16 | 工业互联网的安全风险预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572409A CN110572409A (zh) | 2019-12-13 |
CN110572409B true CN110572409B (zh) | 2021-10-12 |
Family
ID=68780353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910870521.5A Active CN110572409B (zh) | 2019-09-16 | 2019-09-16 | 工业互联网的安全风险预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572409B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062040A (zh) * | 2019-12-19 | 2020-04-24 | 成都烽创科技有限公司 | 一种确定未知漏洞的方法、服务器及计算机可读存储介质 |
CN111277561B (zh) * | 2019-12-27 | 2022-05-24 | 北京威努特技术有限公司 | 网络攻击路径预测方法、装置及安全管理平台 |
CN110912945B (zh) * | 2019-12-31 | 2022-03-22 | 深信服科技股份有限公司 | 网络攻击入口点的检测方法、装置、电子设备及存储介质 |
CN111416818A (zh) * | 2020-03-17 | 2020-07-14 | 北京金山云网络技术有限公司 | 网站的安全防护方法、装置和服务器 |
CN112437093B (zh) * | 2020-12-02 | 2022-06-28 | 新华三人工智能科技有限公司 | 安全状态的确定方法、装置及设备 |
CN112632555A (zh) * | 2020-12-15 | 2021-04-09 | 国网河北省电力有限公司电力科学研究院 | 一种节点漏洞的扫描方法、装置及计算机设备 |
CN112637178B (zh) * | 2020-12-18 | 2022-09-20 | 成都知道创宇信息技术有限公司 | 攻击相似度计算方法、装置、电子设备和可读存储介质 |
CN112671609A (zh) * | 2020-12-21 | 2021-04-16 | 哈尔滨工大天创电子有限公司 | 一种资产普查与安全检测方法、装置及终端设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694454A (zh) * | 2005-05-10 | 2005-11-09 | 西安交通大学 | 主动式网络安全漏洞检测器 |
CN102170431A (zh) * | 2011-03-25 | 2011-08-31 | 中国电子科技集团公司第三十研究所 | 一种主机风险评估方法和装置 |
CN102447695A (zh) * | 2011-11-14 | 2012-05-09 | 中国科学院软件研究所 | 一种识别业务***中关键攻击路径的方法 |
CN103368976A (zh) * | 2013-07-31 | 2013-10-23 | 电子科技大学 | 一种基于攻击图邻接矩阵的网络安全评估装置 |
CN105871885A (zh) * | 2016-05-11 | 2016-08-17 | 南京航空航天大学 | 一种网络渗透测试方法 |
CN106657144A (zh) * | 2017-01-20 | 2017-05-10 | 北京理工大学 | 一种基于增强学习的动态保护路径规划方法 |
KR20180007832A (ko) * | 2016-07-14 | 2018-01-24 | 국방과학연구소 | 네트워크 도달 가능성 기반의 자동화된 침투 경로 예측 장치 및 방법 |
CN108123962A (zh) * | 2018-01-19 | 2018-06-05 | 北京理工大学 | 一种利用Spark实现BFS算法生成攻击图的方法 |
CN108416218A (zh) * | 2018-03-08 | 2018-08-17 | 国家计算机网络与信息安全管理中心 | 一种Web服务器漏洞验证方法 |
CN108494810A (zh) * | 2018-06-11 | 2018-09-04 | 中国人民解放军战略支援部队信息工程大学 | 面向攻击的网络安全态势预测方法、装置及*** |
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN109117641A (zh) * | 2018-08-15 | 2019-01-01 | 北京理工大学 | 一种基于i-hmm的网络安全风险评估方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392997B2 (en) * | 2007-03-12 | 2013-03-05 | University Of Southern California | Value-adaptive security threat modeling and vulnerability ranking |
US9276951B2 (en) * | 2013-08-23 | 2016-03-01 | The Boeing Company | System and method for discovering optimal network attack paths |
-
2019
- 2019-09-16 CN CN201910870521.5A patent/CN110572409B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694454A (zh) * | 2005-05-10 | 2005-11-09 | 西安交通大学 | 主动式网络安全漏洞检测器 |
CN102170431A (zh) * | 2011-03-25 | 2011-08-31 | 中国电子科技集团公司第三十研究所 | 一种主机风险评估方法和装置 |
CN102447695A (zh) * | 2011-11-14 | 2012-05-09 | 中国科学院软件研究所 | 一种识别业务***中关键攻击路径的方法 |
CN103368976A (zh) * | 2013-07-31 | 2013-10-23 | 电子科技大学 | 一种基于攻击图邻接矩阵的网络安全评估装置 |
CN105871885A (zh) * | 2016-05-11 | 2016-08-17 | 南京航空航天大学 | 一种网络渗透测试方法 |
KR20180007832A (ko) * | 2016-07-14 | 2018-01-24 | 국방과학연구소 | 네트워크 도달 가능성 기반의 자동화된 침투 경로 예측 장치 및 방법 |
CN106657144A (zh) * | 2017-01-20 | 2017-05-10 | 北京理工大学 | 一种基于增强学习的动态保护路径规划方法 |
CN108123962A (zh) * | 2018-01-19 | 2018-06-05 | 北京理工大学 | 一种利用Spark实现BFS算法生成攻击图的方法 |
CN108416218A (zh) * | 2018-03-08 | 2018-08-17 | 国家计算机网络与信息安全管理中心 | 一种Web服务器漏洞验证方法 |
CN108494810A (zh) * | 2018-06-11 | 2018-09-04 | 中国人民解放军战略支援部队信息工程大学 | 面向攻击的网络安全态势预测方法、装置及*** |
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN109117641A (zh) * | 2018-08-15 | 2019-01-01 | 北京理工大学 | 一种基于i-hmm的网络安全风险评估方法 |
Non-Patent Citations (2)
Title |
---|
A Vulnerability Assessment Method in Industrial Internet of Things Based on Attack Graph and Maximum Flow;HUAN WANG et al;《IEEE Access》;20180213;全文 * |
基于渗透测试的网络安全漏洞实时侦测技术;张志华;《科学技术与工程》;20180718(第20期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110572409A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572409B (zh) | 工业互联网的安全风险预测方法、装置、设备及存储介质 | |
US11895150B2 (en) | Discovering cyber-attack process model based on analytical attack graphs | |
CN107992738B (zh) | 一种账号登录异常检测方法、装置及电子设备 | |
CN111355697B (zh) | 僵尸网络域名家族的检测方法、装置、设备及存储介质 | |
CN111224941B (zh) | 一种威胁类型识别方法及装置 | |
CN107659570A (zh) | 基于机器学习与动静态分析的Webshell检测方法及*** | |
CN113486334A (zh) | 网络攻击预测方法、装置、电子设备及存储介质 | |
CN109344611B (zh) | 应用的访问控制方法、终端设备及介质 | |
CN110602137A (zh) | 恶意ip和恶意url拦截方法、装置、设备及介质 | |
CN104866770B (zh) | 敏感数据扫描方法和*** | |
CN111460445A (zh) | 样本程序恶意程度自动识别方法及装置 | |
CN108769070A (zh) | 一种越权漏洞检测方法及装置 | |
CN111818055B (zh) | 基于动态反馈的网络攻击路径分析方法 | |
CN114021051A (zh) | web应用的漏洞检测方法、设备及计算机可读存储介质 | |
CN114499939A (zh) | 一种基于知识图谱的最优路径选择方法、***、可存储介质和电子设备 | |
CN114915475A (zh) | 攻击路径的确定方法、装置、设备及存储介质 | |
CN111669379A (zh) | 行为异常检测方法和装置 | |
CN114157480B (zh) | 网络攻击方案的确定方法、装置、设备和存储介质 | |
CN110730128B (zh) | 信息传播路径的处理方法、装置、电子设备、存储介质 | |
CN109976828B (zh) | 一种配置文件的方法及装置 | |
CN114528552B (zh) | 基于漏洞的安全事件关联方法及相关设备 | |
CN116015861A (zh) | 一种数据检测方法、装置、电子设备及存储介质 | |
Hatada et al. | Detecting and classifying Android PUAs by similarity of DNS queries | |
Anwar et al. | A smart framework for mobile botnet detection using static analysis | |
Kijsanayothin et al. | Exploit-based analysis of attack models |
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 |