文 / 中国工商银行业务研发中心 李沁蕾 樊旭东 闫海林 旷亚和
漏洞是网络攻防的武器,是力量提升的重要战略资源,而0day漏洞更是“核武器”,谁掌握了0day漏洞,便可在网络攻防中拥有绝对力量。为指导银行金融科技人员系统化开展银行系统0day漏洞挖掘工作,工商银行安全攻防实验室在行业内首次提出基于“战术+交付+技术”的银行系统0day漏洞挖掘方法模型,并运用模型发现首个高危0day漏洞。
一、漏洞是网络攻防的武器
1.漏洞是网络攻防的核心竞争力
网络空间安全是国家安全的重要组成部分,越来越受到各国的高度重视,成为国家之间竞争的又一重要战场。漏洞库就是网络战、信息战的武器库,网络攻击的起点是发现漏洞,而网络安全防护的终点是消灭漏洞。因此,网络攻防的核心就是掌握漏洞能力的较量。
漏洞不仅存在于网络战,日常工作中也有不少漏洞的身影,比如PC和移动终端的操作系统漏洞、网站和App的Web安全漏洞等。对于银行系统,不安全的开发代码、错误的配置策略等都将导致安全漏洞,“蓝军”挖掘漏洞,“红军”修复漏洞,银行的信息安全工作与漏洞密不可分。
2.0day漏洞是网络攻防的“核武器”
网络安全漏洞在其生命周期演变的过程中将经历多个阶段,未知漏洞、0day漏洞、1day漏洞、Nday漏洞,不同阶段的漏洞有着不同的影响(如图1所示)。0day漏洞指已经被发现但未被公开同时官方还没有相关安全补丁的漏洞,由于0day漏洞信息公开的范围小,且没有安全补丁,利用0day漏洞攻击的成功率几乎为100%。因此,0day漏洞可以说是漏洞中的“核武器”。例如,前些年“方程式组织”(黑客组织)利用了防火墙、交换机等的0day漏洞组合攻破了EastNets(中东地区最大的SWIFT服务提供商)。
图1 不同阶段漏洞影响示意
尽管0day漏洞威力较大,但成功挖掘0day漏洞绝非易事,不仅依赖较高技术水平的研究人员,还需要长期的人力和财力投入,而短期却难有效益回报。但为了争夺网络攻防的主动权,国内安全公司乃至大型互联网公司仍会设置专职团队长期进行0day漏洞挖掘。
3.研究0day漏洞挖掘,掌握网络攻防主动权
“未知攻,焉知防。”开展0day漏洞挖掘不仅可以充实蓝军的“武器库”,更能够提升安全防护体系的防御能力(如图2所示)。目前业界主流的防护体系主要依托于安全防护设备,如防火墙、入侵防御系统(IPS)、Web应用防火墙(WAF)、漏洞扫描等,安全防护设备的防护理念是通过已知漏洞的特征识别攻击进行防护,但对于未公开信息的0day漏洞却束手无策。只有掌握0day漏洞的特征向量并输入防护体系,才能提前预警风险,掌握网络攻防的主动权。
图2 0day漏洞挖掘增强防护设备防御能力
在网络空间安全形势日益复杂的今天,掌握0day漏洞挖掘技术能够促进攻防能力提升,保障金融科技快速发展,并向广大用户展现强大的信息安全实力。
二、银行特色的0day漏洞挖掘方法
目前,在0day漏洞挖掘领域,业界主要关注操作系统、通用组件等各行各业广泛使用的信息系统组件。由于信息敏感、专用性高等特点,银行业相关通用系统及组件的0day漏洞挖掘被外部关注较少。因此,工商银行安全攻防实验室依据0day漏洞挖掘的研究经验,结合业界权威威胁模型的构建思路和银行系统对0day漏洞挖掘的需求,整理并形成了银行系统0day漏洞挖掘的方法论,可作为银行系统0day漏洞挖掘工作的指引。
1.银行系统需要0day漏洞挖掘方法
“互联网+金融”的紧密结合、新技术的广泛应用推动银行基础架构全面升级,赋能银行业务持续创新,而创新发展的过程中势必引入更多外部通用组件,这也会给原生封闭的金融应用生态圈引入更多外部风险。同时,银行业的业务系统具有行业特色,涉及的银行通用系统(如SWIFT系统)、通用设备(如ATM)等受到监管的严格要求,对保密性、安全性要求极高。因此,在银行自研系统漏洞已被安全测试和渗透测试关注的情况下,业界通用组件和银行业通用系统、组件及设备是银行0day漏洞挖掘关注的重点(如图3所示)。
图3 银行系统漏洞挖掘领域分析
业界已有的常用漏洞挖掘方法,如静态分析挖掘方法、动态分析挖掘方法等,没有明确的阶段成果标准、完善的闭环管理方法,尚未形成广泛认可的标准框架体系,难以满足银行系统严格的风险管控流程的要求。因此,银行业应该结合自身需求和特点,研究银行系统的0day漏洞挖掘方法并开展相关工作,确保与金融行业紧密相关的未知漏洞风险尽可能在安全可控的闭环流程中得到及时发现和处置。
2.构建银行系统0day漏洞挖掘方法
(1)“战术+交付+技术”的挖掘模型
目前,在网络攻防领域,ATT&CK攻击矩阵模型备受关注和肯定,该模型以“战术+技术”思路描述已知攻击行为,在攻防能力评估、情报分析等领域发挥了重要作用。基于ATT&CK模型的思路,结合银行系统的需求,工商银行安全攻防实验室从蓝军视角构建了银行系统0day漏洞挖掘的方法论模型。本模型参考ATT&CK的“战术+技术”思路,新增了“交付”的概念,明确了战术的产出物,增强了模型的目标导向,引导漏洞挖掘人员发现0day漏洞。
模型中的三类关键对象定义中,战术是指攻击者执行某些动作的战术目标。交付是指通过技术实现战术目标后的交付成果。技术是指攻击者通过执行动作来实现战术目标的“方式”。三个对象之间的关系如图4所示。
图4 模型中各对象的关系
本文提出的0day漏洞挖掘模型矩阵包含5项战术、5项交付、36项技术,在业界常用纯技术型战术类型的基础上,增加“锁定目标”和“检阅提升”,形成0day漏洞的闭环管理。模型矩阵描述见表1。
表1 0day漏洞挖掘模型矩阵
锁定目标:该战术用于确定漏洞挖掘目标,产出漏洞挖掘目标对象。
洞察切入:该战术通过一系列技术对产出的目标对象进行分析,进而产出目标对象的攻击面,即可能存在漏洞的脆弱点。
挖掘验证:该战术通过对产出的攻击面进行进一步深入分析,跟进其具体流程,产出漏洞POC验证漏洞是否存在。
武器构造:通过漏洞POC验证确实存在漏洞后,则要通过相关技术实现真实环境下的漏洞利用过程,产出EXP。
检阅提升:通过漏洞EXP,在获得授权后对实际的生产环境进行验证,检测漏洞给实际环境造成的影响,分析其威胁程度并及时给出防护建议及防护措施。
(2)挖掘模型三大特色
本文提出的模型在ATT&CK框架思路的基础上结合了银行系统的特点,将0day漏洞挖掘的思路提炼形成方法论,对银行金融科技人员开展银行系统0day漏洞挖掘工作具有指导意义。
一是对每个“战术”新增“交付”,明确阶段性的目标产出,以交付为连接点,形成流程化的挖掘工作机制,以提高0day漏洞挖掘效率、增强团队合作可能性。依据模型中的“战术”,划分挖掘团队人员的工作职能,重点培养相关技术,以“交付”作为完成成果的标志,明确阶段工作标准,加大团队参与力度。
二是“锁定目标”战术用于识别高回报的研究对象,重点挖掘更有价值的0day漏洞。高回报率可以从系统的信息价值、系统的影响范围等角度进行评价,对保密性和完整性要求越高的系统、影响范围涉及多家银行的系统都具有较高的研究价值,如ATM系统、SWIFT系统等。提前发现高回报率研究对象中的0day漏洞,能及时进行风险防控,能够避免潜在的安全威胁和资金损失。
三是“检阅提升”实现对0day漏洞的闭环管理,增强0day漏洞发现后在企业内部的使用价值,使得0day漏洞挖掘工作更好地服务于安全架构、攻防体系和业务发展。
3.运用挖掘模型成功发现首个0day漏洞
工商银行安全攻防实验室基于上述漏洞挖掘模型,于近期发现主流微服务框架Dubbo存在高危0day漏洞,并得到了中国信息安全测评中心正式认可,获得国家信息安全漏洞库证书。具体挖掘分析过程如图5所示。
图5 基于本文模型挖掘0day漏洞的思路分析
(1)锁定目标
微服务架构保证了服务的高可用性与可扩展性,在工商银行和BAT等外部互联网企业得到了广泛应用。通过行业应用分析与价值评估,包括该框架的应用范围以及使用的主流技术框架版本,初步产出研究对象为Apache Dubbo框架。
(2)洞察切入
通过模拟运行与代码审计技术发现Apache Dubbo在执行相关请求时,底层默认利用Hessian反序列方式对调用请求信息执行反序列化操作,而Hessian反序列方式历史上曾存在漏洞,Dubbo仅对其做了二次封装。为此,将Hessian反序列化作为攻击面进行进一步分析。
(3)挖掘验证
确定攻击面后,通过寻找漏洞触发点及漏洞利用链,发现当应用程序中包含某些第三方代码包的情况下,可利用漏洞触发第三方代码包中的危险函数,导致服务端执行任意命令,从而确定了其存在远程命令执行漏洞,产出漏洞POC。
(4)武器构造
为了能够利用此漏洞,构造恶意漏洞利用请求,触发服务端执行恶意调用链,导致服务端加载远程恶意代码,触发恶意命令执行,从而产出漏洞利用EXP。
(5)检阅提升
得到漏洞利用EXP后,工商银行安全攻防实验室第一时间对相关系统进行了风险评估,同时部署相应防御手段,并将漏洞信息提交至中国信息安全测评中心国家信息安全漏洞库。在此基础上,实验室研究人员积极与开源组织沟通,协助其修复漏洞。
三、0day漏洞挖掘的未来展望
1.基于0day漏洞研究储备从源头驱动代码安全提升
在系统开发中,由于代码的脆弱性,如使用不安全的函数、缺少校验逻辑等,可能会导致0day漏洞的出现。后续,银行业可以建立系统化的工作机制,挖掘多平台下的新型0day漏洞,如物联网平台、区块链平台等,通过对多场景下不同攻击面的分析,在掌握和提升漏洞挖掘能力的基础上,发掘并整理系统开发中常见的薄弱环节,提出有助于安全开发的技术细节,形成0day漏洞知识库供开发人员参考,从源头提升自我纠错能力,使降低漏洞发生率变为可“预期”,为研发环节代码安全性提供决定性的帮助和提升。
2.推动打造0day漏洞感知快反防护能力体系
现有防护体系的核心思路是分析已知漏洞或攻击的特征、提取特征向量、识别已知漏洞或攻击,因此难以防御0day漏洞的攻击。0day漏洞挖掘工作可以提高现有防护体系中对掌握的0day漏洞的防护能力,并探索0day漏洞感知积极防御能力体系。工商银行安全攻防实验室在对历史0day漏洞的调研和研究中初步发现,部分同类0day漏洞具有相似性,其source和sink点高度一致。后续,工商银行安全攻防实验室将进一步研究同类0day漏洞的规律和免疫措施,总结和梳理0day漏洞的发展趋势,推动打造生产环境0day漏洞感知快反防护能力体系,在黑客攻击前快速反制,精准采取安全防范措施。
3.基于0day漏洞升级红蓝演练对抗级别
网络空间的攻防对抗将愈演愈烈,博弈手段也更加错综复杂,银行业逐步形成内部红蓝演练的攻防机制,蓝军主要通过已知漏洞进行攻击,检验防护体系。在近些年的外部实战演练中,也有攻击队使用0day漏洞的情况,最大程度检验了参演防守方的安全防御和应急响应能力,提升了演练效果。在挖掘并掌握0day漏洞后,可以基于0day漏洞开展内部红蓝演练,提高演练对抗强度,将“常规武器”演练升级为“高精尖武器”,为后续参与国家信息安全演练提供保障。
4.探索构建银行业0day漏洞社区生态
没有高地的战场注定易攻难守,信息安全从业者和攻击者之间的战争是不对称、不平衡的,需要我们凝聚行业多元力量,对攻击者进行针对性、匹配性的对抗,才能共同维护网络安全。银行通用系统和通用设备在行业具有通用性,各银行业挖掘的0day漏洞对同行企业均会产生一定的影响,因此,银行业可以探索构建同业0day漏洞社区生态,共享0day漏洞挖掘技术和漏洞信息,促进银行业业务的稳定发展。
本文提出的银行系统0day漏洞挖掘模型具有行业通用性,后续,可以0day漏洞挖掘模型为行业指导标准、以0day漏洞的技术输出为驱动力,与银行同业协同联动式开展0day漏洞挖掘工作,引领行业0day漏洞社区生态发展,共同构筑强大的国家基础设施安全防护屏障。
文章刊于《中国金融电脑》2020年第10期
声明:本文来自FCC30+,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。