APP下载

基于攻击图行为模式分析的网络安全风险评估

2018-10-15

单片机与嵌入式系统应用 2018年10期
关键词:攻击者漏洞概率

(上海交通大学医学院附属上海儿童医学中心,上海 200127)

引 言

计算机系统存在可以被渗透的脆弱性,全面的潜在漏洞修复需要花费大量时间和人工成本,所以要对漏洞按照安全等级进行排列,并处理其中的关键漏洞。因此,网络安全风险评估需要解决两个问题:一是潜在漏洞的安全程度,二是被攻击漏洞间的隐含关系。攻击图主要解决第二个问题,方便安全漏洞的定性、定量分析,做出最优安全决策。然而,单一方法很难全面、准确地分析潜在漏洞,从而做出最优安全管理策略。因此,从多种模型相结合的角度分析网络安全漏洞,可以提高攻击意图判断的准确性、合理性[1-2]。隐马尔可夫模型(HMM)通过建立网络观测、攻击状态间的概率映射,详细地定义模型参数的计算方法,利用Viterbi算法进行攻击结果序列计算,准确推演攻击意图,方便安全管理人员进行准确的目标网络安全评估。

1 安全风险评估模型

1.1 评估过程

目标网络通过脆弱关联性、网络拓扑扫描攻击获得设备配置、脆弱关联信息,并将相关信息进行模型化描述。描述后的信息输入NuSMV工具中[3],生成目标网络攻击图。借助HMM模型建立网络观测、攻击状态间的概率映射,将攻击图转换为状态转换图[4-5]。然后,利用Viterbi算法计算出最高概率的攻击路径序列,以此推断攻击者意图,从而做出合理的安全防范措施,评估过程如图1所示。

图1 安全评估过程

1.2 模型构建

将HMM引入网络安全风险评估模型,应对网络攻击手段不易察觉的问题。目标主机被攻击后的状态对应于HMM隐含状态[6],利用漏洞、端口监控机制形成可观测脆弱性集合。

(1)定义参数

隐含状态集Si=ATK{Ha,Hw,vi},其中Si为系统受到攻击后的状态,Ha为主机,vi为漏洞,Hw为攻击后的主机状态。π={aij}={p(Z1=Si)}时刻为1时,初始状态Zi等于Si的概率,π为转换矩阵。可观测集合V={v1,v2,…,vm},v是可以利用的漏洞,m代表漏洞数量。如果观测集合的漏洞数量与隐含状态集合数量一致,则HMM用λ={A,B,π}表示,其中A代表系统在t时刻状态为Si的概率;B代表在vi状态中观测Sj的概率。

(2)确定参数

HMM为消除量化指标的主观性因素,以CVSS作为脆弱点危险程度的依据,如表1所列。

表1 量化依据中属性等级和赋值

设Dvi为成功利用vi的概率,其计算公式为:

Dvi=AV×AC×Au

(1)

Dvi与vi正相关,与AC负相关。在Z1基态到Si状态转变过程中,不断产生新漏洞,直到观测为vi的目标状态Si出现,才实现漏洞成功利用。其中,转化矩阵π中元素aij公式为:

(2)

系统处于Z1时,成功利用vi出现概率为1;系统处于Z1状态时,不能成功利用vi转化为Si,出现概率为Dvi;系统处于Z1状态时,可以成功利用vi转化为Si,出现概率为Dvi+Dvi×Dvj。然后对每一概率进行归一化处理,得到观察矩阵。

(3)Viterbi算法

判断系统最可能出现的状态和转化序列,可以准确推断攻击意图,帮助管理员做出最优决策。此问题可抽象转换为对已知观察序列{o1,o2,…,ot},以及模型参数λ的最优隐含状态序列的查找。Viterbi采用动态规划,进行最优转移迭代分析,确定所需序列。设置任意路径为Z*,其最优规划公式为[7]:

p*=p(o,Z*|λ),∀Z

(3)

设变量φt(i)为t时刻的一条路径z1,z2,…,zt,初始状态Z1等于Si观测序列的最大概率为:

(4)

那么,

(5)

为能回溯隐含状态序列,将变量存储于φt(i)中,Viterbi具体流程如图2所示。

算法流程Step1:初始化ϕ1(i)=πibi(o1),1

图2Viterbi流程

2 实验分析

2.1 实验环境

设置2个服务器为DB、FS,分别负责客户端查询、敏感数据存储,并设置防火墙。客户端设置服务器WS,其访问用户为3类:guest、user和root,权限为1级、2级和3级。1级权限最低,3级权限最高,并可以进行用户维护。对服务器进行漏洞扫描,结果如表2所列。

表2 漏洞扫描信息表

实验前设定相关信息,主机Ha(攻击者)与网络服务器(DB、FS)间为信任关系,关系模型为;Ha(攻击者)利用user身份登录服务器(DB、FS),而DB、FS间无信任关系,无互访权限。网络服务器(DB、FS)被扫描发现存在CVE-2018-2072、CVE-2017-4211等,提升用户权限漏洞。服务器DB、FS可以通过user身份登录客户端服务器WS,而WS服务器被发现存在提升用户权限、缓存信息泄漏的漏洞。假设Ha(攻击者)会破坏DB服务器中数据,窃取FS服务器上的敏感信息,造成WS服务器中网页破坏。

2.2 结果与分析

将攻击事件中变化的因素抽象为有限状态机状态,设定有限状态机模型、网络安全属性的CTL描述后,NusMV模型探测器访问任何可达到状态,并对可能路径上的逻辑属性进行满足条件性判断。如果条件未满足,检测机输出状态的轨迹,或者有序形式的反例,形成系列攻击路径,利用[8]NusMV模型探测器构建目标网络攻击图。S1=ATK{Ha,DB,v1}代表Ha(攻击者)利用v1攻击服务器DB,获得root用户权限;S2=ATK{Ha,DB,v2}代表Ha(攻击者)利用v2攻击服务器DB,获得Dos攻击后的系统状态;S3=ATK{Ha,FS,v3}代表利用v3攻击服务器FS,获得root用户权限;S4=ATK{Ha,WS,v4}代表利用v4攻击服务器WS,获得root用户权限;S5=ATK{Ha,WS,v5}代表利用v5攻击服务器WS,获得缓存信息泄露后的攻击状态[8]。依据上述分析,将关系转换为HMM状态图,如图3所示。

图3 HMM状态转换

HMM状态转换就是在初始状态基础上,构建状态集合Si=ATK{Ha,WS,vi},i=1,2,3,并对集合中的每一状态进行上一步可达状态搜索,重复迭代分析,直到无新状态出现[9]。依据式(1)、(2)、(3),以及表2的漏洞信息,计算攻击成功概率如表3所列。

表3 漏洞攻击成功概率

经量化处理后,得到HMM参数,结果为

S={s1,s2,…,s5}状态转化概率矩阵为:

V={v1,v2,…,v5}相对系统状态集合S={s1,s2,…,s5}之间的观察概率转化矩阵为:

依据上述分析,初始状态向s1、s2、s3转换,利用C++语言,对Viterbi算法进行实现,结果为:

① π=(1,0,0,0),参数λ=(A,B,π),观测序列{v1,v2,…,v5},最大概率隐藏序列为{S1,S2},概率为0.000 345 172;

② π=(0,1,0,0),参数λ=(A,B,π),观测序列{v1,v2,…,v5},最大概率隐藏序列为{S2},概率为0.000 121 823;

③ π=(0,0,1,0),参数λ=(A,B,π),观测序列{v1,v2,…,v5},最大概率隐藏序列为{S3,S5},概率为0.000 746 495;

综上所述,最大隐藏状态序列为{S1,S2},攻击者容易利用v1和v2实现对DB服务器的攻击。安全管理员需加大DB安全风险控制,优先修复服务器出现的漏洞CVE-2018-2072和CVE-2018-3865,更好地对网络信息系统进行维护管理。

结 语

猜你喜欢

攻击者漏洞概率
漏洞
第6讲 “统计与概率”复习精讲
第6讲 “统计与概率”复习精讲
基于微分博弈的追逃问题最优策略设计
概率与统计(一)
概率与统计(二)
正面迎接批判
三明:“两票制”堵住加价漏洞
漏洞在哪儿
高铁急救应补齐三漏洞