攻击者对安全体系的预测、绕过、干扰与安全防护应对
2018-03-29肖新光
肖新光
(北京安天网络安全技术有限公司,北京 100195)
0 引言
习近平总书记在4·19讲话中曾指出“网络安全是动态的、不是静态的”,在一个动态的博弈体系中,并不是简单地依靠防御者的安全想象,而是基于双方在持续的高度对抗和变化中所能产生的能力。在此背景下,就意味着攻击者会有更多的对防御方能力的预测、绕过和干扰手段,而相应也需要采用一系列的方式进行对抗。
1 传统的威胁对抗以及场景
1.1 载荷检测对抗
从整体上来看,载荷检测应该在安全检测防御中居于核心位置,因为无论是怎样的安全威胁,最终都要转化为目标侧的实际动作,而这是要依靠相应的代码来完成的。对于动作代码、恶意代码或者第三方工具的检测,最终将构成弹头(Payload,载荷)检测模块。传统的载荷检测对抗是依靠检测引擎进行的,检测引擎是依靠归一化的方式设计的,而传统的针对载荷检测的对抗主要是试图不被检测分支中的配套规则命中,或者是穿透检测引擎的归一化方式,使得相应的载荷不能够匹配到有效的分支之上。其他方式还包括使传统的主动防御和检测机制失能的各种操作,比如,大量的KillAV(反制杀毒)样本。
1.2 主机系统场景
传统对抗的第二个思路是使整个载荷无法被安全产品的IO能力获取,既然无法被获取,也就无所谓能否进入到相应的格式先导和检测分支之中。在主机上,通常把这种技术称为Rootkit。
1.3 网络侧逃逸
AET(Advanced Evasion Technique,高级逃逸技术)引发热议,在网络侧的对抗中,除了针对网络侧检测引擎的检测规则和检测分支的归一化穿透以外,其他的加密、伪装、夹带、分片等手段使得整个检测机制无法获得完整的、直接的监测对象。
1.4 对能力点和能力闭环的攻击
传统的攻击点更多的是围绕着免杀、隐蔽、逃逸和直接对抗展开的,但今天,整个攻击方在“大玩家入场”后,特别是在国家行为体、政经集团和高能力的黑产犯罪团伙介入之后,实际上具备了无与伦比的建设自身攻击基础设施和承担攻击成本的能力。此时,整体上可攻击和可对抗的环节,就不止于用户侧的能力环节,而包括“从安全厂商的支撑能力,到用户的能力下行,再到用户侧的感知数据上行”的大闭环。在针对厂商的攻击方面,可以看到已经有大量的对威胁情报的扰动,包括类似Ququ(毒曲)2.0直接向卡巴斯基进行相应攻击渗透的事件;在整个安全厂商和用户侧的能力互动中,还可以看到NSA的CamberDADA计划以及其他的一些相应事件。
图1 “方程式”组织主机作业模块积木图
1.5 攻击装备针对主动防御、物理隔离的穿透
在这种可以承担高成本的攻防对抗中,攻击方如何理解、预测和突破防御方的能力?在针对“方程式”组织的第四篇分析报告[1]中,安天绘制了“方程式组织主机作业模块积木图”,实际上是把“方程式”组织的主机作业模块拼成了一个积木图:
从中可看到“方程式”组织对主机作业的理解是,对所有操作形成原子化模块,即要最大限度地把相同的功能分离到不同的DLL上(有可能在实际场景中是通过内存加载的),要最小化地触发其在主机侧的动作。目前来看,这组能力大概是在2005至2008年期间列入到NSA装备系列中的,实际上其是针对当时主防系统基于行为加权思路所建立的一种机制。完成这种“原子”操作的模块,是不足以达到行为加权的阈值以触发主防系统拦截的。这种对于主动防御的穿透实际上并不是简单的对规则层面的穿透,而是对主动防御原理层面的穿透。
1.6 攻击者的感知覆盖和能力前出
强调态势感知的同时,需要看到另外一个问题——攻击方也同样在做防御方是否已经感知到了其相应能力的反感知设备。CamberDADA计划实际上是NSA始于2007年的一个计划,以卡巴斯基为主要目标,并在全球计划监控23家安全厂商(安天成为其中唯一的一家中国厂商)。如果把其为了建立相应能力而针对卡巴斯基所涉及到的一些对象做一个列表(如图2),其中,包括俄罗斯的电信运营商;其最终所关注的攻击目标,比如,俄罗斯国防产品出口公司、信息与分析技术研究所;俄罗斯的一些基础软件产品厂商,也就是说该计划可以在其中进行供应链植入。
图2 CamberDADA计划所涉及到的部分对象和攻击目标
在此过程中,该计划实际上并非通过入侵卡巴斯基而得知卡巴斯基是否已经感知其攻击的,而是发现了用户与安全厂商之间互动链的脆弱性其实是在运营商侧,其中大量的邮件通讯是明文的,因此NSA可以利用自己已经击穿了俄罗斯基础运营商体系,并且能在其上获取数据的基础,来获取用户发给卡巴斯基的告警邮件。这时,如果在邮件中看到己方样本,则说明己方行动已经暴露;如果发现有第三方样本,则可以分析相关样本中是否有可利用的后门或者漏洞,也可以把第三方样本经过修改后再投递给第四方从而制造相应的麻烦和障碍。同时,随着这种攻击者的能力前出,随着超级大国前出型的感知能力覆盖了全球的基础运营商体系,实际上构成了对其本身攻击侧能力的保护。
1.7 网络靶场——防御能力的搭建和模拟
过去,我们认为反病毒的根本软肋从来不是所谓的“它是一种基于非黑即白规则或者特征的检测技术”,它历来都是由黑白名单相结合,带有大量特征检测的技术体系,但之所以不能有效地应对全部的安全载荷风险,皆因为反病毒是一种易于获得的安全资源。一个有精力的攻击者几乎可以从互联网上公开获取到所有的反病毒产品,然后进行免杀测试,直到无法检测出之后再进行投放。但是在当前的攻防体系下,在攻击者能够承担更高攻击成本的条件下,这种安全产品被获取、搭建成模拟靶场来进行测试的问题不只限于AV产品,而是覆盖了所有的安全产品。在超级大国所引导的大量网络靶场中,结合着招投标公告和网络拓扑情报,几乎可以模拟大量的敌国或关联国家的关键基础信息网络和其他网络系统的防御体系,在这个体系搭建后,再进行相应的攻击。这一问题是值得高度关注的,而且解决这个问题的方法在于如何建立攻击者难以预测的某种安全能力。
1.8 威胁情报也是情报威胁
安天曾在《2016年网络安全威胁的回顾与展望》[2]中写道“威胁情报不只是防御方资源,威胁情报也是情报威胁,是攻防双方的公共地带。同样的数据,对防御方来说是规则和线索,对攻击方来说则是攻击资源和痕迹”。比如,在Virus Total(VT)上运行着全球几乎所有具有恶意代码检测能力厂商的引擎,是最成功的安全能力共享平台和威胁情报体系之一,但是从某种意义上,其构成了同时影响所有主流厂商的干扰量的注入手段。
2 深度用户赋能
在这种复杂的基础条件下,在安全能力可以被高度预测的情况下,需要一系列方法来降低攻击者对客户侧所具备的实际安全防御能力的可预测性和改善相应的安全价值。
2.1 流量侧的全要素采集
态势感知与SIEM和SOC的区别:SIEM和SOC是在传统的基础安全能力上建立起的日志聚合,而态势感知实际上是根据感知需求反向去思考端点侧和主机侧的要素采集需求,因此可以建立全要素采集的能力,比如,把五元组扩展到十三元组;不再区分有毒格式和无毒格式,而对所有格式建立起相应的解析。
2.2 传统的威胁检测引擎VS下一代威胁检测引擎
传统的检测引擎实际上是基于对象来生成相应的黑白判定,但当前仅靠这种模式的问题在于,检测是有条件的,意味着对不报警的载体放行,但分析是无条件的,所以下一代的威胁检测引擎,实际上是将其作为分析器的成分增加,针对每一个对象都形成一个相应的向量空间。
2.3 端点侧的全要素采集和全向量分析
当检测引擎针对对象拆解出数百个向量之后,一定是在这些向量的基础上做出相应的单体判定,也就是我们所说的静态向量转化为行为属性标签,这是下一代威胁检测引擎的一项工作。但是从整个防御体系来看,这是不够的,因为向量向行为标签转化是基于确定性的能力,这对于攻击者而言也是一样的。实际上其不可预测性在于,每一个文件所生成的对象向量不都具备标签转化价值,一些向量可以是无意义的,但是其本身可以构成主机所有对象的一个向量集合,在与主机场景向量叠加之后,汇入到一个整体的向量大数据中,从而形成整个系统的向量。而攻击者在实际的攻击预测中,最具备可模拟性的恰恰是安全产品本身的能力,而最不具备可模拟性的恰恰是用户的使用群体、使用习惯和使用状态。所以,在这种数据所形成的画像之后,即使攻击者搭建了一个模拟环境,也不会生成类似或者高度一致的基础数据。由于场景的差异化和大量向量的无意义化所最终形成的相应数据挖掘价值才是整个防御模型个性化的关键。
2.4 建立向量级别的规则
安全厂商本身可以把其中的一部分能力确定性地从向量转化为威胁标签之后,下一代反病毒引擎或者产品的关键是把其所能形成的向量能力全部开放给用户,用户可以在任意一个向量分支节点、向量的组合以及组合之间的逻辑关系上来定制相应的规则,这些规则可以生成结果,也可以生成相应的知识标签,最后达成基于向量分析和标签聚合的检测能力。由于这种模型是在用户场景下形成的,因此大量的规则是依靠客户自身的安全经验所维护的,基于高度的客户赋能,就形成了攻击者难以预测的安全能力。
3 私有化的模型与客户场景的结合
3.1 “人工智能+专家经验”——实现私有化的安全服务
基于传统的信誉分析和其他算法生成一个初始解析的向量空间,然后进行人工智能的向量标签筛选,形成私有化规则服务,最后形成客户侧私有的安全能力和事件匹配结果。
3.2 信誉与场景结合的威胁发现
以主机侧场景举例,假定我们采用了一个哈希的白名单机制,就意味着任何一个由微软官方发布的文件都应该被视为可信对象,但文件信誉不能简单地由厂商侧白名单决定,也不能仅仅依靠签名进行判断,一定要有相应的场景规则,这种场景规则结合了终端分布(原则上来看,一个威胁不可能在短时间内感染到全部的节点)、行为一致性(即使在客户侧有专有的应用,其也应该产生相对一致的行为预期,假定某个应用产生了不一致的行为预期,就有可能是受到了攻击)与使用的群体相匹配(程序的行为画像是与主体的、使用者的行为画像相一致的)等要求。
3.3 机器学习、人工智能的正确应用
如果没有深刻的工程师所形成的基础的、前置型的积累和预制的知识,而仅是简单地在大数据或样本集合上叠加机器学习和人工智能算法,无论何种算法都不可能是有效的。同时,其最终的目标并不是产生有效的判定率或者是降低误报率,而是要和安全业务进行实际的融合。
4 更庞大的支撑体系
对于攻击者而言,任意一个安全产品不管使用了多么复杂的算法,都不可能抵抗现在的逆向工程。安全厂商只有一个更为庞大的位于自有云端的支撑体系和团队,才能形成有效的支撑,这即是我们所讲的“安全厂商应该是一个冰山”,所有用户可见的安全能力,包括产品和服务,其实是水面上的部分,而水面下的部分是其所建立的对感知、捕获、威胁对象分析的相应积累。因此,安全厂商需要一个强大的后端支撑体系。仅仅对载荷进行持续分析,每日可以消化百万量级新增文件的流水线体系已经不能有效覆盖如今的威胁,而如今所需要的后端体系实际上是,把前端感知、载荷捕获和分析,以及整个的数据产出和回馈结合在一起的体系。
在水面之上的是相关的安全产品,其中的威胁检测引擎以及相关的功能构成了从有效防护到资产监测,到情报服务和事件响应的能力,但是其后端要有全球化的网络支撑体系、基础的支撑环境、人机协作的对抗性平台,以及相关的威胁情报系统。
5 差异化的威胁情报分享与私有化的威胁情报生产
关于如何解决威胁情报的公共性和威胁情报也是情报威胁的问题,其实,威胁情报的本质不是每人买一个账号进行公共查询,在该方式下,威胁情报很简单地就变成了攻防双方的公共资源地带。从厂商的威胁情报供给来看,应该采用一种差异化向客户输出的手段,而类似于沙箱或者蜜网的产品不应该被简单地看作是增强的判定器和分析工具,而是要将其转化为有效的能为客户产生私有化威胁情报的平台。
从整个威胁情报来看,实际上,其所具备的是向客户进行有效威胁聚类的能力,而这种聚类实际上是可以用来分析威胁的有效性的,比如,对银行而言,我们并非简单地提供给银行用户其所面临的恶意代码的“白防”,而是在基于后台对这些恶意代码进行深入分析之后,可以评价每一种恶意代码对其网银防护手段的相应威胁。
6 战略的预判
安全厂商需要有能力完成战略的预判,对威胁的前置性预判可使防御者预判安全趋势和攻击者将要采取的行为,只有这样才能有效地决定布防点,这其中既有战略性的也有战术性的。例如网络军火和勒索蠕虫,鉴于网络攻击技术所存在的极低的复制成本的特点,当前已经存在严峻的网络军备扩散风险,但对于缺少足够的安全预算、难以承担更多安全成本的国家、行业和机构来说,会面临巨大的挑战。因此,超级大国能否合理控制自身网络军备发展的速度和规模,并对因自身未有效履行责任而使网络领域发生可能的军备扩散,进行有效地干预和控制,是我们能否达成一个更安全的网络世界的关键因素。我们看到了相关的Exploit储备和攻击思路流入到网络犯罪组织、甚至恐怖主义组织的可能性,而在2017年1月的网络威胁年报中我们明确预言“勒索模式带动的蠕虫的回潮不可避免。”
7 结束语
如今,我们需要建立攻击者难以预测的在客户侧部署的安全能力,但是我们不认为这种安全能力是用户要求安全厂商定制出来的,而必须是基于标准化的安全产品完成的,反标准化实际上就是反生产力。如何使标准化的安全产品产生攻击者难以预测的安全能力要依靠:
• 厂商本身具备深度的能力,并且能够实现客户赋能;
• 厂商本身具有庞大的后端支撑体系来增加攻击者对该体系进行逆向工程的难度;
• 需要在客户侧通过私有化的部署建立客户侧私有化的经验和数据;
• 需要把其所拥有的威胁情报差异化地分享给用户,并且使自身的产品能力在用户侧具有威胁情报的二次生产价值。
实际上,在从体系架构到被动防御,到主动防御,再到情报获取的阶段中,可以看到:架构安全解决安全本身的纵深性问题,被动防御使得其中的安全环节具有不可绕过性,主动防御形成了安全防御的能力弹性,主动防御与威胁情报的结合以及客户赋能达成相应的不可预见性。
[1] 安天:《方程式组织EQUATION DRUG平台解析——方程式组织系列分析报告之四》:http://www.antiy.com/response/EQUATION_DRUG/EQUATION_DRUG.html.
[2] 安天:《2016年网络安全威胁的回顾与展望》:http://www.antiy.com/response/2016_Antiy_Annual_Security_Report.html