[发明专利]一种基于Kohonen神经网络的最佳攻击路径规划方法在审

专利信息
申请号: 201710556626.4 申请日: 2017-07-10
公开(公告)号: CN107347069A 公开(公告)日: 2017-11-14
发明(设计)人: 胡昌振;陈韵;吕坤 申请(专利权)人: 北京理工大学
主分类号: H04L29/06 分类号: H04L29/06;H04L12/721;H04L12/751;H04L12/24
代理公司: 北京理工大学专利中心11120 代理人: 仇蕾安
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于Kohonen神经网络的最佳攻击路径规划方法,属于信息安全技术领域。具体操作步骤为步骤一、获取网络结构。步骤二、收集网络系统中主机及漏洞信息。步骤三、建立Kohonen神经网络模型。步骤四、训练Kohonen神经网络模型,得到训练好的Kohonen神经网络模型。步骤五、使用训练好的Kohonen神经网络模型,对实验数据进行预测,得到输出向量Ym。步骤六、构造K‑攻击图。步骤七、根据K‑攻击图构造概率矩阵以及最佳原子攻击矩阵。步骤八、得到最佳攻击路径。本发明提出的基于Kohonen神经网络的攻击路径规划方法与已有技术相比较,具有以下优点①生成的攻击图只保留最可能的攻击节点,避免了状态爆炸问题。②泛化性能强。③最优攻击路径生成速度快。
搜索关键词: 一种 基于 kohonen 神经网络 最佳 攻击 路径 规划 方法
【主权项】:
一种基于Kohonen神经网络的最佳攻击路径规划方法,其特征在于:其具体操作为:步骤一、获取网络结构;步骤1.1:获取网络系统中各主机的软件应用,建立软件应用与主机对应表;所述网络系统包括内部网络和非军事化区DMZ;所述软件应用与主机对应表包含:软件应用名称和主机名称;步骤1.2:获取网络系统中各主机之间以及网络系统中各主机与网络系统外部的攻击者主机之间的会话链接,建立主机间会话链接表;所述主机间会话链接表包括:源主机名和目标主机名;步骤二、收集网络系统中主机及漏洞信息;具体为:步骤2.1:收集CVE数据库中的漏洞ID,并将漏洞ID转换成七元组向量,用符号Xm表示第m个漏洞的七元组向量;Xm=<S,C,I,U,Co,Av,Au>其中,S为CVSS漏洞评分;C,I,U分别为漏洞对信息系统的机密性、完整性和可用性影响评分;Co是利用漏洞的攻击复杂度评分;Av是漏洞攻击向量评分;Au代表攻击是否需要身份认证;步骤2.2:收集漏洞被利用后产生的概率最大的攻击结果,并用二元组向量表示;所述二元组向量用符号Ym表示,Ym=<Category,Pr<;其中,Category表示漏洞被利用后,获取漏洞所在主机的权限评分,Pr表示攻击成功率;所述主机的权限评分是根据主机的权限对主机的机密性、完整性和可用性影响,由人为预先设定;步骤三、建立Kohonen神经网络模型;所述Kohonen神经网络模型为3层神经网络,分别是:输入层、Kohonen层和输出层;其中,输入层包括7个输入节点;输出层包括2个输出节点;Kohonen层包括15‑25个节点;步骤四、训练Kohonen神经网络模型,得到训练好的Kohonen神经网络模型;具体为:步骤4.1:设置Kohonen神经网络模型的参数,包括:Kohonen层的最大学习率,用符号δmax表示,δmax∈(0,1);输出层的最小学习率,用符号δmin表示;δmin∈(0,1);最大邻域,用符号Rmax表示,Rmax∈(1,2);最小邻域,用符号Rmin表示,Rmin∈(0,1);步骤4.2:为Kohonen神经网络模型各节点之间的权值设置初始值;具体为:用符号ωij表示输入层节点到Kohonen层节点间的权值,用符号ωjk表示Kohonen层节点到输出层节点间的权值,i∈[1,7],j∈[1,N],k∈[1,2],N为Kohonen层节点的个数;随机设置ωij和ωjk的值,满足ωij∈(0,1),ωjk∈(0,1);步骤4.3:设置总迭代次数,用符号maxgen表示,maxgen≥5000;设置当前迭代次数,用符号l表示,l的初始值为1;将七元组向量Xm=<S,C,I,U,Co,Av,Au>作为输入数据,S,C,I,U,Co,Av,Au分别对应一个输入节点;将二元组向量Ym=<Category,Pr>作为输出数据,Category,Pr分别对应一个输出节点;步骤4.4:通过自适应函数来对邻域进行调整;自适应函数如公式(1)所示;r=(Rmax-l)×(Rmax-Rmin)maxgen---(1)]]>其中,r为Kohonen层的最佳输出节点的邻域半径;所述最佳输出节点通过步骤4.5得到;步骤4.5:通过公式(2)寻找Kohonen层的最佳输出节点;posc=min dj                                                (2)其中,posc表示Kohonen层的最佳输出节点;dj表示输入层的第i个输入节点与Kohonen层的第j个节点之间的欧氏距离,dj通过公式(3)计算得到;dj=|Σi=17(xi-ωij)2|---(3)]]>其中,xi表示输入层的第i个输入节点的值;步骤4.6:通过公式(4)寻找posc的邻域节点;Nc(t)=(t|find(norm(post,posc)<r)                                 (4)其中,Nc(t)表示posc的邻域节点;post表示Kohonen层除了posc以外的任一节点;norm(post,posc)表示posc和post之间欧几里得距离;(t|find(norm(post,posc)<r)表示将所有满足norm(post,posc)<r的节点作为posc的邻域节点;步骤4.7:通过公式(5)和(6)对Kohonen层的最佳输出节点posc和posc的邻域节点以及对应的输出层节点进行权值修正;ωij=ωij+δmax(xi‑ωij)                                        (5)ωjk=ωjk+δmin(yk‑ωjk)                                       (6)其中,yk为输出层第k个输出节点的输出值;步骤4.8:使迭代次数l的值自增1,然后重复执行步骤4.2至步骤4.8的操作,直到迭代次数l与maxgen的值相等,结束操作;通过以上步骤的操作,得到训练好的Kohonen神经网络模型;步骤五、使用训练好的Kohonen神经网络模型,对实验数据进行预测,得到输出向量Ym;步骤5.1:收集网络系统中主机存在的漏洞,构造漏洞信息表;所述漏洞信息表包括:漏洞ID、主机名称、软件应用名称、主机权重;然后,利用漏洞ID得到七元组向量,用符号Xn表示第n个漏洞的七元组向量;Xn=<S,C,I,U,Co,Av,Au>;所述主机权重是根据主机所在位置及提供的服务,由人为设定的值;步骤5.2:将七元组向量Xn=<S,C,I,U,Co,Av,Au>作为输入数据输入训练好的Kohonen神经网络模型,S,C,I,U,Co,Av,Au分别对应一个输入节点;步骤5.3:运行训练好的Kohonen神经网络模型,得到的输出结果为二元组向量,用符号Yn表示,Yn=<Category,Pr>;七元组向量Xn与二元组向量Yn一一对应;步骤六、构造K‑攻击图;步骤6.1:使用步骤五中所述漏洞信息表和二元组向量Yn构造漏洞利用表;所述漏洞利用表包括:漏洞ID、主机名称、主机操作系统、主机权重、攻击结果Category和攻击成功率Pr;然后,在K‑攻击图上显示漏洞利用表中全部信息;步骤6.2:根据主机间会话链接表,在K‑攻击图上绘制从源主机到目的主机之间的有向边,在有向边上标注攻击成功率Pr;同时,在每个节点上标注:节点类型、主机名称、攻击结果Category、主机应用名称和漏洞ID;所述节点类型包括:权限节点和漏洞利用节点;通过上述步骤的操作,完成K‑攻击图;步骤七、根据K‑攻击图构造概率矩阵以及最佳原子攻击矩阵;步骤7.1:通过公式(7),计算漏洞利用表中漏洞的权重;Wv=Pr+Σg=1dWg×Σf=1hTgfΣp=1eWp---(7)]]>其中,Wv表示漏洞利用表中第v个漏洞的权重;d表示包含漏洞v的主机的个数;Wg为包含漏洞v的第g个主机的权重,g为正整数;f为主机g的第f种权限,f∈[1,h],h为主机g的权限数量;表示利用漏洞v获取主机g的第f种权限对应的评分值;Wp为网络系统中的第p台主机权重,从主机权重表中获取,p∈[1,e];e为网络系统中主机的个数;步骤7.2:根据公式(8),构造概率矩阵;Pvi′j′=(cli′j′×Wv)×Wi′Wi′+Wj′---(8)]]>其中,Pvi′j′表示主机i′利用主机j′中漏洞v的概率,1≤i′,j′≤t,t为网络系统中主机个数与网络系统外部的攻击者主机个数之和;cli′j′表示主机i′与主机j′之间的连通情况,cli′j′∈[0,1],0表示第i′台主机与第j′台主机之间处于未连通状态;1表示第i′台主机与第j′台主机之间处于连通状态;Wi′为主机i′的主机权重;Wj′为主机j′的主机权重;步骤7.3:从主机i′利用主机j′的各个漏洞的概率中,挑选出最大值,用符号Pi″j′表示,然后用Pi″j′构成最佳原子攻击矩阵;步骤八、得到最佳攻击路径;步骤8.1:根据最佳原子攻击矩阵,遍历从源节点到目标节点的所有的可能攻击路径,并计算每条攻击路径的攻击概率,挑选出最大值,用符号Vhp表示;Vhp对应的攻击路径为最大概率攻击路径,用符号Hp表示;步骤8.2:根据公式(9),寻找在最大概率攻击路径的邻域路径,用符号Hn表示;Nh(q)=(q|find(Vhp‑Vq)<r′)               (9)其中,r′为最大概率攻击路径的邻域半径,r′通过公式(10)计算得到;(q|find((Vhp‑Vq)<r′))表示将所有满足(Vhp‑Vq)<r′的攻击路径作为最大概率攻击路径Hp的邻域路径;Nh(q)表示攻击成功率在[Vhp‑r′,Vhp]间的攻击路径,即最佳攻击路径;r′=RminΣp=1eWp×Wh---(10)]]>其中,Wh为最大概率攻击路径Hp中的主机权重和。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710556626.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top