蒋建春 文伟平 胡陈勇
1(中国科学院软件研究所 北京 100190)
2(北京大学软件与微电子学院 北京 100871)
3(北京中科卓信软件测评技术中心 北京 100193)
高安全等级保护对象[1]一般是三级以上的保护系统,典型系统为国家关键信息基础设施,其安全受损将对国家安全、经济运行、社会秩序、公共利益等造成重大影响.目前,等级保护对象面临着不同动机的威胁者,承受不同类型的攻击.网络信息泄露、恶意代码、垃圾邮件、网络恐怖主义、网络间谍、网络战等都将影响到等级保护对象安全.根据CNCERT[2]抽样监测数据显示,针对关键信息基础设施的高级持续威胁(advanced persistent threat,APT)日趋常态化.2018年,全球专业网络安全机构发布了各类高级威胁研究报告478份,同比增长约3.6倍.已被确认的APT攻击组织包括APT28、Lazarus、Group 123、海莲花、MuddyWater等53个.网络安全相关研究工作表明[3-5],国外APT组织已经针对我国的金融、政府、教育、科研等目标系统持续发动攻击.高安全等级的保护对象具有重要的价值,因此成为高级持续威胁组织的关注点.
针对高安全等级保护对象,国家相关部门已经颁布了网络安全法律法规和系列技术规范,从法律责任、系统建设、应用开发、运行维护、安全管理等各方面提出具体性要求[6].同时,国家等级保护测评机构按照测评标准,评估其是否符合网络安全等级保护要求.但是,当前高安全等级保护对象测评偏重于合规性安全评估,测评工作限于静态性安全配置检查,安全机制及安全产品的实际效用难以确认,缺乏等保对象的抗攻击能力评估.基于此,本文提出一种基于网络安全威胁路径想定抗攻击能力测评方法,通过构建高安全等级系统APT威胁能力库,模拟不同类型的APT组织来分析等级保护对象的保护能力,验证保护对象相关安全机制的效用.
MITRE机构研究人员根据已发生的攻击实例,提出了攻击敌手模型框架MITRE ATT&CK[7],并用此框架评估产品和系统安全.同时,构建一种网络敌手语言和检测引擎CALDERA[8],可以复制真实的网络入侵行为.NVISO研究人员通过开展网络敌手仿真(adversary emulation),以测试网络弹性及高级持续威胁.美国CERT研究人员提出一种全球网络敌手能力链模型(adversarial capability chain,ACC)[9],ACC 基于漏洞生命期5阶段能力链,即漏洞首次发现(discovery)、漏洞破坏力验证(validation)、漏洞利用攻击可逃避防护(escalation)、漏洞利用攻击低成本(democratization)、漏洞利用攻击普适化(ubiquity).美国伊利诺伊大学提出了以敌手的视角评估安全方法ADVISE(adversary view security evaluation)[10],该方法使用 Möbius模型工具形式化构建敌手模型,并以此分析信息系统的安全属性.国外公司提供130多种攻击者模板,其中,包括国家级别黑客机构、网络犯罪分子组织、激进的个人黑客等.文献[11-12]提出网络安全测量方法.
为验证网络安全的实际保护能力.国内外相关人员都陆续开展了网络安全测评工作.文献[13]提出网络敌手模型.文献[14]对Windows 7操作系统的5种典型安全机制GSStackProtection,SafeSEH,HcapProtection,DEP,ASLR抵御攻击的整体效果进行了分析,通过实际的测试用例与获得的测试数据证明Windows 7系统安全性改进.文献[15]提出了网络安全等级保护2.0云计算安全合规能力模型,基于网络安全等级保护基本要求,对云计算平台及系统的保护对象、安全措施及安全能力进行识别,构建网络安全等级保护2.0云计算安全合规模型,分析得出云计算平台及系统的安全技术能力.开源网络敌手模拟工具相继出现,如Metta[16],HackTheBox[17],Red Team Automation[18],BT3(blue team training toolkit)[19].
《网络安全等级保护基本要求》GB/T 22239—2019[20]针对不同级别的等级保护对象,给出了5个能力保护级要求,具体分析如表1所示:
表1 网络安全等级保护能力要求分析表
抗APT攻击能力测评模型由系统威胁者能力模型库、等级评测对象威胁路径、系统威胁用例生成、系统威胁能力执行引擎、等级评测对象、抗攻击能力评估构成,如图1所示.
图1 抗攻击能力测评模型
1) 等级评测对象.
等级评测对象,即高安全等级保护对象一般是指三级以上的保护系统,通常为关键信息基础设施.这些系统的抗攻击能力要求能够抵御有组织的复杂攻击.本文定义为以H为高安全等级保护对象节点集,N为节点集内保护对象的数量,则等级保护系统对象S可表示如下:
S={hi|hi∈H,i=1,2,…,N}.
以O表示构成任意节点组件集合,oi为O的第i元素,即oi∈O,则第k个等级保护节点的构成组件集表示为Ohk={oi|oi∈O,i=1,2,…,N},oi为构成hk的组件元素.
2) 系统威胁者能力模型库.
本文定义C为能力集合,B为威胁行为集合,G为系统威胁组织集合.
定义1.系统威胁能力.
系统威胁能力为一个二元组,即c=〈b,o〉,其中,c表示威胁者对某个对象可以实施的威胁操作,b表示威胁者的行为,o表示b操作的对象.
定义2.系统威胁者组织能力模型.
定义〈gi,cj〉表示系统威胁者的组织gi拥有的能力为cj,则系统威胁者的组织gi能力模型可以表示为二元组〈gi,cj〉的集合,即
CGi={〈gi,cj〉|cj∈C,gi∈G,i,j=1,2,…,N}.
3) 等保评测对象威胁路径想定生成.
给定等级保护对象hi∈H,有威胁组织gk∈G的能力cj,使得cj=(bj,oj)的oj∈Ohi,则gk威胁hi路径描述如下:
此威胁路径可记为三元组:〈gk,cj,hi〉.
4) 系统威胁测试用例生成.
给定等级保护对象hi∈H,对应测试用例为威胁路径的集合,即
TSi={〈gk,cj,hi〉|gk∈G,cj∈C,hi∈H},
其中TSi表示等级保护对象hi的测试用例集.
5) 系统威胁能力执行引擎.
系统威胁能力执行引擎模拟gk,对hi实施cj,即验证威胁路径〈gk,cj,hi〉的可行性.
6) 保护对象抗攻击能力分析与评估.
给定等级保护对象hi,含有gk的测试集为TSik⊆TSi,威胁路径验证可行的集合为Pki,则等级保护对象hi对抗威胁组织gk的能力计算如下:
其中|TSik|表示集合TSik的元素数量,|Pki|表示集合Pki的元素数量,Δk的数值大小表示等级保护对象hi对抗威胁组织gk的能力.
本文抗攻击能力测评系统由高安全等级测评对象库、等级测评对象威胁路径想定、威胁组织者模型、系统威胁能力执行引擎、抗攻击能力分析组成,如图2所示.
图2 抗攻击能力测评系统框架
本文系统威胁组织能力库构建方法主要有基于APT网络安全事件和网络攻击知识库集成,如图3所示.
图3 系统威胁组织能力库构建方法
1) APT网络安全事件数据挖掘.
通过收集APT网络安全事件数据,抽取APT攻击案例的威胁操作行为和目标对象,构建高安全等级保护对象的组织威胁者的能力算子.
2) 网络攻击知识库集成.
目前,网络上已公开的网络攻击知识库有MITRE ATT&CK,C2 Matrix.其中:MITRE ATT&CK是基于真实的观察形成的网络敌手知识库;C2(command and control)是APT组织攻击者常利用的战术,用于控制端和受控目标的之间联系.开源C2 Matrix包含35个命令和控制框架[21].
APT威胁组织能力库以XY标识,其数据格式表示为二元组〈x,y〉,其中,x为操作行为描述,y为操作对象.
等级评测对象威胁路径想定生成方法利用等级保护对象的组件、APT威胁组织能力库,通过威胁数据分析自动生成等级保护节点APT威胁路径,如图4所示:
图4 等级保护对象APT威胁路径分析
设Pi是等级保护节点hi威胁路径集合,P是等级保护节点所有的威胁路径集合.
算法1.等级保护对象高级威胁路径分析算法.
输入:H为等级保护节点hi集合、O为等级保护节点hi构成的组件集、XY为APT威胁组织能力库;
输出:P.
步骤1.从H选取1个等级保护节点hi,直至集合H的元素遍历完;
步骤2.获取hi的组件oi∈O;
步骤3.从XY中遍历取元素〈xj,yj〉;
步骤4.若yj=oi,则生成威胁路径xj→yj;
步骤5.将〈xj,yj〉添加到Pi;
步骤6.重复步骤3,直至集合XY的元素取完;
步骤7.确定等级保护节点威胁路径集合Pi.
APT组织的攻击活动通常表现为水平移动,即通过等级保护节点的威胁关联,构成复杂的威胁路径,形成APT组织的水平移动攻击.
设H为等级保护节点集,即H的集合元素为等级保护对象独立节点;M为威胁关联矩阵,M的集合元素是节点之间威胁关联函数R(hi,hj)值,该值为1或0,1表示等级保护节点hi的威胁行为可以威胁到hj,0表示等级保护节点之间不存在威胁相互影响.
算法2.APT水平移动威胁路径分析算法.
输入:H,M;
输出:等级保护节点关联威胁集.
步骤1.选择待测评的等级保护节点hi∈H;
步骤2.选择等级保护节点hi∈H的安全威胁集合Pi;
步骤3.确定hi∈H与hj∈H的R(hi,hj);
步骤4.如果R(hi,hj)=1,则生成等级保护节点hi和hj的威胁关联〈Pi,Pj〉;
步骤5.重复步骤3,直到与hi有威胁关联的等级保护节点分析完毕;
步骤6.输出等级保护节点hi的关联威胁集;
步骤7.重复步骤1,直到等级保护节点的分析完毕.
系统威胁能力模型执行引擎的功能是模拟实现APT组织对等级保护节点的威胁操作.该引擎支持插件模式,按照APT组织的攻击过程,集成各种工具或APT样本数据.具体实现方法如下:
1) 攻击工具集成实现.
如图5所示,根据APT组织所利用的攻击方法和对应的操作,可以集成软件工具实现威胁者的操作.
图5 APT威胁操作集成示意图
2) APT攻击样本数据重放.
将APT组织的攻击样本数据通过网络流量重放、文件拷贝等工具,输入到等级保护测评对象中,以验证等级保护的安全机制防护能力,如图6所示:
图6 APT攻击样本数据重放示意图
4.1.1 模型应用
根据等级保护对象的能力保护要求,对于给定的高安全等级保护对象,抗攻击能力测评过程如下:
1) 获取等级保护对象的组件配置信息;
2) 选取APT威胁者的能力库,想定生成等级保护对象威胁路径集;
3) 测试验证等级保护对象的威胁路径可行性;
4) 给出实际可行的威胁路径数量与想定威胁路径数的比值,记为α;
5) 计算抗APT攻击能力的量化数值Δ=1-α.
4.1.2 模型实现
本文从已公开的典型APT组织活动报告中提取APT威胁组织能力库,并生成威胁路径测试用例集(APT攻击样本集),最后在待测信息系统中重放APT攻击样本,计算并输出待测信息系统抗攻击能力.具体实现过程如下:
1) 构建APT威胁者组织能力库.本文从近年来已公开的网络攻击活动报告中提取9个典型APT威胁者组织,并基于待测信息系统列举出每个APT组织的典型威胁能力,如表2所示:
表2 APT典型威胁能力
为便于后文描述,对表2中的威胁能力进行通用定义,如表3所示:
表3 通用威胁定义
2) APT威胁路径想定.本文想定APT组织者能把攻击载荷投送到目标对象,形成点对点威胁路径,即表示为二元组形式〈威胁行为,目标对象〉.
3) APT威胁者能力实现.本文通过文件拷贝的方式将APT攻击样本投送到目标对象,然后观察攻击样本在目标对象的执行情况,以验证相应的APT威胁路径是否可行.
4.2.1 测评环境构建
为验证本文提出的抗攻击能力测评模型,本文构建了一个典型的待测网络信息系统,如图7所示.受控环境中部署一个典型的企业邮件系统、办公终端作为测评对象.
图7 抗APT攻击能力测评网络信息系统拓扑结构图
在待测网络信息系统中,假定APT威胁者收集企业员工的邮箱信息,并将攻击样本(包括可执行恶意代码、恶意文档、恶意脚本3种类型)发送给企业员工,网络信息安全意识薄弱的员工在办公终端中打开并运行邮件附件,从而APT威胁者可以获得办公终端的控制权进而实施进一步的恶意活动.在本文的测评中,考虑上述待测信息系统的节点信息如表4所示.
表4 抗APT攻击能力测评网络信息系统配置
4.2.2 测评数据集
本文实验枚举了9个APT威胁者组织对测评对象的威胁路径,并构建520个威胁路径测试用例,以测试和评估测评对象的抗攻击能力.表5列举了本文测评中所使用的测试用例数.需要指出的是,并非所有APT威胁者组织均具备所有的威胁能力和威胁路径.
表5 APT威胁路径及测试用例
4.2.3 测评结果分析
根据4.2.1节所述的测评环境和4.2.2节所述的测评数据集,基于本文提出抗攻击能力测评模型,对测评对象的3个节点E1,E2,M1按照威胁路径重放测试用例,并计算每个节点的抗攻击能力.
1) 办公终端节点E1的抗攻击能力测评结果分析.
从表6可以看出,节点E1对于著名的APT组织OceanLotus(海莲花组织)抗攻击能力最强,而对于Oilrig组织的抗攻击能力最弱,甚至无法防御该APT威胁者的任何测试用例.
表6 办公终端节点E1的抗APT攻击能力测评结果
2) 办公终端节点E2的抗攻击能力测评结果分析.
从表7可以看出,由于E2的环境为Windows 10操作系统,因此总体上比E1的Windows 7操作系统的抗攻击能力显著提升.E2对于Equation组织(方程式)具有较好的抗攻击能力,而对于来自南亚大陆的APT组织Bitter(蔓灵花)其抗攻击能力相对较弱.
表7 办公终端节点E2的抗APT攻击能力测评结果
3) 企业邮件服务器M1的抗攻击能力测评结果分析.
如表8所示,由于该服务器为Linux系统,无法直接打开和运行邮件附件,因此威胁路径仅为测试用例样本的逃逸检测能力.M1对于Oilrig组织具有很好的抗攻击能力,而对于OceanLotus组织的抗攻击能力最弱.
表8 邮件服务器抗APT攻击能力测评结果
4) 系统抗攻击能力整体测评结果分析.
由于APT攻击通常为多阶段活动,为此,对测评对象应整体分析抗攻击能力.图8示出了所有节点(E1,E2,M1)抗攻击能力的综合评价.可以看出,尽管不同节点对于不同APT威胁者的抗攻击能力有较大差异,但是对于待测信息系统(测评对象)整体而言,其具有相近的抗攻击能力.图8中横坐标为APT威胁者,直方图中的不同颜色区块分别表示节点E1,E2,M1的抗攻击能力.其中,黄色区块表示测评对象的整体抗攻击能力,计算方法如下:
图8 测评对象抗APT攻击能力结果
其中Δk表示测评对象对于APT威胁者Gk的抗攻击能力.
网络安全等级保护2.0增加了新的安全控制域:安全运营中心(SOC).当测评对象中的任一节点检测到威胁时,安全运营中心所部署的安全信息事件与管理系统(SIEM)或态势感知系统可以快速将威胁情报同步至测评对象的所有节点.为此,测评对象在SOC环境下的抗攻击能力测评方法有所变化,应将测评对象的所有威胁路径中的全部节点均验证通过的测试用例视为测评对象的整体威胁,其抗攻击能力计算如下:
测评结果如表9所示:
本文研究分析高安全等级系统的抗攻击能力测评需求,提出一种基于攻击路径的高安全等级保护的抗APT攻击能力测评模型,给出了国家级别、敌对组织、拥有丰富资源等威胁者能力模型构建方法,并提供了相关实现参考.后续的研究工作将进一步完善威胁者能力模型和威胁知识库自动化构建,以用于实际的网络安全等级保护测评服务,探索构建基于APT攻击能力驱动网络靶场服务平台,开展关键信息基础设施的网络攻防演练.