一种基于知识图谱的工控网络安全态势量化评估方法
技术领域
本发明涉及工控网络安全领域,具体而言是一种基于知识图谱的工控网络安全态势量化评估方法。
背景技术
安全态势感知***中很重要的一个功能点就是对网络安全态势进行量化评估,这也是态势感知***的一个技术难点。
传统的网络安全态势评估量化打分方法,一般都是先基于单个资产进行安全评估,再根据资产的重要程度,对资产评分进行加权计算,得出网络的安全态势评分。单个资产进行评估时,一般是根据资产的漏洞进行弱点评分,有的会结合攻击信息进行威胁评估。
现有的算法不能有效的联合攻击、漏洞、网络拓扑进行综合评估,对威胁的真正评估不够准确。有些攻击只能针对单机生效,不能在网络中扩散,那它的威胁指数就要小一些。有些攻击可以有效的利用已有漏洞在网络中扩散,利用一台机器做跳板可能影响很多主机,这种攻击的威胁指数就要大一些。
如中国专利申请号为:CN201710234882.1的专利公布了一种基于知识图谱的网络安全动态预警方法。这个专利针对复杂异构环境的网络安全数据和领域知识进行知识图谱的构建后,使用面向网络安全领域的图查询方法进行目标信息的抽取,通过对安全数据的整理和分析,精确的描述最终得到目标信息。这个专利的重点是快速查询攻击事件,确定攻击事件涉及的目标。知识图谱中主要保存攻击源IP相关信息(地域、企业)、攻击目的IP相关信息(地域、企业)、攻击类型信息。该专利的知识图谱结构图如图1所示,显然这个专利不涉及威胁风险分析和安全态势评估。
又如中国专利申请号为:CN201810036765.9的专利公布了一种基于知识图谱的分布式安全事件关联分析方法。这个专利构造一个包括基础维(资产)、漏洞维、威胁维和报警事件维和攻击规则维五个维度的网络安全知识图谱,对安全事件多关联分析,可以减少误报,做到告警聚合准确识别。另外也重点介绍了该***实现的分布式架构。该专利的架构图如图2所示,显然这个专利重点在于多条告警事件的关联分析,不涉及网络拓扑信息,不涉及攻击预测,不涉及整网的安全态势评估。
再如中国专利申请号为:CN201710050255.2的专利公布了一种基于攻击图的网络安全态势的量化评估方法,属于信息安全技术领域。具体为:步骤一、生成攻击图。步骤二、评估攻击图G中节点的重要度。步骤三、在步骤一操作的基础上,计算攻击图G中节点被渗透成功的最大概率。步骤四、得到网络安全态势评估值。这个专利使用了网络拓扑知识来综合评测安全态势,技术架构图如图3所示,该专利没有使用知识图谱技术,对攻击图的建模方案是比较复杂的理论模型:攻击图G=(C0∪Cd,T,E),其中,C0表示初始节点集合,Cd表示中间节点集合,T表示目标节点集合,E表示连接节点之间的有相弧集合。这个模型和知识图谱相比要复杂很多,实现起来比较困难。该专利在评估受攻击节点的重要度时使用了基于网页评分标准PageRank算法,该算法并不适用于工控网络,无法体现节点在业务上对工控生产的重要程度。另外因为该算法的图模型比较复杂,导致在计算攻击渗透成功率的算法上也比较复杂,难以被产品实现。
鉴于上述提到的传统安全态势评估方案以及相关专利中方案的不完备性,本专利提出基于知识图谱技术,融合网络拓扑、资产信息、漏洞库、攻击模型等知识,构建完整的网络安全知识图谱,基于整个网络的安全知识图谱,对整网的安全态势进行完整的量化评估,并进行攻击扩散预警。
本发明方案的一些专业术语解释:
攻击模式在本专利中参照KDD99的定义,分为4大类:
1)DoS(Denial-of-Service):拒绝服务攻击,例如ping-of-death、smurf等;
2)R2L(Unauthorized Access from a Remote Machine to a Local Machine):来自远程主机的未授权访问,例如guessing password;
3)U2R(Unauthorized Access to Local Superuser Privileges by a LocalUnpivileged User):未授权的本地超级用户特权访问,例如buffer overflow attacks;
4)PROBING(Surveillance and Probing):端口监视或扫描,例如port-scan、pingsweep等。
采用KDD99对于攻击的大类定义相对比较简单,方便在本文档中进行专利方案的定义说明。实际使用时可以对攻击模式进行细化,就可以更精准的分析攻击的效果。
KDD是数据挖掘与知识发现(Data Mining and Knowledge Discovery)的简称,KDD99数据集是KDD竞赛在1999年举行时采用的数据集。虽然年代久远,KDD99数据集仍然是网络入侵检测领域的事实基准。
本专利优选Neo4j进行知识图谱的构建保存。Neo4j是一个高性能的图引擎数据库,基于图进行数据建模,以节点空间来表达领域数据。整个数据空间包括节点、属性、关系三种元素,节点和关系都可以拥有多个属性,属性是一个Key-Value组合。Neo4j重点解决了传统RDBMS在大量数据关联查询时出现的性能衰退问题。通过围绕图进行数据建模,Neo4j会以几乎相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。
直接威胁指数HRS:指直接发生在该主机上的攻击事件产生的安全威胁。
间接威胁指数NRS:指发生在网络中其他节点的攻击事件对本节点可能带来的安全威胁。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于知识图谱的工控网络安全态势量化评估方法,对网络安全态势进行全面准确的量化评估。
所述基于知识图谱的工控网络安全态势量化评估方法,包括如下步骤:
步骤1,定义和构造网络安全知识图谱:
1)把知识图谱定义为KG,KG={E,R},其中E代表网络安全知识图谱中所有节点的集合,包括主机和漏洞;R代表网络安全知识图谱中节点之间关系的集合,包括具有、通信、关联;
2)对网络安全知识图谱中的E、R设定具体的规范和定义:
E包括的节点分为2种:主机(Host)、漏洞(Vulnerability);
主机具有的属性包括:Name(名称)、IP(IP地址)、MAC(地址)、OS(操作***)、Version(版本号)、Weights(业务权重);
漏洞具有的属性包括:ID(CVE编码、唯一标识)、Name(名称)、Describe(描述)、Type(漏洞类型)、Score(CVSS评分)、Soft(受影响的软件信息)、Patch(补丁信息)、AV(攻击路径)、AC(攻击复杂度)、PR(授权要求)、UI(用户接口)、Scope(影响范围)、Confidentiality(保密性)、Integrity(完整性)、Availability(可用性);
R包括主机和主机的关联关系、主机和漏洞的关联关系;主机和主机的关系标记为Connection,表示一个主机到另一个主机的网络连接,具有的属性包括:Direction(流量方向)、Bandwidth(带宽),Direction的取值范围包括In(接收)、Out(发送)、All(双向)、Unknown(未知);
主机和漏洞的关系标记为Has,Has标识主机具有某个漏洞;
步骤2,定义网络安全知识图谱中节点的业务权重:
节点的业务权重用Weights标识,代表节点在工控业务中的重要程度,定义分值范围为1~10,分数越高权重越大;
步骤3,根据攻击事件计算威胁指数:
1)对攻击事件进行分类,把攻击事件分为4大类:DoS(拒绝服务)、R2L(远程非法访问)、U2R(本地非法提权)、PROBING(扫描);
2)计算被攻击主机的直接威胁指数HRS:
结合攻击目标业务权重、漏洞评分、攻击事件和漏洞的匹配程度,进行单个主机的直接威胁指数评估;
漏洞评分记为Score,Score的取值范围是0~10;
定义:VS={Score1,Score2,Score3,...Scorem},其中,m为漏洞数量;
漏洞攻击事件和漏洞的匹配程度记为Match,Match的分值范围为0~10,攻击事件和漏洞的匹配分值参考攻击类型和漏洞的CVSS评分进行综合评定;
定义:VM={Match1,Match2,Match3,...Matchm},其中,m为漏洞数量;
单个主机存在多个漏洞,受到多种攻击事件时,直接威胁指数HRS选择攻击事件和攻击事件匹配的漏洞的分数乘积的最大值;
被攻击的单个主机的直接威胁指数HRS的计算公式如下:
其中,0≤HRS≤100;
3)计算主机的间接威胁指数NRS:
间接威胁指数NRS受攻击事件扩散的影响,即攻击事件发生的节点被攻击后可能引起的后续攻击;
攻击事件的扩散指数用Spread标识,取值范围为0~10;
设定深度遍历的深度为Depth,与被攻击的节点紧邻的节点Depth为1,逐级递增;
单个被攻击的节点对邻接节点的间接威胁指数NRS_ONE计算公式为:
NRS_ONE=Max{Score|Score∈VS}*Spread*0.8Depth,
Depth≤8,0≤NRS_ONE≤100,
叠加多个被攻击节点的影响,所述邻接节点的间接威胁指数NRS计算公式为:
4)计算主机的完整威胁指数RS:
主机的完整威胁指数RS取直接威胁指数和间接威胁指数的最大值为:
RS=Max{HRS|NRS},0≤RS≤100;
5)计算整网的威胁指数NetworkRS:
根据所有主机的威胁指数及权重,通过加权平均数算法,计算整网的威胁指数NetworkRS,计算公式如下:
k为主机数量。
进一步地,步骤1中,E包含的漏洞通过漏洞描工具扫描整个网络获得。
进一步地,步骤1中,R中主机和漏洞的关联关系采用漏洞扫描工具扫描后得到。
进一步地,步骤3中,漏洞评分取值正比于漏洞越严重性,攻击事件和漏洞的匹配程度取值正比于攻击事件和漏洞的匹配程度。
进一步地,步骤3中,攻击事件的扩散指数Spread的值,随扩散传播程度升高提高取值;同时,攻击事件的扩散指数Spread的值随着路径的加深衰减,每加一层路径衰减80%;对于DoS攻击,攻击事件的扩散指数Spread的初始值设置为0;对于其他攻击,攻击事件的扩散指数Spread的初始值设置为10。
进一步地,业务权重Weights、漏洞评分Score、漏洞攻击事件和漏洞的匹配程度Match、攻击事件的扩散指数Spread、深度遍历的深度Depth根据工控网络的实时评估状况进行调整。
与现有技术相比,本发明所述基于知识图谱的工控网络安全态势量化评估方法具有如下的有益效果:
1、本发明所述基于知识图谱的工控网络安全态势量化评估方法使用知识图谱技术,基于图数据库,支持快速进行图计算。
2、本发明所述基于知识图谱的工控网络安全态势量化评估方法结合攻击和漏洞信息,更准确的评估攻击事件带来的威胁。
3、本发明所述基于知识图谱的工控网络安全态势量化评估方法结合网络图,通过广度遍历和深度遍历,计算攻击事件带来的间接威胁,更全面评估风险,方便对未发生的威胁进行预警。
4、本发明所述基于知识图谱的工控网络安全态势量化评估方法结合节点的业务权重,威胁指数的计算更有价值。
附图说明
图1为中国专利申请号为:CN201710234882.1的专利的知识图谱示意图;
图2为中国专利申请号为:CN201810036765.9的专利的技术架构图;
图3为中国专利申请号为:CN201710050255.2的专利的技术架构图;
图4为本发明所述基于知识图谱的工控网络安全态势量化评估方法的***流程图;
图5为本发明所述基于知识图谱的工控网络安全态势量化评估方法的知识图谱示例图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步说明。
如图4所示,所述基于知识图谱的工控网络安全态势量化评估方法,包括如下步骤:
步骤1,定义和构造网络安全知识图谱:
1)把知识图谱定义为KG,KG={E,R},其中E代表网络安全知识图谱中所有节点的集合,包括主机和漏洞;R代表网络安全知识图谱中节点之间关系的集合,包括具有、通信、关联等;E和R都具有一个或多个属性,即Key-Value值。
2)对网络安全知识图谱中的E、R设定具体的规范和定义:
E包括的节点分为2种:主机(Host)、漏洞(Vulnerability);
主机具有的属性如下表:
Key |
Value |
Name |
名称,唯一标识 |
IP |
IP地址 |
MAC |
MAC地址 |
OS |
操作*** |
Version |
版本号 |
Weights |
权重,业务重要程度 |
漏洞具有的属性如下表:
R包括主机和主机的关联关系、主机和漏洞的关联关系,主机和漏洞的关联关系采用漏洞扫描工具扫描后得到;主机和主机的关系标记为Connection,表示一个主机到另一个主机的网络连接,具有的属性如下表:
主机和漏洞的关系标记为Has,Has标识主机具有某个漏洞;
步骤2,定义网络节点的业务权重:
资产的业务权重用Weights标识,代表节点在工控业务中的重要程度,由管理员人工定义分值范围为1~10,分数越高权重越大;
步骤3,根据攻击事件计算威胁指数:
1)对攻击事件进行分类,把攻击事件分为4大类:DoS(拒绝服务)、R2L(远程非法访
问)、U2R(本地非法提权)、PROBING(扫描);
2)计算被攻击主机的直接威胁指数HRS:
结合攻击目标业务权重、漏洞评分、攻击事件和漏洞的匹配程度,进行单个主机的直接威胁指数评估;
漏洞评分记为Score,Score的取值范围是0~10,漏洞评分取值正比于漏洞越严重性;
定义:VS={Score1,Score2,Score3,...Scorem},其中,m为漏洞数量;
漏洞攻击事件和漏洞的匹配程度记为Match,Match的分值范围为0~10,攻击事件和漏洞的匹配分值参考攻击类型和漏洞的CVSS评分进行综合评定,,攻击事件和漏洞的匹配程度取值正比于攻击事件和漏洞的匹配程度;
定义:VM={Match1,Match2,Match3,...Matchm},其中,m为漏洞数量;
单个主机存在多个漏洞,受到多种攻击事件时,直接威胁指数HRS选择攻击事件和其匹配的漏洞的分数乘积的最大值;
被攻击的单个主机的直接威胁指数HRS的计算公式如下:
其中,0≤HRS≤100;
3)计算主机的间接威胁指数NRS:
间接威胁指数NRS受攻击事件的扩散影响,间接威胁指数NRS受攻击事件扩散的影响,即攻击事件发生的节点被攻击后可能引起的后续攻击;从被攻击目标开始,使用网络安全知识图谱的图计算能力,先广度遍历再深度遍历,即从被攻击节点开始先遍历网络可达的邻接节点,再从邻接节点深度推进;通过推算该攻击事件在网络图中的扩散范围,计算出每个可能受影响的主机节点的间接威胁指数NRS。
同时,一个主机的攻击事件是否会在网络上进行扩散形成网络攻击,主要看攻击的类型和邻接点的漏洞类型。根据前面的定义,攻击类型分为4大类,其中DoS攻击主要针对单个节点形成威胁,不会把被攻击节点作为跳板在网络形成扩散,其他攻击都有可能在网络扩散。
攻击事件的扩散指数用Spread标识,取值范围为0~10;攻击事件的扩散指数Spread的值,随扩散传播程度升高提高取值;同时,攻击事件的扩散指数Spread的值随着路径的加深衰减,每加一层路径衰减80%;对于DoS攻击,攻击事件的扩散指数Spread的初始值设置为0;对于其他攻击,攻击事件的扩散指数Spread的初始值设置为10;
设定深度遍历的深度为Depth,与被攻击的节点紧邻的节点Depth为1,逐级递增;
单个被攻击的节点对邻接节点的间接威胁指数NRS_ONE计算公式为:
NRS_ONE=Max{Score|Score∈VS}*Spread*0.8Depth,
Depth≤8,0≤NRS_ONE≤100,
叠加多个被攻击节点的影响,所述邻接节点的间接威胁指数NRS计算公式为:
4)计算主机的完整威胁指数RS
主机的完整威胁指数RS取直接威胁指数和间接威胁指数的最大值为:
RS=Max{HRS|NRS},0≤RS≤100;
5)计算整网的威胁指数NetworkRS。
根据所有主机的威胁指数及权重,通过加权平均数算法,计算整网的威胁指数NetworkRS,计算公式如下:
进一步地,业务权重Weights、漏洞评分Score、漏洞攻击事件和漏洞的匹配程度Match、攻击事件的扩散指数Spread、深度遍历的深度Depth根据工控网络的实时评估状况进行调整。
例如,结合资产扫描、漏洞扫描、拓扑生成等技术生成的数据,构造网络安全知识图谱如图5所示,并设置相应主机业务权重、漏洞评分,则:
主机-1:具有漏洞-1、漏洞-2,业务权重为5,是一般的业务主机。
主机-2:具有漏洞-2,业务权重为10,是重要的业务主机。
主机-3:没有漏洞,业务权重为10,是重要的业务主机。
主机-4:具有漏洞-2,业务权重为5,是一般的业务主机。
主机-5:具有漏洞-1,业务权重为5,是一般的业务主机。
主机-6:具有漏洞-2,业务权重为5,是一般的业务主机。
漏洞-1:漏洞评分Score=10,属于高危漏洞,通过网络触发。
漏洞-2:漏洞评分Score=5,属于一般漏洞,通过网络触发。
假设受到属于R2L类型的远程攻击,目标主机是主机-1,那么计算主机-1的直接威胁指数:HRS=5×(10×10/10)=50,因为只有这一个攻击事件,所以主机-1的威胁指数为:RS=50。
其他主机没有受到直接攻击,但受到间接威胁,从主机-1开始遍历,首先是主机-2。
计算主机-2针对这次攻击的间接威胁指数:NRS_ONE=5×10×0.8=40,因为只有这一个攻击事件,主机-2的间接威胁指数:NRS=10×(40/10)=40。
最后,主机-2的威胁指数为:RS=40。
从主机-2开始,遍历主机-3和主机-4,主机-3没有漏洞,所以威胁指数为0;主机-4的间接威胁指数为:NRS_ONE=5×10×0.8×0.8=32,NRS=5×(32/10)=16,RS=16。
从主机-4到主机-5和主机-6无法联通,所以本次攻击对主机-5和主机-6没有影响,它们的威胁指数为0。
最后计算整网的威胁指数为:
NetworkRS=(50+40+16)/(5+10+10+5+5+5)×10=26.5。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆因属本发明的涵盖范围。