一种面向智能制造生产线的全局安全检测系统及其工作方法
技术领域
本发明涉及一种面向智能制造生产线的全局安全检测系统及其工作方法,属于生产线安全检测技术领域。
背景技术
工业4.0时代,智能机器之间的互联性不断增强,智能制造生产线面临的网络安全风险达到前所未有的深度和广度。一旦发生安全事件将对人们的生产生活造成巨大的影响,带来沉重的损失。智能制造生产线急需一个安全检测系统来评估其风险并提高网络安全水平。
目前工控环境下的安全检测系统,较为成熟的有两种:针对单个设备或单个漏洞的安全风险检测、利用攻击图和攻击不确定性对工控环境进行安全检测。传统工控场景下的安全检测系统不能满足智能制造生产线的新安全需求。一方面智能制造系统控制协议相较于传统控制系统开放化标准化程度更高,另一方面,智能制造系统中各类执行设备、控制设备及传感设备普遍存在安全漏洞。
智能制造场景下的安全检测更需要一种全局的,能够反映底层智能制造流程安全性的安全检测系统,以及适用于智能制造生产线的风险响应措施来提高其安全水平。相较于传统的单个设备或漏洞的安全风险检测,基于攻击路径的安全检测能够评估系统所面临的安全风险,帮助防御者直观地理解目标网络内存在各个组件之间的关系、脆弱性与网络安全配置之间的关系,以及由此产生的潜在威胁。找到对攻击者最重要的节点集,能够有效的阻止攻击者的成功攻击。同时将整体安全风险映射到具体的生产线流程上,能够方便对生产线流程的后续分析。
发明内容
针对现有技术的不足,本发明提供了一种面向智能制造生产线的全局安全检测系统;
本发明使用攻击图生成技术生成攻击路径,对生成的攻击路径进行节点关键性量化,在此基础上生成最小关键集。通过对最小关键集以及原始攻击路径进行安全检测得到网络安全风险状况。将智能制造生产线的网络配置以及漏洞信息输入到系统中生成攻击图。采用节点攻击成功概率、资产重要性和所在攻击路径结构来量化该节点对攻击者成功攻击的重要性。通过消除关键节点能够减小攻击者对系统的损害。利用启发式算法得到使攻击图不再连通的最小关键集。由于智能制造生产线的安全检测可能会影响基础设施或生产过程,因此在模拟环境下,根据攻击路径进行渗透测试。得到智能制造生产线的网络安全状况、分层的安全风险,分别确定操作层次和漏洞层次的风险,给出相应的风险响应措施。
术语解释:
1、攻击图:是一种基于模型的网络脆弱性评估方法。攻击图技术能够把网络中各主机上的脆弱性关联起来进行深入地分析,发现威胁网络安全的攻击路径并用图的方式展现出来。
2、机密性:是指工控信息不被泄露给非授权的用户、实体或过程,或供其利用的特性。
3、完整性:是指保护工控资产的准确和完整的特性。
4、可用性:是工控信息可被授权实体访问并按需求使用的特性。
5、攻击路径:描述了攻击者为了入侵目标设备沿着开始设备进行攻击的攻击步骤。
6、攻击路径长度:攻击路径上攻击步骤的个数。
7、CVSS:通用漏洞评分系统,由美国国家通用漏洞数据库NVD提供。
8、信念贝叶斯网络:是一种模拟类推过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图。
9、成功攻击节点集:在模拟攻击时,成功的攻击步骤构成的集合。
本发明的技术方案为:
一种面向智能制造生产线的全局安全检测系统,包括用户配置模块、库管理模块、攻击图生成模块、资产重要性量化模块、节点关键性量化模块、关键节点生成模块、检测任务管理模块、检测任务执行模块、风险计算模块以及报告输出模块;
所述用户配置模块用于:管理漏洞数据库,漏洞数据库包括漏洞知识;漏洞知识是指漏洞的信息(如漏洞的唯一标识编号、)以及漏洞之间的推理规则(如:若想攻击漏洞B必须首先攻击漏洞A);
所述库管理模块用于管理漏洞数据库、网络配置信息库、资产-攻击节点依赖关系库、资产重要性指标得分库、攻击节点-缓解策略知识库;所述漏洞数据库包括漏洞信息以及漏洞间的推理规则;所述网络配置信息库包括主机间连接信息、安装软件/运行服务、软件漏洞和攻击者开始占据的位置;所述资产-攻击节点依赖关系库存储攻击节点所联系的资产、所述资产重要性指标得分库存储资产的机密性、完整性和可用性得分、所述攻击节点-缓解策略知识库存储攻击节点对应的缓解策略;
所述攻击图生成模块用于:将网络配置信息以及漏洞知识输入攻击图生成工具得到攻击图;
所述资产重要性量化模块用于:通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性,求取资产重要性得分;
所述节点关键性量化模块用于:求取节点路径结构得分,节点路径结构得分是指从开始节点到该节点的节点数除以节点所在路径的节点总数;计算在成本约束下使攻击者收益最小化的最小关键节点集,具体包括:从攻击图中抽离出攻击路径,对攻击路径上的攻击节点计算攻击节点被攻击概率,对节点的资产重要性进行量化,并量化攻击节点在攻击路径上的深度对攻击者的执行攻击的影响。从攻击者的角度而言,攻击节点的这三个属性表明了该节点对于攻击者的关键性。根据资产重要性得分、节点路径结构得分及攻击节点被攻击概率得到节点关键性得分;
所述关键节点生成模块用于:根据生成的攻击图以及库管理模块的相关知识库依次进行资产重要性量化、节点关键性量化得到最小关键节点集;
所述检测任务管理模块用于输入最小关键节点集与攻击图输入,为其分配任务;
所述检测任务执行模块、风险计算模块用于:进行安全检测,最后在安全评估模块对检测结果进行安全风险计算以及智能制造流程安全映射。
所述报告输出模块用于在报告输出模块将安全评估报告以及缓解策略输出。
本系统主要通过攻击图生成技术、节点攻击成功概率的计算、节点资产重要性量化、关键节点生成和渗透测试技术对智能制造生产线进行安全检测,并对智能制造生产线进行风险评估,得到针对智能制造生产线的风险响应措施。将网络配置信息以及漏洞知识输入攻击图生成工具得到攻击图。从攻击图中抽离出攻击路径,对攻击路径上的攻击节点计算攻击成功概率。对节点的资产重要性进行量化,并量化攻击节点在攻击路径上的深度对攻击者的执行攻击的影响。从攻击者的角度而言,攻击节点的这三个属性表明了该节点对于攻击者的关键性。在此基础上,计算在成本约束下使攻击者收益最小化的最小关键节点集。对消除关键节点的攻击路径以及原始攻击路径进行安全检测,对检测结果进行分析与评估。得到分层的智能制造生产线安全风险以及应对方案。以提高智能制造生产线的安全状况。
根据本发明优选的,所述攻击图生成工具是指MulVAL。
目前有效生成攻击图的工具有许多,MulVAL具有强大的网络数据采集能力和性能优势。
根据本发明优选的,将网络配置信息以及漏洞知识输入攻击图生成工具,通过程序加工处理编码成为Datalog中的事实以构建攻击图,最后输出逻辑攻击图即攻击图。
智能制造设备以及网络中存在安全漏洞,例如PLC会话通信资源池拒绝服务漏洞、梯形图逻辑程序下载设备故障拒绝服务漏洞、内存模块存储程序文件写入漏洞(+2)等等。漏洞利用之间存在因果关系,当一个漏洞被成功利用后,可以为另一个漏洞的利用创造有利条件。攻击图模拟攻击者对存在安全漏洞的网络的攻击过程。攻击图技术是当前网络脆弱性评估的重要手段。能够把网络中的漏洞关联起来进行深入地分析。生成攻击图需要网络配置信息、网络拓扑信息以及相关的漏洞知识库以确定漏洞之间的关系。
根据本发明优选的,通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性,求取资产重要性得分;具体是指:
对于智能制造生产线的风险评估,资产的重要性与智能制造流程的任务,与控制流程的完整性密切相关。其主要是通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性。这三个指标根据资产的指标特征得到相应的得分。
分别将机密性C、完整性I和可用性A这三个指标值标准化为[0,1]之间的数值;由于三个指标同等重要,因此取机密性C、完整性I和可用性A这三个指标的权重相等,均为1/3,将加权和作为资产重要性得分Z,其取值范围也为[0,1],如式(Ⅰ)所示:
式(Ⅰ)中,C、I、A的取值范围均为[0-10];因具体应用的场景不同,场景内资产对不同的场景的C、I、A不同,因此需要用户对特定的场景内资产进行打分,其打分范围为[0-10]。
资产重要性量化模块以库管理模块中的资产-攻击节点依赖关系库以及资产重要性指标得分库和攻击图作为输入,利用上述量化公式得到攻击节点的资产重要性得分Z,输出节点的资产重要性得分。
一个攻击节点是否关键的含义是指对于攻击者该节点是否足够重要,是否更有利于完成对指定目标的攻击。对于攻击者而言,节点关键性量化必须考虑三个因素:首先,不同节点对应的资产的价值不同,因此对于攻击者而言重要性是不同的。其次,攻击者攻击不同节点上的漏洞时,所付出的代价不同,代价小的对攻击者更有利。最后,对于不同的攻击路径结构,在其上的攻击节点由于到达目标节点的距离不同,因此关键性也不同。
路径结构对于节点关键性的影响主要在于节点所处的攻击路径深度,节点越靠近目标节点,攻击难度越大。节点路径结构得分L用节点所处深度y除以所在攻击路径的长度l来量化,节点所处深度是指在节点所在的路径上从开始节点到该节点所经过的节点数,节点所处的深度越深,其攻击难度越大,对应的关键性得分就越小,节点路径结构得分L的求取公式如式(Ⅱ)所示:
根据本发明优选的,攻击概率表达了攻击者对当先节点的攻击成功概率,攻击节点被攻击概率的计算方式为:先采用CVSS进行量化,得到基础CVSS得分作为原子攻击概率;其并没有描述漏洞之间的因果影响关系。再利用信念贝叶斯网络来描述节点间的因果关系,得到攻击节点被攻概率P;
由于三个指标对于节点关键性量化的重要性相同,因此采取同等权重,进行加权求和得到节点关键性得分K,如式(Ⅲ)所示:
本模块接收资产重要性量化模块的输出和攻击图作为输入,输出节点的关键性得分。
根据本发明优选的,根据生成的攻击图以及库管理模块的相关知识库依次进行资产重要性量化、节点关键性量化得到最小关键节点集,包括步骤如下:
(1)输入攻击图以及节点消除的预算,计算攻击图对应的闭包关系图;
(2)选择节点关键性得分和最大的闭包,判断该闭包对应的节点消除的成本是否大于预算,如果消除该节点消除的成本大于预算,则结束;否则,则表明可以消除该节点,将预算更新,即将当前节点消除的预算减去消除该节点的成本;
(3)判断该闭包是否包含攻击图的所有节点,如果不包含,返回步骤(2);如果包含,则结束,记录所有可消除的节点作为最小关键节点集。
进一步优选的,计算攻击图对应的闭包关系图的步骤为:
a、初始化闭包攻击图为一个只包含空集闭包节点且无边的图;
b、对每个可消除节点计算其闭包,将产生的闭包作为节点加入该闭包攻击图,创建一条连接该闭包与空集闭包节点的边,边的标识为该可消除节点,将该边加入闭包攻击图;
c、判断闭包攻击图是否不再变化,如果发生变化,对闭包攻击图中的任意一个闭包节点继续消除新的可消除节点,产生新的闭包,创建一条连接闭包节点以及新闭包节点的边,边的标识为新的可消除节点,将创建的边以及产生的闭包加入闭包攻击图,重新执行步骤c,否则,结束。
为了保证智能制造生产线的安全,需要在成本约束下选出最大损害攻击者利益的最小关键节点集。关键节点生成模块以攻击图、节点关键性得分、节点对应的消除节点成本(即安全策略)和用户配置的成本预算作为输入,输出最小关键节点集。该最小关键节点集的意义为在成本预算的约束下,最大损害攻击者利益的节点集。
在计算最小关键节点集的过程中的一个重要概念为闭包关系图。对于攻击图中的所有可以通过安全策略消除的节点,某个可消除节点的闭包的意义为:消除该节点后,攻击图中不再对攻击者有用的节点集合。
根据本发明优选的,将最小关键节点集与攻击图输入检测任务管理模块,为其分配检测任务,是指:由于智能制造生产线的特殊性,对智能制造系统进行安全检测时,可能会对其基础设施和生产过程产生严重影响。因此在测试环境下搭建模拟真实智能制造系统的平台,并在该平台上进行测试。在模拟环境下评估网络安全状况,避免在真实环境下进行安全检测造成的不必要损失。
检测任务管理模块接收所述攻击图生成模块输出的攻击图以及所述关键节点生成模块的最小关键节点集作为输入,对攻击图中的节点分析其漏洞以及网络事实,生成检测该节点所需完成的任务;所述检测任务管理模块将攻击图中的节点对应的检测任务作为任务方案一输出,将攻击图删除关键节点后生成新的检测任务作为任务方案二输出。
例如,对于攻击图中某节点包含漏洞A,分析漏洞A对应的类型,如类型为缓存区溢出漏洞则需要生成缓存区溢出攻击任务、如漏洞类型为弱密码漏洞则生成口令破解类型的攻击任务等等。对于攻击图中的每一个节点都如此分析产生每个节点对应的攻击任务作为任务方案一。将攻击图删除关键节点后生成的新的攻击图中的节点进行分析生成对应的攻击任务作为任务方案二。
根据本发明优选的,输入所述检测任务管理模块生成的检测任务,根据检测任务调用工具进行检测,是指:所述检测任务执行模块输入所述检测任务管理模块生成的检测任务,根据检测任务调用工具进行检测,所述检测任务执行模块支持用户对安全检测工具的增加、删除、修改、查询等功能,对于任务方案一、任务方案二,所述检测任务执行模块输出攻击成功的节点集,以及完成攻击所消耗的资源。
由于执行攻击的工具种类不同,调用的方式也不同。调用方式大体分为三类:利用编程语言编写与工具的接口传递数据的程序、模块直接调用工具执行、用户下载到本地执行。对不同的工具的执行结果结合一些专家系统进行分析入库,比如有的工具生成xml格式、Excel格式的结果信息,但是存在工具执行的结果没有固定的格式,需要用户录入数据。
根据本发明优选的,利用安全检测的结果,确定其存在的风险和隐患,以便下一步生成详尽、清晰的报告。以所述检测任务执行模块产生的检测结果、所述资产重要性量化模块的节点重要性得分和攻击图为输入,输出网络安全风险以及智能制造流程安全风险,是指:
对于智能制造系统的安全风险计算,可以用使用完整攻击图进行安全检测产生的成功攻击节点集来量化安全风险。将成功攻击节点集的节点被攻击概率P除以该节点对应的资产重要性得分Z得到安全风险R(因为节点的重要性得分被标准化为0-1之间的数值),计算公式如式(Ⅳ)所示:
式(Ⅳ)中,n为攻击成功节点数;Zi是第i个攻击成功节点的资产重要性得分,Pi是第i个攻击成功节点的被攻击概率,i为攻击成功节点的索引。
将原始攻击路径的安全风险减去实施风险响应措施(即消除关键节点集)后的安全风险,得到对关键节点集实施安全策略后的风险降低值,故此,得到智能制造系统的安全提升状况;
针对智能制造系统攻击的主要目的为损害底层智能制造生产流程。如图7所示为智能制造攻击过程分层图。将网络安全风险映射到具体的智能制造业务过程,能够更直观的反映底层的智能制造业务过程的安全风险。对于智能制造生产业务流程,定义底层的某个智能制造业务过程的安全风险Qj为:该业务过程关联的所有成功渗透节点的被攻击概率除以该节点对应的资产重要性得分,计算公式如式(V)所示:
式(V)中,K为该业务流程关联的成功攻击节点的数量,Pjk是第j个业务过程所关联的第k个成功渗透节点的被攻击概率,Zjk是第j个业务过程所关联的第k个成功渗透节点对应的资产重要性得分,k是成功渗透节点的索引。
根据本发明优选的,所述报告输出模块接收所述风险计算模块的安全风险、以及安全策略后的风险降低值、智能制造业务过程的安全风险、所述关键节点生成模块的最小关键节点集及库管理模块的攻击节点-缓解策略知识库和攻击图为输入,输出安全风险报告;安全风险报告包括智能制造生产线的安全风险、关键节点集对应的缓解策略、风险降低值及分层安全风险。
对于分层安全风险的生成,对攻击图节点属性进行分析并对节点分类,将节点分为操作层次上的错误(如弱口令的设置等)和漏洞层次(如运行的服务上存在的漏洞等),对两类节点分别计算其风险,该分层安全风险计算的意义是根据分层风险占比的不同来有针对性的改善网络安全。如:加强网络安全意识培训还是更换漏洞较少的服务。
所述用户配置模块用于:计算最小割集时的成本预算,以便在成本约束的情况下计算最小关键节点集、对于所述检测任务执行模块的安全检测工具的删除和添加等功能,以便适应不断变化的智能制造环境来更新检测工具、与库管理模块进行交互,以完成某些网络基础设施更改导致的某些库的更新等等。
对于具体的应用场景,用户应输入所需的预算以达到在预算内保护网络安全的目的。此预算可以改变,不同的预算会得到不同的安全风险应对方案。由于网络攻击技术的快速发展,安全检测攻击更新较快,为了更好的检测智能制造生产线的安全风险应及时更新安全检测工具。如,当出现了新版本的安全检测工具时,用户可以自主选择删除旧版本的安全检测工具并安装新版本的安全检测工具或者适应于新型攻击的安全检测工具。
上述面向智能制造生产线的全局安全检测系统的工作方法,包括步骤如下:
A、利用攻击图生成工具MulVAL,根据输入的智能制造生产线设备上的漏洞信息生成攻击图;
B、对生成的攻击图进行攻击路径抽取;
C、对抽离出来的攻击路径上的攻击节点所对应的资产重要性进行量化得到节点的资产重要性得分,计算节点对应的被攻击概率以及节点的路径结构得分,综合三个得分得到节点对于攻击者而言的关键性得分;
D、利用节点闭包的定义,生成可消除节点的闭包,利用步骤C得到关键性得分,计算对攻击者完成攻击目标的最少关键节点;
E、对步骤A生成的攻击图进行模拟攻击,步骤A生成的攻击图减去步骤D生成的关键节点生成新的攻击图,对新的攻击图进行模拟攻击,得到两种情况的攻击成功节点;
F、利用步骤E得到的两种情况的攻击成功节点,对智能制造生产线进行评估,并将步骤D得到的最少关键节点集作为应对当前风险的方案输出。
本发明的有益效果为:
本发明全局安全检测系统,通过利用攻击路径、最小关键集生成等技术,能够对智能制造生产线进行全局安全检测。提高智能制造生产线的整体安全性,以避免不必要的损失。包括:1)攻击路径上节点攻击成功概率的计算,得到了攻击者到达每个节点的难易程度;2)攻击节点关键性的量化,约束下生成最小关键集,得到了使攻击者完成攻击的攻击路径上重要节点;3)智能制造生产线的全局安全评估,得到了智能制造流程的风险以及分层的操作层和漏洞层风险。
附图说明
图1为本发明全局安全检测系统的工作方法的流程示意图;
图2为本发明全局安全检测系统的结构示意图;
图3为本发明逻辑攻击图示例的示意图;
图4为本发明关键节点的量化指标示意图;
图5为本发明构造闭包关系示意图;
图6为本发明求解最小关键节点集的流程示意图;
图7为本发明智能制造攻击过程分层示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种面向智能制造生产线的全局安全检测系统,如图2所示,包括用户配置模块、库管理模块、攻击图生成模块、资产重要性量化模块、节点关键性量化模块、关键节点生成模块、检测任务管理模块、检测任务执行模块、风险计算模块以及报告输出模块;
用户配置模块用于:管理漏洞数据库,漏洞数据库包括漏洞知识;漏洞知识是指漏洞的信息(如漏洞的唯一标识编号、)以及漏洞之间的推理规则(如:若想攻击漏洞B必须首先攻击漏洞A);
库管理模块用于管理漏洞数据库、网络配置信息库、资产-攻击节点依赖关系库、资产重要性指标得分库、攻击节点-缓解策略知识库;所述漏洞数据库包括漏洞信息以及漏洞间的推理规则;所述网络配置信息库包括主机间连接信息、安装软件/运行服务、软件漏洞和攻击者开始占据的位置;所述资产-攻击节点依赖关系库存储攻击节点所联系的资产、所述资产重要性指标得分库存储资产的机密性、完整性和可用性得分、所述攻击节点-缓解策略知识库存储攻击节点对应的缓解策略;
攻击图生成模块用于:将网络配置信息以及漏洞知识输入攻击图生成工具得到攻击图;
资产重要性量化模块用于:通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性,求取资产重要性得分;
节点关键性量化模块用于:求取节点路径结构得分,节点路径结构得分是指从开始节点到该节点的节点数除以节点所在路径的节点总数;计算在成本约束下使攻击者收益最小化的最小关键节点集,具体包括:从攻击图中抽离出攻击路径,对攻击路径上的攻击节点计算攻击节点被攻击概率,对节点的资产重要性进行量化,并量化攻击节点在攻击路径上的深度对攻击者的执行攻击的影响。从攻击者的角度而言,攻击节点的这三个属性表明了该节点对于攻击者的关键性。根据资产重要性得分、节点路径结构得分及攻击节点被攻击概率得到节点关键性得分;
关键节点生成模块用于:根据生成的攻击图以及库管理模块的相关知识库依次进行资产重要性量化、节点关键性量化得到最小关键节点集;
检测任务管理模块用于输入最小关键节点集与攻击图输入,为其分配任务;
检测任务执行模块、风险计算模块用于:进行安全检测,最后在安全评估模块对检测结果进行安全风险计算以及智能制造流程安全映射。
报告输出模块用于在报告输出模块将安全评估报告以及缓解策略输出。
本系统主要通过攻击图生成技术、节点攻击成功概率的计算、节点资产重要性量化、关键节点生成和渗透测试技术对智能制造生产线进行安全检测,并对智能制造生产线进行风险评估,得到针对智能制造生产线的风险响应措施。将网络配置信息以及漏洞知识输入攻击图生成工具得到攻击图。从攻击图中抽离出攻击路径,对攻击路径上的攻击节点计算攻击成功概率。对节点的资产重要性进行量化,并量化攻击节点在攻击路径上的深度对攻击者的执行攻击的影响。从攻击者的角度而言,攻击节点的这三个属性表明了该节点对于攻击者的关键性。在此基础上,计算在成本约束下使攻击者收益最小化的最小关键节点集。对消除关键节点的攻击路径以及原始攻击路径进行安全检测,对检测结果进行分析与评估。得到分层的智能制造生产线安全风险以及应对方案。以提高智能制造生产线的安全状况。
攻击图生成工具是指MulVAL。
目前有效生成攻击图的工具有许多,MulVAL具有强大的网络数据采集能力和性能优势。
实施例2
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:将网络配置信息以及漏洞知识输入攻击图生成工具,通过程序加工处理编码成为Datalog中的事实以构建攻击图,最后输出逻辑攻击图即攻击图,逻辑攻击图如图3所示。如图3所示,初始时攻击者拥有设备3上的使用者权限。设备1上运行具有漏洞v1的服务s1,设备2上运行具有漏洞v1的服务s2。于是在设备3上的攻击者利用设备1上的漏洞v1进行攻击。攻击成功后,攻击者获得了设备1上的使用者权限。此时在设备1上的攻击者利用设备2上的漏洞v1进行攻击,同时设备3上的攻击者也可以利用设备2上的漏洞v1进行攻击。最终攻击者拥有设备2上的使用者权限,达到了最终目的。
智能制造设备以及网络中存在安全漏洞,例如PLC会话通信资源池拒绝服务漏洞、梯形图逻辑程序下载设备故障拒绝服务漏洞、内存模块存储程序文件写入漏洞(+2)等等。漏洞利用之间存在因果关系,当一个漏洞被成功利用后,可以为另一个漏洞的利用创造有利条件。攻击图模拟攻击者对存在安全漏洞的网络的攻击过程。攻击图技术是当前网络脆弱性评估的重要手段。能够把网络中的漏洞关联起来进行深入地分析。生成攻击图需要网络配置信息、网络拓扑信息以及相关的漏洞知识库以确定漏洞之间的关系。
实施例3
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:
通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性,求取资产重要性得分;具体是指:
对于智能制造生产线的风险评估,资产的重要性与智能制造流程的任务,与控制流程的完整性密切相关。其主要是通过评估资产的机密性C、完整性I和可用性A三类安全属性来量化资产重要性。这三个指标根据资产的指标特征得到相应的得分。
分别将机密性C、完整性I和可用性A这三个指标值标准化为[0,1]之间的数值;由于三个指标同等重要,因此取机密性C、完整性I和可用性A这三个指标的权重相等,均为1/3,将加权和作为资产重要性得分Z,其取值范围也为[0,1],如式(Ⅰ)所示:
式(Ⅰ)中,C、I、A的取值范围均为[0-10];因具体应用的场景不同,场景内资产对不同的场景的C、I、A不同,因此需要用户对特定的场景内资产进行打分,其打分范围为[0-10]。
资产重要性量化模块以库管理模块中的资产-攻击节点依赖关系库以及资产重要性指标得分库和攻击图作为输入,利用上述量化公式得到攻击节点的资产重要性得分Z,输出节点的资产重要性得分。
一个攻击节点是否关键的含义是指对于攻击者该节点是否足够重要,是否更有利于完成对指定目标的攻击。对于攻击者而言,节点关键性量化必须考虑三个因素:首先,不同节点对应的资产的价值不同,因此对于攻击者而言重要性是不同的。其次,攻击者攻击不同节点上的漏洞时,所付出的代价不同,代价小的对攻击者更有利。最后,对于不同的攻击路径结构,在其上的攻击节点由于到达目标节点的距离不同,因此关键性也不同。对于关键节点的量化指标图如图4所示。
路径结构对于节点关键性的影响主要在于节点所处的攻击路径深度,节点越靠近目标节点,攻击难度越大。节点路径结构得分L用节点所处深度y除以所在攻击路径的长度l来量化,节点所处深度是指在节点所在的路径上从开始节点到该节点所经过的节点数,节点所处的深度越深,其攻击难度越大,对应的关键性得分就越小,节点路径结构得分L的求取公式如式(Ⅱ)所示:
实施例4
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:
攻击概率表达了攻击者对当先节点的攻击成功概率,攻击节点被攻击概率的计算方式为:先采用CVSS进行量化,得到基础CVSS得分作为原子攻击概率;其并没有描述漏洞之间的因果影响关系。再利用信念贝叶斯网络来描述节点间的因果关系,得到攻击节点被攻概率P;
由于三个指标对于节点关键性量化的重要性相同,因此采取同等权重,进行加权求和得到节点关键性得分K,如式(Ⅲ)所示:
本模块接收资产重要性量化模块的输出和攻击图作为输入,输出节点的关键性得分。
实施例5
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:
根据生成的攻击图以及库管理模块的相关知识库依次进行资产重要性量化、节点关键性量化得到最小关键节点集,包括步骤如下:
(1)输入攻击图以及节点消除的预算,计算攻击图对应的闭包关系图;
(2)选择节点关键性得分和最大的闭包,判断该闭包对应的节点消除的成本是否大于预算,如果消除该节点消除的成本大于预算,则结束;否则,则表明可以消除该节点,将预算更新,即将当前节点消除的预算减去消除该节点的成本;
(3)判断该闭包是否包含攻击图的所有节点,如果不包含,返回步骤(2);如果包含,则结束,记录所有可消除的节点作为最小关键节点集。
计算攻击图对应的闭包关系图的步骤为:
a、初始化闭包攻击图为一个只包含空集闭包节点且无边的图;
b、对每个可消除节点计算其闭包,将产生的闭包作为节点加入该闭包攻击图,创建一条连接该闭包与空集闭包节点的边,边的标识为该可消除节点,将该边加入闭包攻击图;
c、判断闭包攻击图是否不再变化,如果发生变化,对闭包攻击图中的任意一个闭包节点继续消除新的可消除节点,产生新的闭包,创建一条连接闭包节点以及新闭包节点的边,边的标识为新的可消除节点,将创建的边以及产生的闭包加入闭包攻击图,重新执行步骤c,否则,结束。
为了保证智能制造生产线的安全,需要在成本约束下选出最大损害攻击者利益的最小关键节点集。关键节点生成模块以攻击图、节点关键性得分、节点对应的消除节点成本(即安全策略)和用户配置的成本预算作为输入,输出最小关键节点集。该最小关键节点集的意义为在成本预算的约束下,最大损害攻击者利益的节点集。
在计算最小关键节点集的过程中的一个重要概念为闭包关系图。对于攻击图中的所有可以通过安全策略消除的节点,某个可消除节点的闭包的意义为:消除该节点后,攻击图中不再对攻击者有用的节点集合。生成闭包关系图的算法流程图于生成最小关键集的算法流程图如图5、6所示。(不同的可消除攻击图节点对应的闭包可能相同,即在闭包关系图中存在两个闭包节点中有多条表示不同可消除攻击图节点的边)
实施例6
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:
将最小关键节点集与攻击图输入检测任务管理模块,为其分配检测任务,是指:由于智能制造生产线的特殊性,对智能制造系统进行安全检测时,可能会对其基础设施和生产过程产生严重影响。因此在测试环境下搭建模拟真实智能制造系统的平台,并在该平台上进行测试。在模拟环境下评估网络安全状况,避免在真实环境下进行安全检测造成的不必要损失。
检测任务管理模块接收所述攻击图生成模块输出的攻击图以及所述关键节点生成模块的最小关键节点集作为输入,对攻击图中的节点分析其漏洞以及网络事实,生成检测该节点所需完成的任务;所述检测任务管理模块将攻击图中的节点对应的检测任务作为任务方案一输出,将攻击图删除关键节点后生成新的检测任务作为任务方案二输出。
例如,对于攻击图中某节点包含漏洞A,分析漏洞A对应的类型,如类型为缓存区溢出漏洞则需要生成缓存区溢出攻击任务、如漏洞类型为弱密码漏洞则生成口令破解类型的攻击任务等等。对于攻击图中的每一个节点都如此分析产生每个节点对应的攻击任务作为任务方案一。将攻击图删除关键节点后生成的新的攻击图中的节点进行分析生成对应的攻击任务作为任务方案二。
输入所述检测任务管理模块生成的检测任务,根据检测任务调用工具进行检测,是指:所述检测任务执行模块输入所述检测任务管理模块生成的检测任务,根据检测任务调用工具进行检测,所述检测任务执行模块支持用户对安全检测工具的增加、删除、修改、查询等功能,对于任务方案一、任务方案二,所述检测任务执行模块输出攻击成功的节点集,以及完成攻击所消耗的资源。
由于执行攻击的工具种类不同,调用的方式也不同。调用方式大体分为三类:利用编程语言编写与工具的接口传递数据的程序、模块直接调用工具执行、用户下载到本地执行。对不同的工具的执行结果结合一些专家系统进行分析入库,比如有的工具生成xml格式、Excel格式的结果信息,但是存在工具执行的结果没有固定的格式,需要用户录入数据。
实施例7
根据实施例1所述的一种面向智能制造生产线的全局安全检测系统,其区别在于:
利用安全检测的结果,确定其存在的风险和隐患,以便下一步生成详尽、清晰的报告。以所述检测任务执行模块产生的检测结果、所述资产重要性量化模块的节点重要性得分和攻击图为输入,输出网络安全风险以及智能制造流程安全风险,是指:
对于智能制造系统的安全风险计算,可以用使用完整攻击图进行安全检测产生的成功攻击节点集来量化安全风险。将成功攻击节点集的节点被攻击概率P除以该节点对应的资产重要性得分Z得到安全风险R(因为节点的重要性得分被标准化为0-1之间的数值),计算公式如式(Ⅳ)所示:
式(Ⅳ)中,n为攻击成功节点数;Zi是第i个攻击成功节点的资产重要性得分,Pi是第i个攻击成功节点的被攻击概率,i为攻击成功节点的索引。
将原始攻击路径的安全风险减去实施风险响应措施(即消除关键节点集)后的安全风险,得到对关键节点集实施安全策略后的风险降低值,故此,得到智能制造系统的安全提升状况;
针对智能制造系统攻击的主要目的为损害底层智能制造生产流程。如图7所示,为智能制造攻击过程分层图。将网络安全风险映射到具体的智能制造业务过程,能够更直观的反映底层的智能制造业务过程的安全风险。对于智能制造生产业务流程,定义底层的某个智能制造业务过程的安全风险Qj为:该业务过程关联的所有成功渗透节点的被攻击概率除以该节点对应的资产重要性得分,计算公式如式(V)所示:
式(V)中,K为该业务流程关联的成功攻击节点的数量,Pjk是第j个业务过程所关联的第k个成功渗透节点的被攻击概率,Zjk是第j个业务过程所关联的第k个成功渗透节点对应的资产重要性得分,k是成功渗透节点的索引。
报告输出模块接收所述风险计算模块的安全风险、以及安全策略后的风险降低值、智能制造业务过程的安全风险、所述关键节点生成模块的最小关键节点集及库管理模块的攻击节点-缓解策略知识库和攻击图为输入,输出安全风险报告;安全风险报告包括智能制造生产线的安全风险、关键节点集对应的缓解策略、风险降低值及分层安全风险。
对于分层安全风险的生成,对攻击图节点属性进行分析并对节点分类,将节点分为操作层次上的错误(如弱口令的设置等)和漏洞层次(如运行的服务上存在的漏洞等),对两类节点分别计算其风险,该分层安全风险计算的意义是根据分层风险占比的不同来有针对性的改善网络安全。如:加强网络安全意识培训还是更换漏洞较少的服务。
所述用户配置模块用于:计算最小割集时的成本预算,以便在成本约束的情况下计算最小关键节点集、对于所述检测任务执行模块的安全检测工具的删除和添加等功能,以便适应不断变化的智能制造环境来更新检测工具、与库管理模块进行交互,以完成某些网络基础设施更改导致的某些库的更新等等。
对于具体的应用场景,用户应输入所需的预算以达到在预算内保护网络安全的目的。此预算可以改变,不同的预算会得到不同的安全风险应对方案。由于网络攻击技术的快速发展,安全检测攻击更新较快,为了更好的检测智能制造生产线的安全风险应及时更新安全检测工具。如,当出现了新版本的安全检测工具时,用户可以自主选择删除旧版本的安全检测工具并安装新版本的安全检测工具或者适应于新型攻击的安全检测工具。
实施例8
实施例1-7任一所述面向智能制造生产线的全局安全检测系统的工作方法,如图1所示,包括步骤如下:
A、利用攻击图生成工具MulVAL,根据输入的智能制造生产线设备上的漏洞信息生成攻击图;
B、对生成的攻击图进行攻击路径抽取;
C、对抽离出来的攻击路径上的攻击节点所对应的资产重要性进行量化得到节点的资产重要性得分,计算节点对应的被攻击概率以及节点的路径结构得分,综合三个得分得到节点对于攻击者而言的关键性得分;
D、利用节点闭包的定义,生成可消除节点的闭包,利用步骤C得到关键性得分,计算对攻击者完成攻击目标的最少关键节点;
E、对步骤A生成的攻击图进行模拟攻击,步骤A生成的攻击图减去步骤D生成的关键节点生成新的攻击图,对新的攻击图进行模拟攻击,得到两种情况的攻击成功节点;
F、利用步骤E得到的两种情况的攻击成功节点,对智能制造生产线进行评估,并将步骤D得到的最少关键节点集作为应对当前风险的方案输出。