杨宏宇,袁海航,张良
(1.中国民航大学安全科学与工程学院,天津 300300;2.中国民航大学计算机科学与技术学院,天津 300300;3.亚利桑那大学信息学院,图森AZ 85721)
网络主机是网络拓扑的重要组成部分,日益复杂的攻击手段和方式对网络主机造成的威胁日益增加,主机面临的安全问题日趋突出。评估各主机面临的安全情况是掌握网络整体安全性的基础,深入挖掘和分析主机潜在风险能够为网络安全防御提供有效指导,对于保护网络重要主机、保障网络安全平稳运行具有重要意义[1]。
现有常见的网络安全评估方法主要有博弈论[2]、基于攻击图模型[3]和层次分析法[4]等。相比于其他类型评估方法,基于攻击图的评估方法从攻击角度出发,以节点和边描述网络系统各安全要素间的连接关系,通过攻击路径直观有效地展示了所有可能的攻击步骤,为主机安全管理和防御提供了强有力的分析方式和技术支撑。
文献[5]以网络资产间的互联关系为基础,识别威胁场景中的威胁事件,根据威胁事件发生的概率和损失,从攻击路径的角度分析各主机和网络的安全情况,为主机防护提供了一定的理论依据。文献[6]通过分析主机的漏洞利用关系,依据漏洞利用评分构建各主机间的状态转移矩阵,然后根据Markov过程评估主机安全。文献[7]提出基于贝叶斯攻击图的网络安全评估方法,该方法根据漏洞可利用概率计算各主机被攻击的概率,依据主机资产价值计算主机和网络被入侵的风险。文献[8]提出一种定量的安全评估模型,该模型依据安全事件和告警数据构建贝叶斯攻击图并对网络中的威胁场景进行预测,根据漏洞评分和主机资产度量网络风险。文献[9]提出一种基于边权攻击图的风险评估方法,根据漏洞间的依赖性构建基于边权的攻击图模型,通过攻击目标的价值和利用概率对各漏洞进行了排序和分析,该方法为网络安全防御策略的选取提供了有效支撑。文献[10]通过分析漏洞在异构网络环境下被利用的可能性和影响性,设计了漏洞风险排名算法,为量化漏洞在特定环境和组件下的风险和扩展模型的解决方案提供了新的思路。文献[11]提出一种面向零日攻击的概率计算方法,将系统实例图转换为贝叶斯网络,依据贝叶斯网络从路径角度分析零日攻击发生的概率,该方法在零日攻击路径识别方面具有一定的有效性。文献[12]利用攻击图对主机和网络进行安全评估,依据原子攻击概率和邻接矩阵求解主机安全状况。
以上研究方法依据攻击图对网络主机和漏洞进行了分析和评估,但均未考虑时间、漏洞所处主机环境和不同操作系统类型对原子攻击概率的影响,且评估主机安全的方法未充分考虑主机资产重要性属性权重的差异性和攻击图中主机间的关联关系,评估结果并不合理。为解决上述研究中的不足,全面合理地分析主机安全性,本文提出一种基于攻击图的主机安全评估方法。
基于攻击图的主机安全评估方法分为2 个阶段:主机攻击图建立阶段和主机安全值计算阶段。
1) 主机攻击图建立阶段。首先分析和探测目标网络拓扑,依据主机中存在的漏洞和防火墙设定的各主机间通信规则生成主机攻击图。然后根据获取到的漏洞信息量化原子攻击概率并计算主机攻击概率和漏洞影响值。
2) 主机安全值计算阶段。首先依据先验评分结果计算各主机资产重要性值。然后根据得到的主机攻击图分析主机间的攻击利用关系并计算主机的拓扑结构重要性,由资产重要性和拓扑结构重要性共同表征主机重要性。最后,由攻击概率、漏洞影响值和主机重要性计算主机安全值,主机安全评估方法总体架构如图1 所示。
根据攻击图中节点类型的不同,攻击图可以划分为属性和状态攻击图;根据攻击图生成层次的不同,攻击图可以划分为主机攻击图和漏洞层攻击图。其中主机攻击图中的节点表示网络系统中的主机,主机攻击图能够直观展示主机间的关联性和攻击利用关系。为合理分析和评估主机安全状况,本文选用主机攻击图从主机层面对主机进行安全评估。
主机攻击图定义为三元组HAG=(N,E,P)。具体概念表示如下。
1)N表示主机攻击图中的节点集合且N=Nattack∪Nhost_i,其中Nattack表示初始攻击主机,Nhost_i表示其他主机。
2)E={E1,E2,E3,…,En}表示边集合,代表两主机间的关联关系,其中n表示攻击图中所有边的数量。
3)P={P1,P2,P3,…,Pn}表示原子攻击概率集合,原子攻击概率表示攻击图中攻击行为迁移的可能性大小,原子攻击概率越大,表示两主机间的攻击行为越容易发生。
根据目标网络采集到的漏洞信息和主机通信访问规则构建主机攻击图[12],由于真实网络环境下主机的漏洞可能并不唯一,为简化攻击图规模,分析攻击者最可能的攻击意图,当多条边同时指向同一主机时,仅保留原子攻击概率最大漏洞所在的边,主机攻击图示例如图2 所示。
图2 主机攻击图示例
图2 中,Nattack表示攻击者所在的攻击主机,Nhost_1~Nhost_5表示网络拓扑中的正常主机,E1~E7表示主机攻击图中的边,边上的漏洞标注了攻击者从前置主机到后置主机利用的漏洞。例如,边E1表示攻击者通过攻击主机Nattack可以利用主机Nhost_1上的漏洞CVE-2017-12615 对主机Nhost_1发起攻击并获取权限。
2.3.1原子攻击概率计算
漏洞的自身可利用性是影响原子攻击概率取值的重要因素,通常根据通用漏洞评分系统(CVSS,common vulnerability scoring system)[13]进行量化计算。依据CVSS,漏洞的自身可利用性由攻击途径V、攻击复杂度C及身份认证U量化,取值结果为
其中,VEi表示漏洞的自身可利用性;Vi按本地、邻近拓扑、网络划分为3 个等级,取值分别为0.395、0.646、1;Ci按高、中、低划分为3 个等级,取值分别为0.35、0.61、0.71;Ui按多重、单重和不需要认证划分为3 个等级,取值分别为0.45、0.56、0.704。
漏洞的时间可利用性、环境可利用性和所在主机的操作系统类型同样会影响原子攻击概率大小。从时间角度分析,漏洞被发布的时间越长,漏洞被成功利用的可能性则越大。漏洞的时间可利用性(TE,time exploitability)由漏洞代码被利用的可能用性和补丁修复程度共同决定,取值分别满足Pareto 和Weibull 分布[14],即
其中,l和r表示Pareto 分布系数,取值分别为0.26和0.001 61;q和u表示Weibull 分布系数,取值分别为0.209 和4.04;zi表示某一漏洞从公开日期至评估日期的天数。
从漏洞所处环境角度分析,漏洞所处主机的防御措施完备程度越高,对应原子攻击概率取值越小。本文依据主机防御措施程度划分为高、较高、中、较低和低5 个等级[15],漏洞的环境可利用性(EE,environment exploitability)对应取值区间设定为0~0.2、0.2~0.4、0.4~0.6、0.6~0.8、0.8~1.0。取值越大表示漏洞越容易被利用,范围区间内的具体取值可由评估人员依据各主机实际情况赋值。
从漏洞所在主机的操作系统分析,主机的操作系统安全性越高,则对应原子攻击概率的取值越低。参考文献[16],本文将主流操作系统划分为Linux 类系统、苹果主机系统和Windows 类系统,对应操作系统的可利用性(OSE,operating system exploitability)取值设定为0.5、0.8、1.0。
依据漏洞的自身可利用性、时间可利用性、环境可利用性和操作系统可利用性,原子攻击概率Pi的计算式为
2.3.2主机攻击概率计算
主机攻击图中的攻击路径直观地表示了攻击者可能采取的所有攻击序列,路径攻击概率从整体角度计算从初始攻击主机到其他主机攻击发生的可能性。以初始攻击主机为起点,各主机为终点,通过深度优先查找所有攻击路径并由路径上所有主机中漏洞的原子攻击概率乘积计算攻击概率,选取攻击概率集合中的最大概率作为各主机的攻击概率,即各主机的最大路径攻击概率为
主机上存在的漏洞会对主机产生影响,各主机的漏洞影响值为主机上全部漏洞产生的影响值之和。依据CVSS[13],单个漏洞的影响值(VV,vulnerability impact value)为
其中,VCi、VIi、VAi分别为第i个漏洞对主机的机密性、完整性和可用性的影响值,VCi、VIi、VAi均按无、低、高划分为3 个等级,取值分别为0、0.275、0.66。
各主机的漏洞影响值(HV,host node vulnerability impact)为
其中,n表示主机的漏洞个数。
主机的安全值由攻击概率、漏洞影响值和主机重要性共同决定,其中主机重要性由主机的资产重要性和拓扑结构重要性共同表征。
主机的资产重要性通过主机的机密性、完整性和可用性量化,主机资产重要性计算过程设计如下。
步骤1依据不同主机的安全需求,根据国家标准《信息安全风险评估规范》[17],将各主机的资产重要性属性划分为L1、L2、L3、L4、L5共5 个等级,更细粒度的划分会增加先验评分难度,导致资产重要性属性等级难以界定,因此资产重要性属性等级不再进一步划分。资产重要性属性取值评价如表1 所示。
表1 资产重要性属性取值评价
步骤2由n位专家依据表1 对各主机资产重要性的属性进行先验赋值,由赋值结果构造第j个主机的资产重要性属性评价矩阵Mj
步骤3对属性评价矩阵中的各列元素归一化处理,记处理后评价矩阵各元素为dik。由于相关性定权法[18]能够综合考虑属性间的差异性和相关性,从相对客观角度计算各属性权重,因此本文采用相关性定权法求解资产重要性各属性权重。
1) 第k列属性d的平均值为
其中,n为矩阵行数。
2) 第k列资产重要性属性的标准差为
3) 任意两指标间的相关系数为
4) 第k列属性所含的信息量为
5) 第j个主机的第k列资产重要性属性的权重为
步骤4依据评价矩阵Mj,计算第j个主机资产重要性的第k个属性的先验评分取值ATTjk
步骤5计算第j个主机的资产重要性AI(Nhost_j),如式(14)所示。
拓扑结构重要性从主机所在主机攻击图的结构角度分析主机的重要程度。其中拓扑结构重要性由主机的加权中介中心性和局部重要性组成。
加权中介中心性从主机攻击图的整体角度考虑主机的重要程度,在计算时需要计算任意两节点间的最短路径,而原子攻击概率取值越大则表示两节点间越容易到达,因此本文通过原子攻击概率的倒数对主机攻击图加权,然后由式(15)计算各主机Nhost_i的加权中介中心性FI(Nhost_i)
其中,σ(Nhost_i)at表示从主机Nhost_a到Nhost_t的最短路径中经过主机Nhost_i的最短路径数,σat表示所有从主机Nhost_a到Nhost_t的最短路径数。
主机的局部重要性从局部角度分析主机的重要程度,根据主机攻击图中各主机和其他主机间的关联关系,由式(16)计算主机Nhost_i的局部重要性LI(Nhost_i)
其中,gi表示攻击图中与主机Nhost_i相连的边数,gj表示与主机Nhost_i直接相连的主机所连的边数,b表示与主机Nhost_i直接相连的主机数,n表示主机攻击图主机数。
根据计算得到的主机的加权中介中心性和局部重要性,由式(17)计算主机拓扑结构重要性TI(Nhost_i)
主机重要性由主机资产重要性和主机拓扑结构重要性表征,计算出主机资产重要性和主机拓扑结构重要性后,由式(18)计算各主机的主机重要性NI(Nhost_i)
依据计算出的主机攻击概率、漏洞影响值和主机重要性,由式(19)计算各主机的安全值NR(Nhost_i)
其中,n表示主机攻击图中的主机个数。
为验证本文方法的有效性,在民航机场某业务仿真系统的网络环境中进行验证实验。该仿真系统由民航某研究所研发,其原型系统已在国内数十家民航机场应用。该仿真系统的硬件平台、网络拓扑和核心功能与国内数十家民航机场实际运行的真实业务系统完全一致。由于该仿真系统是针对目前民航机场广泛运行的典型业务系统的模拟仿真,尚未涉及云计算、虚拟化和SDN 等应用场景。
该仿真系统的总体抽象层次结构分为数据层、业务逻辑层、消息中间层和业务应用层,各层间相互协作以保障系统正常运行,总体抽象层次结构如图3 所示。其中,数据层对应系统数据存储区的数据库服务器,负责数据库管理和业务数据支持;业务逻辑层对应系统业务调度区的业务主机等,负责航班业务逻辑抽象、实现和管理;消息中间层对应系统网络布线和系统交互区中提供信息交互的应用服务器等,负责信息内容过滤、系统数据共享和报文收发等;业务应用层对应系统业务调度区、系统监控区和系统交互区中各主机的具体应用和服务等。
图3 仿真系统的总体抽象层次结构
该仿真系统的网络拓扑结构如图4 所示,分为系统交互区、系统业务调度区、数据存储区和系统监控区。
图4 仿真系统的网络拓扑结构
各区域提供的功能及服务如下。
1) 系统交互区的主要功能为提供该业务系统与其他业务系统的数据交互服务。其中,管理控制主机Nhost_1提供基于Web的异常处理和内容过滤服务,应用服务器Nhost_2提供多业务单位和部门间的信息交互与数据共享服务,应用服务器Nhost_3提供航班运行动态业务信息(如SITA 报、AFTN 报等)的发送与接收解析等服务。
2) 系统业务调度区的主要功能为处理航班运行业务并进行航班信息管理。其中,业务主机Nhost_4提供航班运行业务的基础数据和动态航班等信息的发布服务,业务主机Nhost_5提供系统信息管理功能,对航班状态、航班计划和系统资源等信息进行更新和管理。
3) 数据存储区的主要功能为存储机场运行过程中的各类业务数据。其中,数据库服务器Nhost_6存储航班信息的基础数据和动态航班信息及各类业务信息,备份数据库服务器Nhost_7对机场各类业务数据和信息进行备份存储和管理。
4) 系统监控区的主要功能为监控系统运行状态。其中,配置管理主机Nhost_8对系统进行配置管理和航班信息维护,运行监控主机Nhost_9通过运行监控软件监控系统运行状态以保障系统安全平稳运行。
首先,利用Nmap 工具探测上述网络拓扑,获取各主机间的连通关系和漏洞信息。其中各主机间的网络连通关系如表2 所示。
表2 各主机间的网络连通关系
然后,依据各主机的漏洞信息,由式(1)计算漏洞自身可利用性VE,主机漏洞信息如表3 所示。
最后,依据表2 和表3 生成主机攻击图,结果如图5 所示。从图5 可知,主机攻击图共包含10 个节点和15 条边,分别表示网络拓扑中的主机、主机间的关联关系。
图5 主机攻击图生成
表3 主机漏洞信息
首先,计算各漏洞原子攻击概率。依据漏洞公开时间,由式(2)计算漏洞时间可利用性。将漏洞自身可利用性、漏洞时间可利用性、漏洞环境可利用性和操作系统可利用性取值代入式(3),计算得到各漏洞原子攻击概率,结果如图6 所示。
图6 原子攻击概率
然后,由图5 查找所有攻击路径,依据图5 中的原子攻击概率,由式(4)计算得到各主机的最大攻击概率,结果如表4 所示。
表4 主机攻击概率
最后,依据表3 各主机漏洞信息,由式(5)和式(6)计算得到各主机的漏洞影响值,结果如表5 所示。
表5 主机漏洞影响值
首先,计算各主机的资产重要性和拓扑结构重要性。以主机Nhost_1为例说明主机资产重要性的计算流程。由5 位专家依据表1 对主机Nhost_1的资产重要性属性进行先验评分赋值,由先验赋值结果构建主机Nhost_1的资产重要性属性矩阵M1
将矩阵M1各列元素归一化处理后,依据式(8)~式(12)计算主机Nhost_1的资产重要性属性权重,分别为(0.309 2,0.326 0,0.364 7)。由式(13)计算得到主机Nhost_1的各资产重要性属性评分取值分别为(2.2,2.4,3.8),将计算得到的属性权重和属性评分取值代入式(14)计算得到主机Nhost_1的资产重要性为3.04。同理计算其余8 个主机的资产重要性属性权重和资产重要性,得到9 个主机的资产重要性属性权重和资产重要性如表6 所示。
表6 主机资产重要性属性权重和资产重要性
然后,依据3.2 节中的方法得到加权后的主机攻击图,由式(15)和式(16)计算出各主机的加权中介中心性和局部重要性,代入式(17)得到各主机的拓扑结构重要性,结果如表7 所示。
表7 主机拓扑结构重要性
将表6 和表7 中的主机资产重要性和拓扑结构重要性代入式(18),计算得到主机重要性,将表4中各主机攻击概率和计算出的主机重要性代入式(19),计算得到各主机的安全值,结果如图7 所示。
图7 主机重要性和主机安全值
由图7 可知,1) 9 个主机的主机重要性排序结果为NI(Nhost_6)> NI(Nhost_7)>NI(Nhost_4)> NI(Nhost3)>NI(Nhost_5)> NI(Nhost_2)> NI(Nhost_1)> NI(Nhost_8)>NI(Nhost_9),表明在综合考虑主机资产重要性和拓扑结构重要性后,主机Nhost_6相比于其他主机更重要;2) 9 个主机的安全值排序结果为 NR(Nhost_2)<NR(Nhost_3) <NR(Nhost_6) <NR(Nhost_4) <NR(Nhost_1)<NR(Nhost_5)< NR(Nhost_9)<NR(Nhost_8)<NR(Nhost_7),表明在综合考虑主机的主机重要性、漏洞影响值和攻击概率后,主机Nhost_2的安全值最低。
上述结果与实验所用仿真系统对应的机场某真实业务系统的网络真实情况一致,且与真实系统的多次安全评估结果一致。因此本文方法能够有效分析不同主机的重要性并对各主机的安全状况进行量化评估。
原子攻击概率表示攻击图中攻击行为迁移的可能性大小,为证明本文方法计算原子攻击概率的合理性,将本文方法、CVSS 方法和文献[7]方法中依照时间划分得到的原子攻击概率进行对比,如表8 所示。
由表8 可知,CVSS 方法和文献[7]方法仅从单一角度考虑漏洞被利用的可能性,忽略了漏洞所处主机环境因素和主机操作系统类型对原子攻击概率的影响,导致计算结果并不准确。例如,由CVSS方法计算得到的漏洞f2、f4、f5、f7、f11和f12的漏洞原子攻击概率均为1,由文献[7]方法计算得到的漏洞f1~f7、f11和f12的漏洞原子攻击概率均为0.9。而在实际系统的网络环境中,上述漏洞发布时间不同,且漏洞分别位于不同主机中,原子攻击概率均相同,显然不合理。本文方法综合考虑漏洞自身可利用性、时间可利用性、环境可利用性和操作系统类型,计算出的漏洞原子攻击概率值更符合真实网络中漏洞被利用的情况。
表8 原子攻击概率对比
为验证本文方法计算主机资产重要性的合理性,在图4 所示的网络拓扑结构下,分别采用本文方法、层次分析法[4]和先验评分法计算各主机资产重要性,结果如图8 所示。
由图8 可知,本文方法计算出的主机资产重要性值更合理,因为本文方法充分考虑主机资产重要性不同属性所占权重,在先验评分赋值的基础上采用相关性定权法为各主机资产重要性的不同属性权重赋值;层次分析法和先验评分法为所有主机资产重要性的所有属性采用相同权重计算,计算结果并不合理。
图8 主机资产重要性对比
主机安全值能够反映主机当前的安全状况,取值越小表明主机的安全状况越差。为证明本文方法的优越性,在相同实验环境下,采用资产连通图方法[5]、Markov 攻击图方法[6]和邻接矩阵法[12]3 种主机安全评估方法计算主机安全值,4 种方法归一化后的安全值如图9 所示。
由图9 可知,本文方法得到的各主机安全值更准确合理。原因分析如下。
图9 不同方法的主机安全值对比
1) Markov 攻击图方法仅以迭代后的攻击可能性作为评估各主机安全性的指标,无法准确区分各主机的安全和风险状况。
2) 邻接矩阵法和资产连通图方法依据主机的攻击概率和资产重要性计算主机安全值,但均未考虑主机资产重要性属性的权重差异性和攻击图中各主机间的关系,安全值计算不够准确。
3) 本文方法从主机攻击概率、漏洞影响值、资产重要性和拓扑结构重要性方面对主机进行安全评估,能够更全面、更准确地反映各主机的安全状况。
标准差的大小反映了数据间的离散程度,安全值的标准差越大,表明数据离散程度越大,其益处是对安全等级的区分度越明显,越易于区分并划分主机的安全和风险等级。
为进一步证明本文方法的优势,在得到主机安全值的基础上,分别计算4 种方法的主机安全值的标准差,结果如表9 所示。
表9 主机安全值的标准差
由表9 可知,本文方法得到的主机安全值的标准差比其他3 种方法得到的安全值标准差分别增加了85.7%、116.7%和110.8%,说明本文方法得到的主机安全值离散程度更大、区间分布也更大,可以更显著地表征不同主机安全值的差异性,更便于划分主机的安全等级,从而有利于高效处置主机风险和网络风险。
为合理有效地评估网络中主机的安全状况,本文提出一种基于攻击图的主机安全评估方法。在构建主机攻击图的基础上,依据漏洞的多个属性值计算原子攻击概率,依据攻击图、相关性定权法得到主机的攻击概率、漏洞影响值、主机资产重要性和拓扑结构重要性,进而计算得到主机的安全值。
通过民航机场某业务仿真系统环境下的验证实验,验证了本文方法在真实系统网络环境下的可行性和有效性。与其他方法相比,本文方法能够合理计算主机攻击概率、漏洞影响值、资产重要性和拓扑结构重要性,可以全面、准确地反映主机的安全状况。
未来,将进一步细化主机资产重要性评价指标,从主机安全管理角度进一步完善主机安全评估的针对性,提高该方法在复杂网络环境中的适用性。此外,将针对云计算和虚拟化环境的特点,重点研究云计算和虚拟化应用场景下的网络安全评估模型和基于SDN 环境的网络主机安全评估方法,提出适用于云计算和SDN环境的安全评估解决方案。