一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于贝叶斯网络及STRIDE模型的XSS风险分析方法及装置与流程

2021-10-24 07:42:00 来源:中国专利 TAG:装置 模型 风险 方法 分析

基于贝叶斯网络及stride模型的xss风险分析方法及装置
技术领域
1.本技术涉及数据处理领域,特别是涉及一种基于贝叶斯网络及stride模型的xss风险分析方法、装置、计算机设备和存储介质。


背景技术:

2.随着现代社会对web应用程序的依赖性大大增加,传统的指挥与控制系统也逐渐转变为一种信息化网络平台,但指挥与控制网络(commandandcontrolnetwork,c2网络)的安全防护体系在检测和响应环节还不完善,例如传统星型拓扑结构的c2网络和天基c2网络,尤其缺乏针对web攻击等威胁的风险评估,在各种web攻击的高危态势下,仍面临着机密数据泄露、管理权限窃取等严峻威胁,在各类web攻击中,比较常见且危害较大的是跨站脚本攻击(crosssitescripting,xss)
3.目前,xss防范方法主要为在服务端对输入信息进行过滤,但这种方法漏报率较高,不能及时保护网络系统,且一旦面对复杂的网络战时基本无能为力,目前有人使用三种机器学习算法来预测xss攻击,包括朴素贝叶斯、svm支持向量机和j48决策树,这三种算法都给出了较好的离散属性和检测结果,还有人使用决策树分类算法实现对xss攻击的高效分析检测或采用notears算法,找到贝叶斯网络结构学习问题的全局解,并用于xss攻击检测,使其具有更高的准确率。虽然目前的机器学习算法都能有效地解决xss攻击的检测问题,但缺少对xss攻击威胁风险的量化分析,不能很好的支持后续的防御决策活动。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够完成xss风险分析的基于贝叶斯网络及stride模型的xss风险分析方法、装置、计算机设备和存储介质。
5.一种基于贝叶斯网络及stride模型的xss风险分析方法,所述方法包括:
6.构建网络信息发布系统关于xss攻击相关的stride威胁模型;
7.从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构;
8.根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;
9.根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集;
10.采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;
11.根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络系统遭受xss攻击风险的量化分析结果。
12.在其中一个实施例中,根据信息资产、信息资产之间的数据流以及数据流对应的
xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构,包括:
13.将信息资产作为贝叶斯网络模型节点,数据流对应的xss攻击类型作为所述贝叶斯网络模型节点的变量内容;根据各个信息资产的层级关系以及信息资产之间的数据流的走向设置贝叶斯网络模型各节点间的关系;根据贝叶斯网络模型节点、贝叶斯网络模型节点的变量内容和贝叶斯网络模型各节点间的关系,得到xss攻击贝叶斯网络风险分析模型的网络结构。
14.在其中一个实施例中,节点包括:父节点和子节点;根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率,包括:根据专家经验,得到贝叶斯网络模型中的漏洞类型的比例,将漏洞类型的比例作为贝叶斯网络模型中的父节点的先验概率;利用排序节点算法对贝叶斯网络模型中的子节点进行排序计算,得到贝叶斯网络模型中的子节点的先验概率。
15.在其中一个实施例中,训练数据集包括混合高斯分布数据集和简单分布数据集;根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集,包括:根据贝叶斯网络模型父节点的先验概率,确认贝叶斯网络模型中父节点服从混合高斯分布,采用拒绝性采样算法,得到混合高斯分布数据集;根据贝叶斯网络模型子节点的先验概率,确认贝叶斯网络模型子节点服从简单分布,采用直接抽样的方式得到简单分布数据集。
16.在其中一个实施例中,采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型,包括:获取bnlearn程序包;训练数据集通过bnlearn程序包中的model2network函数对 xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型。
17.在其中一个实施例中,根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络信息发布系统遭受xss攻击风险的量化分析结果,包括:获取贝叶斯网络中的关键节点和非关键节点;设置关键节点的被攻击状态,以及非关键节点的正常状态或中等风险状态的证据条件;通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值;根据关键节点和非关键节点处在安全状态的概率值,得到网络信息发布系统遭受xss攻击风险的量化分析结果。
18.在其中一个实施例中,通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值,包括:采用bnlearn程序包中的cpquery函数进行cp查询遍历,得到证据条件下关键节点和非关键节点处在安全状态的概率值。
19.一种基于贝叶斯网络及stride模型的xss风险分析装置,所述装置包括:
20.stride威胁模型获取模块,用于构建网络信息发布系统关于xss攻击相关的stride威胁模型;
21.网络结构获取模块,用于从所述stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;根据所述信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到 xss攻击贝叶斯网络风险分析模型的网络结构;
22.先验概率获取模块,用于根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;
23.训练数据集获取模块,根据所述节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集;
24.网络训练模块,采用训练数据集对所述xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;
25.贝叶斯网络推理模块,根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络系统遭受xss攻击风险的量化分析结果。
26.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
27.构建网络信息发布系统关于xss攻击相关的stride威胁模型;
28.从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构;
29.根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;
30.根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集;
31.采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;
32.根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络系统遭受xss攻击风险的量化分析结果。
33.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
34.构建网络信息发布系统关于xss攻击相关的stride威胁模型;
35.从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构;
36.根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;
37.根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集;
38.采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;
39.根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络系统遭受xss攻击风险的量化分析结果。
40.上述基于贝叶斯网络及stride模型的xss风险分析方法及装置,首先构建网络信息发布系统关于xss攻击相关的stride威胁模型,从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;将信息资产作为贝叶斯网络模型节点,数据流对应的xss 攻击类型作为贝叶斯网络模型节点的变量内容;根据各个信息资产的层级关系以及所述信息资产之间的数据流的走向设置贝叶斯网络模
型各节点间的关系,得到xss攻击贝叶斯网络风险分析模型的网络结构;根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集,采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;通过对stride威胁模型进行分析,从而实现将stride威胁模型转化为了xss攻击贝叶斯网络风险分析模型,从而xss攻击贝叶斯网络风险分析模型包含了stride威胁模型中全部的信息,并且xss攻击贝叶斯网络风险分析模型具备推理能力,根据xss 攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到贝叶斯网络模型节点处在安全状态的概率值,概率值越小,则所对应的节点遭受xss攻击风险就越高,从而实现了web系统遭受xss攻击风险的量化分析。
附图说明
41.图1为一个实施例中基于贝叶斯网络及stride模型的xss风险分析方法的流程示意图;
42.图2为一个实施例中基于贝叶斯网络及stride模型的xss风险分析装置的结构框图;
43.图3为一个实施例中stride威胁模型的结构示意图;
44.图4为一个实施例中贝叶斯网络风险分析模型的网络结构示意图;
45.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
46.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
47.在一个实施例中,如图1所示,提供了一种基于贝叶斯网络及stride模型的xss风险分析方法,包括以下步骤:
48.步骤102:构建网络信息发布系统关于xss攻击相关的stride威胁模型。
49.stride由六种威胁类型的英文词汇的首字母缩写组成,包括:欺骗 (spoofing)、篡改数据(tampering)、否认(repudiation)、信息泄露(informationdisclosure)、拒绝服务(denial of service)、提升权限(elevation of privilege),上述威胁分别简称为s类、t类、r类、i类、d类以及e类威胁。
50.网络信息发布系统的数据流划分成三部分,包括:if1信息发布与更新、if2 信息收集与验证和if3信息存储与提取。以数据流为单位进行统计分析此模型中每个数据流及其关联的信息资产是否容易受到xss攻击,进而遭受s类、t类、r 类、i类、d类以及e类威胁,具体过程如下。
51.(1)if1数据流可能面临着威胁

:当用户点击了一个被攻击者注入xss 漏洞代码的链接后,服务器接收到相关请求数据,将处理后但仍含有xss漏洞的代码数据发送给浏览器,浏览器运行这段恶意代码后,攻击者就能实现查看或者篡改数据,造成信息泄露(i类威胁)或篡改数据(t类威胁)。
52.(2)在if2数据流中,最可能遭受反射型xss攻击。威胁

:攻击者实施xss 攻击可能利用社交网站发动拒绝服务攻击,将恶意代码指向目标受害网站,如果有大量用户转发存在恶意代码的页面,那么受害网站会疲于响应,则形成拒绝服务攻击,造成拒绝服务(d类威胁)。威胁

:如果攻击者在xss漏洞代码其中插入一些获取用户敏感信息的恶意代码,就会导致用户的敏感信息泄漏,造成信息泄露(i类威胁)。威胁

:攻击者会通过篡改网页以此来攻击网络服务器,造成篡改数据(t类威胁)。典型的例子比如xss蠕虫。威胁

:从web 服务器到数据库访问组件或者相反通道容易遭受存储型xss攻击,一般发生在将用户的数据存储至数据库里的web应用程序,造成信息泄露(i类威胁)与篡改数据(t类威胁)。威胁

:攻击者通过xss会话劫持,来窃取合法用户的 cookie信息,从而以被劫持的用户的身份冒充合法用户完成登录,进行恶意的操作。造成欺骗(s类威胁)、信息泄露(i类威胁)、提升权限(e类威胁)。
53.(3)在if3数据流中,可能存在着威胁

:攻击者在实施xss攻击时可能配合以dos攻击,发送大量的tcp/ip数据包,使得数据库服务器不能响应有效用户的合法请求,造成拒绝服务(d类威胁)。威胁

:如果xss攻击内网,攻击者首先获得内网的ip,得到内网应用指纹,最后利用内网中的漏洞进行进一步的恶意操作。从而窃取、篡改数据库中的数据,造成信息泄露(i类威胁) 和篡改数据(t类威胁)。
54.由此建立起该网络信息发布系统实例的stride威胁模型,如图3所示。
55.步骤104:从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构。
56.如图3所示,信息资产指的是网络信息发布系统的各组成部件,如web用户、 web服务器、web页面、身份验证、存储数据、数据库服务器和数据库访问组件。信息资产之间的数据流指if1信息发布与更新、if2信息收集与验证和if3信息存储与提取。xss攻击类型是指s类、t类、r类、i类、d类以及e类威胁。在图3所示的网络信息发布系统数据流stride威胁模型基础上,提取贝叶斯网络模型节点、贝叶斯网络模型节点的变量内容和贝叶斯网络模型节点间的关系,构建xss攻击贝叶斯网络风险分析模型的网络结构。
57.步骤106:根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率。
58.排序节点基于双截尾正态分布(tnormal分布,以下简称tn分布),表示离散变量,其中心趋势为父节点的一种加权函数,它能使用最少的专家经验启发构建节点的先验概率,进而构建npt。排序节点的状态用序尺度表示,序尺度可以映射到连续且单调有序的有界数值尺度上。通过排序算法得到的tn分布的均值部分u,就是其对应节点的先验概率。
59.步骤108:根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集。
60.拒绝性采样算法基于下列思想:
61.1)首先需要从复杂的目标分布中抽取样本,记这个分布为p(x)。同时还有另一个简单的建议分布q(x)可以从中采样。然后,这里假设存在常数k满足对于所有x的值,x表示从复杂的目标分布中抽取的样本,有:
62.kq(x)≥p(x)
63.2)从建议分布q(z)中抽取样本z0。
64.3)从[0,kq(z0)]上的均匀分布中抽取第二个样本u0。
[0065]
4)如果u0>p(z0),那么拒绝样本,否则接受u0。
[0066]
采用直接抽样的方式得到一部分样本进行仿真得到该部分节点的数据集,通过拒绝采样算法得到另一部分样本进行仿真得到该部分节点的数据集。
[0067]
步骤110:采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型。
[0068]
利用stride威胁模型构建的xss攻击贝叶斯网络风险分析模型的网络结构是初始结构,缺乏推理能力,需要采用训练数据集对该网络结构进行网络训练,由于训练数据集中包含了先验信息,通过不断的网络训练使得训练后的网络结构具备了一定的推理能力,可以用来进行贝叶斯网络推理,从而得到xss 攻击贝叶斯网络风险分析模型。步骤112:根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络信息发布系统遭受xss攻击风险的量化分析结果。
[0069]
网络信息发布系统遭受xss攻击风险的量化分析结果可以分为网络信息发布遭受xss攻击事件概率和网络信息发布系统的薄弱关键节点。
[0070]
上述基于贝叶斯网络及stride模型的xss风险分析方法及装置,首先构建网络信息发布系统关于xss攻击相关的stride威胁模型,从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;将信息资产作为贝叶斯网络模型节点,数据流对应的xss 攻击类型作为贝叶斯网络模型节点的变量内容;根据各个信息资产的层级关系以及所述信息资产之间的数据流的走向设置贝叶斯网络模型各节点间的关系,得到xss攻击贝叶斯网络风险分析模型的网络结构;根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集,采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;通过对stride威胁模型进行分析,从而实现将stride威胁模型转化为了xss攻击贝叶斯网络风险分析模型,从而xss攻击贝叶斯网络风险分析模型包含了stride威胁模型中全部的信息,并且xss攻击贝叶斯网络风险分析模型具备推理能力,根据xss 攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到贝叶斯网络模型节点处在安全状态的概率值,概率值越小,则所对应的节点遭受xss攻击风险就越高,从而实现了web系统遭受xss攻击风险的量化分析。
[0071]
在其中一个实施例中,根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构,包括:将信息资产作为贝叶斯网络模型节点,数据流对应的xss攻击类型作为所述贝叶斯网络模型节点的变量内容;根据各个信息资产的层级关系以及信息资产之间的数据流的走向设置贝叶斯网络模型各节点间的关系;根据贝叶斯网络模型节点、贝叶斯网络模型节点的变量内容和贝叶斯网络模型各节点间的关系,得到xss攻击贝叶斯网络风险分析模型的网络结构。
[0072]
如图3所示,以图中显示的信息资产即系统的各组成部件为贝叶斯网络模型节点,而与各部件相对应的信息数据流所面临的威胁类型表示为各个节点的变量内容。例如,节点——web用户,其对应的数据流遭受的威胁为威胁

,其威胁类型包括信息泄露(i类威
胁)和篡改数据(t类威胁),因此web用户节点的变量内容包括信息泄露(用i表示)、篡改数据(用t表示)和正常状态(未受到攻击威胁,用n表示)。除了系统的各个部件外,本文还需要整体评估节点来对系统的整体风险状态进行评估,因此采用if1、if2、if3以及定义系统整体评价(total)这四个指标作为系统的整体评估节点,这里划分五个等级包括非常低、低、中、高和非常高来表示其节点变量内容,分别用字母vl、l、m、h 以及vh表示。经统计后,构建的贝叶斯网络模型包含的所有节点及其节点的变量内容如表1所示。
[0073]
表1贝叶斯网络模型各节点状态统计
[0074][0075]
模型所有节点构建完成后,根据系统各部件的层级关系以及部件间数据流的走向来初始化模型各节点间的关系,即绘制贝叶斯网络网络结构图中的有向弧部分。在图3中,攻击者针对身份验证和web页面进行的攻击,即威胁

和威胁

,是在web服务器层面上的,那么身份验证和web页面的攻击就可作为web 服务器层面的父节点,即i和p是w的父节点。而攻击者针对存储数据方面的攻击是在数据库服务器的层面上,因此存储数据作为数据库的父节点,即s是d 的父节点。其中,web服务器与数据库服务器之间存在相互访问,即威胁

所在位置,那么web服务器与数据库服务器有共同的子节点——访问组件,则w与d 是a的父节点。如图3所示,所有的威胁都被归纳到三个数据流中。web用户对应if1数据流,即u是if1的父节点;身份验证、web页面、web服务器和数据库访问组件对应if2数据流,即w和a是if2的父节点;存储数据、数据库服务器对应if3数据流,即d是if3的父节点,得到xss攻击贝叶斯网络风险分析模型的网络结构如图4所示。
[0076]
在其中一个实施例中,节点包括:父节点和子节点;根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率,包括:根据所述专家经验,得到贝叶斯网络模型中的漏洞类型的比例,将漏洞类型的比例作为贝叶斯网络模型中的父节点的先验概率;利用排序节点算法对贝叶斯网络模型中的子节点进行排序计算,得到贝叶斯网络模型中的子节点的先验概率。
[0077]
在具体的实例中,由于攻击者往往利用网络漏洞对目标发动攻击,因此,表2显示的网络漏洞类型分布作为专家经验知识代表着本文模型中节点遭受攻击的状态情况。筛选
出表2中与本文模型中的攻击类型相关的漏洞类型的比例,作为模型节点遭受攻击所表现出不同状态的先验概率,未受到攻击的划分为节点的正常状态。通过这种方式实现贝叶斯网络结构模型中u到a这七个节点的先验概率获取。表2所显示的网络漏洞类型中,攻击者很可能利用弱口令漏洞盗取账号密码等信息,造成欺骗、提升权限和篡改数据危害。而逻辑漏洞是一种比较常见的漏洞,在漏洞挖掘过程中有时也容易遇见,通常包括:任意密码修改、支付漏洞、密码找回、越权等,攻击者一旦利用这些漏洞,很容易造成信息泄露、提升权限危害。攻击者利用权限漏洞能提升自身权限,其威胁在于足够的权限能够摧毁整个系统,容易造成提升权限危害。应用程序有时需要调用一些执行系统命令的函数,当攻击者利用命令执行漏洞控制这些函数中的参数时,从而造成执行错误,致使网络拒绝服务。漏洞筛选统计结果如表3所示。提取模型节点在表2和表3中对应的信息,得到各节点的先验概率,如表4所示。
[0078]
表2网络漏洞类型分布
[0079][0080]
表3网络漏洞威胁类型统计结果
[0081][0082]
对于if1、if2、if3、total这四个节点,其代表系统三大数据流以及系统整体的评价结果。一方面,它们的状态完全由其相关的父节点的状态直接决定;另一方面,这四个节点并不对应模型中实际的部件,相关专家经验很欠缺。因此对于这四个节点采用排序节点算法创建其先验概率。
[0083]
在一个具体的实施例中,每间隔0.2宽度在[0

1]尺度上划分出{very low,low,middle,high,very high}这样的五点刻度,对应if1、if2、if3、total这四个节点的状态,即从低到高刻画节点遭受风险的五个级别。值得说明的是,间隔宽度不一定限制在0.2,也可以是其他值,具体根据实际需求设置。
[0084]
为了评估网络系统遭受威胁的严重性,可利用dread模型量化并计算风险值,dread是一种对每个被评估的威胁进行量化、比较并划分严重性等级的分类方案。根据专家经验给出模型节点遭受不同威胁下各种状态的权重,分别用整数1、2、3、4、5表示。这里使用x
i
来表示父节点中的状态,由于节点在不同状态下面临的风险从小到大的排序为:正常状
态<信息泄露状态<篡改数据状态<拒绝服务状态<威胁组合状态,因此正常状态的权重为1、信息泄露状态的权重为2,以此类推,在取值时应在取对应整数值的基础上除以它们的均值,即:
[0085][0086]
每个x
i
对子节点贡献的权重即w
i
取决于其代表的父节点状态的条件概率的比率。
[0087]
为了使后续数据预处理工作中,通过if1、if2、if3和total这四个节点的双截尾正态分布抽样获得的数据集更加符合实际攻击环境,这里取调整系数k 的值为2。因为当k=1或者k=3时,从其对应的tn分布抽样获得的结果比较极端化,而当k取中间值2时,抽样得到的结果比较合理,符合网络信息发布系统所处的实际攻击环境。
[0088]
以if1节点为例,其父节点为u(web用户)节点,其父节点的先验概率为正常状态n占69.5%、信息泄露状态i占19%、篡改数据状态t占11.5%。分别用x1、x2、x3代表父节点u的正常状态n、信息泄露状态i、篡改数据状态t。
[0089]
在描述if1节点的tn分布中,n=3,带有合适的误差方差σ
2y
=0.2。那么生成的联合分布为:
[0090][0091]
对于if2节点,其父节点有w和a两个节点,需要将这两个父节点的条件概率进行累积统计,然后按排序节点进行计算。对于total节点,由于代表模型整体评价结果,因此在得到if1、if2、if3三个父节点的先验概率(由tn分布的均值表示)后,取三个父节点遭受风险的平均情况来表示total节点的风险级别,即tn分布中x1、x2、x3均取值为1。得到if1、if2、if3和total四个节点的先验概率如表4所示。
[0092]
表4节点先验概率统计结果
[0093][0094]
在其中一个实施例中,训练数据集包括混合高斯分布数据集和简单分布数据集;根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集,包括:根据贝叶斯网络模型父节点的先验概率,确认贝叶斯网络模型中父节点服从混合高斯分布,采用拒绝性采样算法,得到混合高斯分布数据集;根据贝叶斯网络模型子节点的先验概率,确认贝叶斯网络模型子节点服从简单分布,采用直接抽样的方式得到简单分布数据集。
[0095]
在本发明中,对于模型的if1、if2、if3和total这四个节点,其服从简单分布,因此直接抽样进行数据集的采样,得到简单分布数据集。对于模型的u、s、d、 i、p、w和a这七个节点,其描述状态内容的变量都是服从两个或者两个以上的条件概率分布,与之对应建立起的高斯混合连续分布就有两个或者两个以上的均值,因此采用拒绝性采样算法创建混合高
斯分布数据集。
[0096]
在其中一个实施例中,采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型,包括:获取bnlearn程序包;训练数据集通过bnlearn程序包中的model2network函数对 xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型。
[0097]
本发明中搭建贝叶斯网络对象(以下简称bn对象)所用到的工具是r语言中的bnlearn程序包1,该程序包是运用贝叶斯网络的一款强大的工具。
[0098]
使用bnlearn程序包中的model2network函数手动构建之前建立的贝叶斯网络模型,使用bnlearn程序包中的bn.fit函数,得到一个bn对象。至此,完整的基于贝叶斯网络的xss攻击风险分析模型创建成功,bn对象含有所有模型节点的详细参数,即描述节点状态内容的完整条件概率表,是进行查询事件概率等贝叶斯网络推理的基础。
[0099]
在其中一个实施例中,根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络信息发布系统遭受xss攻击风险的量化分析结果,包括:获取贝叶斯网络中的关键节点和非关键节点;设置关键节点的被攻击状态,以及非关键节点的正常状态或中等风险状态的证据条件;通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值;根据关键节点和非关键节点处在安全状态的概率值,得到网络信息发布系统遭受xss攻击风险的量化分析结果。
[0100]
在另一个实施例中,通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值,包括:采用bnlearn程序包中的cpquery函数进行cp查询遍历,得到证据条件下关键节点和非关键节点处在安全状态的概率值。
[0101]
根据xss攻击风险分析模型所遭受到的各种攻击威胁的风险,通过控制变量的方法,即给定除探讨的关键节点处于被攻击状态、非关键节点处于正常状态或中等风险状态的证据条件,然后通过cp查询(详细过程通过bnlearn程序包中的cpquery函数实现)遍历查找得到各证据条件下,系统模型整体评估节点即total节点所处较安全状态的概率值,遍历查询得到的概率值越小,所对应的关键节点就越是系统模型的薄弱之处。
[0102]
实验中以u、i、p、s、w、d和a节点为关心对象进行一千次遍历查询后,统计每次查询中概率值最小所对应的节点,统计结果如表5所示:
[0103]
表5遍历查询关键节点数量统计情况
[0104][0105]
从表5的结果中可以看出,节点p频数最高,约占总数的25.3%,但节点d 的频数也紧跟其后,约占总数的22.5%。这两个节点所占比例远远高于其他节点,毫无疑问p(web页面)节点和d(数据库服务器)节点就是要寻找的网络信息发布系统模型的薄弱节点,需要采取措施着重加强这两个节点的相关防护。
[0106]
应该理解的是,虽然图1流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而
是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0107]
在一个实施例中,如图2所示,一种基于贝叶斯网络及stride模型的xss 风险分析装置,包括:stride威胁模型获取模块202、网络结构获取模块204、先验概率获取模块206、训练数据集获取模块208、网络训练模块210、贝叶斯网络推理模块212,其中:
[0108]
stride威胁模型获取模块202,用于构建网络信息发布系统关于xss攻击相关的stride威胁模型;
[0109]
网络结构获取模块204,用于从stride威胁模型中提取网络信息发布系统的信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型;根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss 攻击贝叶斯网络风险分析模型的网络结构;
[0110]
先验概率获取模块206,用于根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率;
[0111]
训练数据集获取模块208,根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集;
[0112]
网络训练模块210,采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型;
[0113]
贝叶斯网络推理模块212,根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络系统遭受xss攻击风险的量化分析结果。
[0114]
在其中一个实施例中,网络结构获取模块204还用于根据信息资产、信息资产之间的数据流以及数据流对应的xss攻击类型,得到xss攻击贝叶斯网络风险分析模型的网络结构,包括:将信息资产作为贝叶斯网络模型节点,数据流对应的xss攻击类型作为所述贝叶斯网络模型节点的变量内容;根据各个信息资产的层级关系以及信息资产之间的数据流的走向设置贝叶斯网络模型各节点间的关系;根据贝叶斯网络模型节点、贝叶斯网络模型节点的变量内容和贝叶斯网络模型各节点间的关系,得到xss攻击贝叶斯网络风险分析模型的网络结构
[0115]
在其中一个实施例中,先验概率获取模块206还用于根据专家经验和排序节点算法,得到xss攻击贝叶斯网络风险分析模型的网络结构中所有节点的先验概率,包括:根据所述专家经验,得到贝叶斯网络模型中的漏洞类型的比例,将漏洞类型的比例作为贝叶斯网络模型中的父节点的先验概率;利用排序节点算法对贝叶斯网络模型中的子节点进行排序计算,得到贝叶斯网络模型中的子节点的先验概率。其中节点包括:父节点和子节点
[0116]
在其中一个实施例中,训练数据集获取模块208还用于根据节点的先验概率,通过拒绝性采样算法或直接抽样的方式进行仿真得到训练数据集,包括:根据贝叶斯网络模型父节点的先验概率,确认贝叶斯网络模型中父节点服从混合高斯分布,采用拒绝性采样算法,得到混合高斯分布数据集;根据贝叶斯网络模型子节点的先验概率,确认贝叶斯网络模型子节点服从简单分布,采用直接抽样的方式得到简单分布数据集。其中训练数据集包括混合高斯分布数据集和简单分布数据集。
[0117]
在其中一个实施例中,网络训练模块210还用于采用训练数据集对xss攻击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型,包括:获取bnlearn程序包;训练数据集通过bnlearn程序包中的model2network函数对xss攻
击贝叶斯网络风险分析模型的网络结构进行网络训练,得到xss攻击贝叶斯网络风险分析模型。
[0118]
在其中一个实施例中,贝叶斯网络推理模块212还用于根据xss攻击贝叶斯网络风险分析模型,对贝叶斯网络进行推理,得到网络信息发布系统遭受xss 攻击风险的量化分析结果,包括:获取贝叶斯网络中的关键节点和非关键节点;设置关键节点的被攻击状态,以及非关键节点的正常状态或中等风险状态的证据条件;通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值;根据关键节点和非关键节点处在安全状态的概率值,得到网络信息发布系统遭受xss攻击风险的量化分析结果。
[0119]
在另一个实施例中,贝叶斯网络推理模块212还用于通过cp查询遍历,得到关键节点和非关键节点处在安全状态的概率值,包括:采用bnlearn程序包中的cpquery函数进行cp查询遍历,得到证据条件下关键节点和非关键节点处在安全状态的概率值。
[0120]
关于基于贝叶斯网络及stride模型的xss风险分析装置的具体限定可以参见上文中对于基于贝叶斯网络及stride模型的xss风险分析方法的限定,在此不再赘述。上述基于贝叶斯网络及stride模型的xss风险分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0121]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于贝叶斯网络及stride 模型的xss风险分析方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0122]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0123]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
[0124]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
[0125]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程 rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括
随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限, ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步 dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram (esdram)、同步链路(synchlink)dram(sldram)、存储器总线 (rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0126]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0127]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜