一种面向异构复杂网络的安全风险评估模型
2022-09-07吴晨
吴 晨
(西安邮电大学现代邮政学院 陕西 西安 710061)
0 引言
随着虚拟化和Docker技术的普及,在一些大型数据中心产生了物理集群和虚拟化集群共存的情况,这种技术升级带来了一种现状,即异构复杂网络环境。在异构互联的网络环境中保证不同保密等级的信息安全可控是当下急需解决的难点,这种环境具备高维异构性、实时动态性、关系稀疏性、业务交叉复杂、信息敏感度高的特点,传统的网络安全评估方法已经不适用这种情况,因此,研究其暴露在相对开放网络环境下的安全风险评估模型具有很大的意义。
1 研究现状
在网络风险安全建模方面,很多学者已经进行了大量的基础研究。罗运来等[1]提出了一种基于攻击图和模糊综合分析的网络动态威胁评估方法。该方法过于依赖于CVSS指标中的AV、AC、PR、UI进行模糊关系矩阵的计算,但是未考虑到漏洞的量级和真实对系统造成的破坏程度,所以在非实验环境下的可应用性有限。杨英杰等[2]提出了一种基于网络系统多警报信息的动态威胁跟踪与定量分析机制。该方法特别依赖报警信息的时效性和连续性,如果某些中间信息有误报或漏报现象,将造成模型无法向前溯源及向后预测,影响效果。李彤等[3]一行作者提出了一种初始与攻击树和STRIDE的安全威胁研究方法。该方法使用的STRIDE模型是微软提出的,但是主要偏向应用层,不支持大规模网络的映射,因此该方法不适合大规模网络系统的整体威胁建模。吕宗平等[4]一行作者提出了FAHP,即一种在模糊层次分析法之上改进型的攻击树模型。该方法使用人为的方法确定了攻击付出的重要性,主观性非常强,没有考虑不同攻击行为对安全属性的影响。以人工智能和大数据等新技术为基础威胁模型研究近些年也崭露头角,例如段明琪[5]提出直接使用用户行为作为特征的思路,利用DNN神经网络自动发掘刻画各类网络威胁的特征,并设计了基于高维稀疏特征的降维和降参办法;黄璇丽[6]提出了一种基于CNN网络和递归神经网络的深度学习威胁检测方法等。现阶段使用神经网络自适应学习开展威胁建模的研究主要从用户日志记录和网络流量数据中获取特征源,因此训练模型的数据源广度和清晰度都大大影响模型的精度。因此,机器学习技术建立的威胁模型,是一个很好的研究方向,但是从目前的实用性来说,还未到能替代人工建模的程度。
考虑到异构复杂网络的特殊性,当前针对网络威胁的检测模型研究和描述分析方法均具有一定的不足。因此本文从攻击和防御视角出发,以多维度、时空性、适配整体网络方面考量,提出一种基于空间威胁持续链模型STPC(space threat persistence chain)的评估风险评估算法,适用于异构复杂网络面临的多元化威胁。
2 基于多层次异构复杂网络威胁建模
2013年,美国团体组织 MITRE首次提出ATT&CK模型[7],ATT&CK将已知的历史实践的高级威胁攻击战术和技术整合,形成了针对黑客行为描述的通用语言和黑客攻击抽象的知识库框架。ATT&CK知识库虽然包含了全部已知的威胁行为和检查点,但是其中一些指标不适合国内的软硬件环境,此外还缺乏对于虚拟化的支持,因此我们在此基础上进行改进。
2.1 威胁建模
通过分析异构网络面临的威胁来源、攻击路径和威胁程度,分析其网络接入模式和流量传播特点,提出基于ATT&CK知识库改进的空间威胁持续链模型STPC。依据国内主流的异构网络环境和应用层特性,我们重构了12种威胁行为,分别是初始访问、执行、持久化、权限升级、防御逃逸、凭据访问、发现、横向移动、采集、命令与控制、数据渗漏、恶劣影响,特别加入了对虚拟化和云计算场景下的威胁项。
按此可以得出一个12*N的变长威胁矩阵模型,模型覆盖了现有已知的威胁类别,从信息发现跨度到数据窃取及恶意破坏,维度广、分类细。
STPC威胁模型可表达的威胁范围不仅仅限制于某一个系统或者设备,即便是一个复杂的网络环境,都可以通过该模型来表示其面临或已遭受的威胁风险。
2.2 构建威胁特征
通过https://feed.watcherlab.com获取大量的国内外已公布或商业化的APT情报,依据所建立的威胁矩阵模型体系将情报内容填充在矩阵体系内,就得到了一组时空序列。例如:现获取到一份关于某APT组织最新的研究情报,里面描述了一个APT组织从信息搜集到撷取数据整个过程中所使用的工具类型,操作手法和步骤,那么就可以按照我们之前的威胁分类将整个过程映射在12*N威胁矩阵中,具体操作步骤(以3389远程端口入侵为例)如下。
(1)分析报告/情报中的关键技术点,如情报中涉及的APT组织操作痕迹、滞留物、目标效果,侵入的门路把这些信息标注起来。
(2)找出获得的分析报告/情报的主要部分,一般指的是描述方法、手段、工具使用的部分。
(3)深入理解分析报告/情报的整体结构,按照时空循序先建立一个完整的攻击生命周期,主要是为了整理逻辑,加快后续映射速度。
(4)找出行为(比如“建立RPC端口连接”)。
(5)研究行为(RPC是第5层<会话层>协议)。
(6)将行为映射到威胁矩阵模型(上述行为属于初始访问-外部远程服务、执行-Windows远程管理)。
(7)找出后续的行为技术继续映射(如反向RC代理,对应在持久化-启用代理)。
(8)完成所有行为的矩阵映射。
(9)将分析结果与其他分析师的映射比较,然后找出一个最优化的映射。
2.3 威胁特征库建立
通过前两个步骤,我们可以按照之前的威胁分类将整个过程映射在威胁矩阵中,我们将有映射的地区标记为1,未填充的地区标记为0,得到一个12*N的变长二维矩阵。再将二维矩阵降维,得到一个由0、1构成的一维特征向量,该向量即为高风险网络的特征向量之一。重复上述步骤对搜集到的威胁情报转化为威胁特征向量处理入库,就得到了高风险网络的威胁特征库。
目前我们已通过威胁映射的方式建立了107个APT组织和477个恶意工具的威胁特征库。
3 异构网络安全风险评估算法
目前网络安全风险评估方法是从风险管理的角度,主要局限于资产识别、脆弱性分析、识别风险等要素开展评估工作,数据来源单一,评估对象割裂,对防护措施和应用场景的研究得不够充分。
本文将综合考虑应用、平台、运行环境、数据安全等实体因素和应急响应、管理措施等因素结合起来,综合考虑威胁值、破坏强度、威胁范围和影响程度等维度,构建指标体系,完成指标建模,优化设计综合评估算法。
采用定性分析和定量分析相结合的方法对网络安全评估技术进行研究,在前述威胁建模基础上,建立基于攻防对抗的多层次线性加权评估模型,结合《信息安全技术网络安全等级保护基本要求》,将运行维护制度、应急响应方案、风险预警体系等管理因素结合起来,评估指标体系设计由威胁度、发现能力、响应机制3个大类权重指标项组成,综合AHP方法[8]、熵权法[9]等方法确定指标矩阵和权重,最后形成一套完整、可信、落地、实操性强的网络安全风险评估方法。
3.1 威胁度评估
威胁度评估主要是检测目标网络安全等级和已经确认为高威胁网络特征的匹配关系,满分100分。具体操作和计算方法如下。
根据目标系统的网络环境、系统组成、中间件种类、业务使用逻辑和通信线路,从这几个维度查找可能的入侵痕迹。
将搜查到的痕迹对应在STPC威胁模型中进行映射,识别出的填充为1,未识别的填充为0。
填充过后,我们得到一个12*N的变长二维矩阵,再将二维矩阵降维,得到一个由0、1构成的一维特征向量。
D1=(w11,w12,w13..w1n)
使用该特征向量与特征库的某一特征向量
D1=(w21,w22,w23..w2n)
进行以下运算:
公式(1)结果可得出一个0~100之间的特征值Sim,数据越大表示和该特征越符合。最终被测网络的威胁等级等于:
其中n的值大于等于2,小于等于特征库总特征数。
3.2 响应机制评估
响应机制评估用于评价目标网络运维、管理和人员技术的综合能力,满分为100分,采用打分制评估。
因为响应机制评估中涉及大量的评估表和评估指标,无法使用传统的AHP来为得出每一项评估指标的权重,而不得出权重又无法将总分归一化到0~100的范围内,所以我们提出一种基于信息熵的动态赋权算法。
计算方法的核心原理是根据信息熵计算各指标,进而得出指标的权重值。首先确定所有三大类指标中每一二级指标的信息熵,然后根据熵的大小确定指标权重,这一系列的计算权重的方法和步骤如下。
(1)构造原始数据矩阵M。假定共有m个评估表,n个指标,根据观测得出各评估指标的初始数据,可以构造原始数据矩阵M = (xji)m×n。
其中,xji表示第j个评估表中第i个指标下的评估值。
(2)计算第i个指标下第j个评估表的特征权重。
(3)计算各个评估指标的熵值Si。
(4)归一化计算各指标权重∂i。
因此,可以得到基于信息熵的指标客观权重为∂=(∂1, ∂2,… ,∂n)。
(5)根据各指标项的权重,得出的响应机制运维和管理部分的赋值如下。
其中Zi是每个一类指标最终得分,δi为每个一类指标的权重。
3.3 发现能力评估
发现能力用于检测目标网络系统识别来自外部及内部攻击的能力,满分100分。方法如下。
(1)通过构建一个场景来测试攻击者战术、技术和步骤的某些方面。防御方通过已知的攻击线路和手段在目标网络上测试防御系统能否有效识别。
(2)构建的攻击场景使用伪代码实现,不对目标实体造成任何的损害。
(3)通过执行测试,就可以看到我们期望检测到的内容是否和我们实际检测到的一样。例如,我们在防火墙设置了一旦发现某行为进行报警,但实际情况并没有报警,那么该单元测试中防御检测手段就是无效的。
因为发现能力评估的指标项是我们构造的伪代码,而各种伪代码是可以根据威胁性进行优劣比较的,所示非常适合使用AHP法来进行赋值。
利用 AHP 确定评估指标权重能够从多层次多角度分析各指标重要程度,确定其权重,使得权重判定更具准确性和可操作性。判定具体过程和步骤如下。
(1)构造判定矩阵。根据层次分析法思想,将处于同一层次的不同指标两两对比其相对重要性,采用9量化标度方法,对指标比较情况给出相应的数学标量,标构造判定矩阵A = (aij)n×n。
其中,判定矩阵A的每个元素aij表示各评估层次上第i个指标与第j个指标的相对优劣情况,满足aij>0且当i≠j时,aij=1/aji。
(2)确定各层次指标权重,第一步先对判定矩阵A的各列向量进行归一化处理,即:
接着,将归一化后的矩阵按行求和得到各层次指标的初始权重向量w′= (w1′,w2′,… ,wn′)。其中:
最终,将初始权重向量归一化处理得出各层次指标权重w= (w1,w2,… ,wn),其中:
(3)最终根据各指标项的权重,得出的发现能力赋值为:
3.4 总体风险计算
总体评估中3个一级权重计算使用AHP的算法,得出网络整体安全风险评估得分为:
其中T、R、D分别代表威胁度、响应机制、发现能力评估结果,得分越高风险值越大。
4 实验验证与分析
4.1 实验环境设置
验证本文提出的基于STPC模型的网络风险评估方法的可行性和有效性,设计如下网络实验,网络的拓扑结构见图1。实验平台包括:服务器主机操作系统、虚拟机主机操作系统、网络及其主要基础设施(如路由器、交换机等)、安全保护措施和设备(如防火墙、IDS、隔离网闸)、stack基础设施云环境、kybernetes容器云、MySQL数据库。
混合云网区由10台服务器、3台交换机、1台检测入侵系统、1台内网防火墙、1台三层路由器和1台隔离网闸组成。10台服务器搭建了两个集群,其中6台搭建stack集群,4台搭建了容器云集群,组成了混合云平台,平台集群搭建时采用业务、管理、存储网络分网方式,有利于还原真实场景。其中交换机和路由器配置路由模式,通过防火墙做端口映射和评估操作区的数据进行交互。
4.2 痕迹检查
因为被测目标环境是模拟创建的,无法获取真实的入侵痕迹,故在此人为设置了一些痕迹。
设置的痕迹为:在一个Microsoft Word文档中插入了一个宏,实现本地内网反弹连接远程服务器的效果。具体方式如下。
(1)生成一个空白的word文件,开启宏。
(2)宏名随便输入,然后点击创建,输入一个恶意宏指令,然后点击保存。
(3)然后我们拷贝图2内容,贴到word文档的正文里面,然后保存关闭。
(4)一旦这个word被运行,就开启了一个本地反向代理服务。经过上述的步骤,我们基本伪造了一些攻击者在刚入侵系统未完成提权场景下的痕迹。
4.3 威胁矩阵映射
将上一步我们设置的痕迹情况映射到STPC威胁模型中。威胁映射的过程可以参考威胁知识库中威胁指标的定义来进行分类。映射的结果见表1。
表1 威胁映射结果表
4.4 威胁值计算
将上述威胁映射的结果进行编码后降维,使用公式(1)(2)算法与威胁特征库进行两两比对计算,最终结果威胁值T=93分,说明该网络系统已明显表现出遭受入侵的痕迹,风险很高。
4.5 响应机制计算
根据网络和系统特点,选取了等级保护2.0基础表[10]来开展评估。
使用评估表和公式(3)~(7)对风险评估目标系统进行打分,被测网络环境在可信验证、安全审计、身份鉴别3处有重大扣分项,最终打分成绩为67分,故评估项得分R=100-67=33分。
4.6 发现能力计算
测试目标机器选取stack环境下的虚拟机Windows 7Sp1专业版,地址为192.168.110.195。
因为实现条件有限,提供的设备只具备宏观级别的安全防御,对于终端环境的防护基本没有,我们只使用了Windows自带的安全策略和杀毒软件来防御。
我们使用了开源批处理执行工具运行了30个伪代码脚本程序。每一项测试满分分值为100,若安全设备发现了行为但未阻止得50分,发现并阻止了行为得0分,未发现行为得100分。运用公式(8)~(12)可得,发现能力D=36.655 24。
4.7 风险总分计算
总体评估中3个一级权重计算使用AHP的算法,按照公式(13)得出网络整体安全风险评估得分为:
Risk(T,R,D)=0.42*93+0.29*36.65524+0.29*33= 59.26
5 结语
本文提出了一种基于空间威胁持续链模型STPC(space threat persistence chain)的评估风险评估算法,从攻击和防御视角出发,以多维度、时空性、适配整体网络方面考量,适用于异构复杂网络面临的多元化威胁评估。利用所提方法对一个中型异构复杂网络进行风险评估。实验表明使用本文的风险评估方法能够正确评估网络的安全风险,评估结果更加符合实际情况,能直观地给出量化风险值。