基于攻击图行为模式分析的网络安全风险评估
2018-10-15
(上海交通大学医学院附属上海儿童医学中心,上海 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)间为信任关系,关系模型为
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,更好地对网络信息系统进行维护管理。