为网络安全带来微小而美好的改变

基于原生安全范式构建可信纵深防御体系

在面对高等级威胁,且自身业务高度复杂且体量巨大时,需要重新审视现有的安全体系的有效性。充分考虑安全体系完备性,从理论和技术层面加强安全体系面对真实威胁防御效果,以避免关键单点风险失控导致整体崩溃。以原生安全范式(NbSP零越范式和OVTP可溯范式)为指导,基于安全平行切面为基础,构建可信纵深防御体系。在网络安全常规0day防御和数据安全敏感数据泄露这两个重要且困难的场景中的最新实践。

大家早上好,我是止介,来自支付宝。非常荣幸应Leo之邀参加EISS(企业信息安全峰会),这是上海的一个非常棒的安全行业盛会。作为上海本地企业,很高兴能在这里与上海的同行共同探讨安全议题。

正如蚂蚁集团致力于实现金融普惠,我们的安全团队也在朝着实现安全普惠而努力。对许多企业来说,安全仍然是一种奢侈。我们认为,安全不应该是闭门造车,而是应该通过开放、与外界的互动交流,以及快速的迭代优化来应对各种风险。

因此,今天我将毫无保留地分享支付宝在0day攻击防御和敏感数据保护方面的最新实践,以及我们基于原生安全范式构建的可信纵深防御体系的思考。

本次分享将围绕三个核心部分展开:首先,我们将聚焦于对现有安全体系有效性的深入思考。其次,我们将探讨如何使用安全范式指导和优化安全体系的构建,确保其更加符合当前的安全需求。最后,我们将深入讨论在关键风险场景下的实践经验,分享我们在应对这些挑战时的策略和解决方案。通过这三个部分的讨论,我们希望能为安全领域带来新的见解和方法论。

一、重新审视现有安全体系有效性

现有安全体系有效性到底怎么样?

首先,让我们思考一个问题:放下安全领域的专业背景,从一个局外人的视角来看,我们现有的安全体系的有效性究竟如何?

行业安全防护现状不容乐观。相信在座的许多人都经历过十年前的“乌云时代”,我们都目睹了无数白帽子轻松“漫游”各大企业内网,仿佛置身无人之境。时至今日,十年后的现状并未有太大改观。在各大企业的SRC中,我们依然可以看到不断出现的高危漏洞奖励,不少业余的白帽子通过挖掘漏洞仍能获得百万级收入。在HVV中,通用的0day漏洞和复杂的入侵手法导致许多企业被淘汰出局。除了这些可控风险外,我们还经常在公开或私下场合听闻各种APT事件,这些事件导致国内外企事业单位遭受数据泄漏和资金损失,例如最近的中国工商银行遭受Lockbit勒索软件攻击的事件。即使是那些未遭受过APT攻击的企业,如果组建了自己的安全红队进行红蓝对抗演练,结果往往也是以红队成功窃取数据或资金告终。

甚至攻击方法都没有太大变化。尽管攻击成本有所上升,但这并未根本上解决入侵成功的问题。不同于过去,当时仅凭借各种安全工具的扫描就能轻松攻破许多网站。也不再像以前那样,黑客可以轻易在内网中横行无忌而不被发现。尽管容易解决的问题已得到处理,但对于更为复杂的安全难题,我们几乎没有实现重大突破。如果一个经验丰富的安全专家专注于某家企业,运用各种手段,只要给予足够长的时间,他们几乎总能成功侵入并窃取数据。这意味着,目前许多看似安全做得很好的企业,其实只是表象。他们的安全水平尚未经受严格的验证,很可能是依赖运气走到现在的。

攻防的不对等性显而易见。一旦发现风险,其原因往往单一明确。然而,一旦漏过风险,可能的理由则数不胜数。攻击者只需发现单一漏洞即可成功,而防御方必须全面防护,不留任何破绽。每次遭遇外部报告的漏洞、数据泄露事件或红蓝演练的突破时,在内部复盘过程中,我们总能看到各方人员站在自己的立场上,提出看似无懈可击的理由。这常常导致责任推诿的情况,最终仅留下针对单点问题的待办事项。然而,各种安全事件依然在不断发生,循环往复。

情况并没有得到明显好转,但每个人又都非常努力。战术上的勤奋掩盖了战略上的懒惰,战略上有哪些突破可能?

到底有哪些因素影响网络安全有效性?

产生漏洞风险的原因实在太多了,从防守视角看到底有哪些关键因素呢?

  • 安全责任范围是否明确?为了避免在安全建设过程中出现风险遗漏,使团队更加专注地进行安全建设,需要明确团队的职责范围。每个人对安全以及安全范畴的理解往往都存在差异。常见的安全领域包括网络安全、数据安全、业务风控、内容安全、反欺诈安全、反洗钱安全以及生态安全等。除了大方向,也应明确子安全领域的安全责任范围,比如应用安全和基础设施安全,它们就存在交叉部分,若无法明晰边界,可通过设立联合项目组的方式进行统筹工作,确保不会因为存在工作边界而导致的风险遗漏。
  • 安全目标与指标的正确性?安全目标代表了安全团队努力的方向,如果方向错了,那么一切努力都白费了。根据我和众多企业交流的经验,发现如果方向对了,最终大家做的事情是相似的,只是达成的时间存在差异。按照常理,在实际企业安全建设过程中,安全团队的主要任务是控制风险。然后,在现实情况下,安全团队受各种因素影响其目标各不相同。会发现很多安全团队中很多人所做的事情对于控制风险并没有太大帮助,每个人都按照上级指示做事,原始驱动安全建设的因素五花八门,有为了合法合规、有为了内部指标好看、有为了行业影响力、有为了单点突破。更加让人担忧的是,安全不出事就都认为没事,一出事就是大事。造就了各种安全建设的方式都能“活下来”,但一旦面临高强度的真实威胁,安全风险就会暴露无遗。除了明确正确的安全方向外,还需要清楚的知道需要面对何种等级的安全威胁,是针对漏洞扫描器的非针对性扫描、业余白帽子、资深白帽子、竞争对手,还是黑客组织。除了控制实际安全风险层面,越来越多的企业意识到安全也是一种竞争力,比如支付宝的“你敢付,我敢赔!”,这体现了安全团队在更高层面的业务价值。
  • 安全体系的完备性与合理性?在确定了安全团队的责任范围和目标之后,需要开始针对面临的安全威胁设计安全体系。很多安全管理人员是从白帽子转变而来的,需要有一个清晰明确的认识。我们总说不知攻焉知防,但这不是让我们用攻击的方式来进行防守工作。直到现在还有很多企业仅依赖黑盒方式进行渗透测试、安全扫描的方式来进行风险发现。攻击者找到一处风险就能突破成功,防守方如果用类似的方式,必然会导致大量遗漏。我们用攻击者的优势去防御,就将自己和攻击者拉到同一起跑线上。应充分利用好甲方自己的优势:信息不对称,内部信息更加透明清晰,应用行为更加可控。这样才能让我们在对抗攻击者时处于优势地位。此外针对我们所面临的安全威胁,需要从风险控制类型以及风险控制阶段、安全保障体系等多方面回答现有安全体系的完备性与合理性风控控制类型方面,能解决已知风险,那未知风险呢?能解决增量风险,那存量风险呢?能解决软件风险,那硬件风险呢?能解决可控风险,那不可控风险呢?能解决外部攻击风险,那内鬼风险呢?能解决有特征风险,那无特征风险呢?风险控制阶段方面,是否有事前安全威胁的识别、安全意识的提升、上线前的风险规避机制、上线后的安全防护、风险利用时的感知与止血,以及红蓝演练的持续检验,甚至时事后的溯源和司法打击等。除了技术和运营层面,还需要考虑规章制度制定、安全专项预算以及安全领导小组等风险控制的保障体系
  • 安全资源投入度与重点风险匹配程度?在明确了安全责任范围、安全目标以及安全体系后,需要投入相应的安全资源来实现这些目标。当安全资源与安全目标严重不匹配时,可以通过降低目标或调整优先级和拉长时间周期等方式来应对,并与老板们对齐认知。除了加强安全资源的投入,结合企业所面临的安全威胁,确定安全资源投入的优先级更加重要。当资源投入与当前关键优先风险不匹配时,虽然也能取得一些成绩,但对整体安全水位的提升有限,攻击者仍有较大可能轻易地盗取数据和资金。
  • 安全能力与风险匹配程度?当安全资源投入与重点风险匹配后,还需要关注实现层面的安全能力与风险的匹配程度。常见情况是,对于一个新的漏洞类型,之前的安全措施完全没有防护能力。或是知道有这个漏洞类型的存在,却没有相关的安全能力进行发现和拦截。当安全能力与安全风险匹配度不一致时,就会不断出现新的意料之外的情况。
  • 安全能力与运营有效性?当具备了对应安全风险的安全能力后,需要确保这个能力和策略的有效性以及是否覆盖到了所有需要防护的资产。是否能在资产变更上线前就默认覆盖安全能力,真实环境中各种非标情况是否能覆盖,面对真实威胁发生时各种能力是否还能持续保持有效?

面对如此众多影响安全有效性的因素,再加上庞大且复杂的业务场景,影响全局安全性的潜在薄弱点数量急剧增加。同时,高价值数据和巨额资金的存在使我们面临各种等级和形式的威胁。

以蚂蚁集团为例,我们拥有数十种安全产品、数百名安全专家,并运营维护着数万项安全策略。在安全实践的方方面面,每个人对于如何实施安全措施、每个安全产品如何发挥其功能都有各自的见解。在这种情况下,是否存在一种指导原则,能够让大家对安全的认识和实现达成一致?

这些安全能力需要覆盖数千个域名、数万个应用、数十万个接口以及数百万个容器,其最终目的是保障数亿用户的数据安全和万亿级的资金安全。在涉及各种编程语言、各种运行环境和各个开发阶段的背景下,是否有一种技术手段能够实现突破,解决这些复杂的安全挑战?

二、原生安全范式指导安全体系建设

原生安全范式

如何从方向上指导安全建设,如何在技术层面破局?

蚂蚁集团在安全领域的大量创新探索基础上,提出了两条原生安全范式,以指导整体安全体系的建设。

NbSP零越范式(Non-bypassable Security Paradigm),主要目的是避免安全防护手段被绕过,应当确保关键安全检查点不被绕过,所有绕过的行为皆为非法。

传统软件内存安全漏洞、ODD反序列化等漏洞就是破坏了NbSP范式。从防御设计上来看,传统基于攻击特征的识别与拦截,也存在必然被绕过的风险。基于NbSP零越范式指导,要实现常规漏洞的防绕过,在攻击特征等层面去对抗必然会存在不断的绕过发现新的利用点,可以换个思路去定义应用的正常行为,所有非预期的非正常行为都拦截。

OVTP可溯范式(Operator Voucher Traceable Paradigm),主要目的是避免受信任的权限被滥用,应当基于该访问的操作者链路(Operator)和凭证链路(Voucher)来研判一个访问是否合法。

传统的RBAC、云AK、账号密码等机制都没有认知到这个核心范式,也缺乏对这个范式的支持。比如多数公司的管理后台是基于角色的权限机制,只要某个人拥有查询账单的权限,那无论是他主动(内鬼)还是被动(账号被入侵),都能查询任何人的账单信息。而基于OVTP可溯范式指导,每一次查询都需要回溯这次查询是否获得用户授权,账号是否被盗,才能允许其进行数据查询。

安全平行切面

具体到实施层面,韦韬提出的“安全平行切面”概念已经为大家所熟知。我在这里简单阐述一下它的实际价值。

首先,它是一种指导性的理念。传统的外挂式安全体系需要依赖大量独立的安全设备和软件,这些设备与需要保护的目标是分开的。因此,这些安全能力无法获得全面的信息,安全效果相对有限。而内嵌式安全是通过改造各种技术系统来集成安全能力、流程和机制,但这样做的问题在于资源和成本效率。现在,借助切面编程的思想,我们可以在不需要技术改造的情况下,切入任何层面,实现安全与业务的解耦,达到精细化的观测、追溯及精准阻断的能力。

其次,它是一种安全基础设施。例如,在应用层切面,通过切入应用进程,我们可以观察到应用的参数、调用链、函数以及相应的网络、文件和命令行为。这样,我们就能在一个基座上轻易实现RASP(运行时应用自我保护)、IAST(交互式应用安全测试)等功能,甚至进行深入的应用层分析,比如评估应用调用链、接口是否含有敏感数据等,辅助安全工程师进行安全评估,只需编写相应插件。这相当于是一个安全基础设施,底层由工程实现,无需关心稳定性、性能等问题,只需专注于安全能力。万物可切,可以切入系统层,在系统层观察文件、网络、命令变化,在一个基座上实现沙箱、HIDS、iptables、资产采集等功能。网络层、数据库调用层、内部接口调用层,都可以切进去实现各种能力。

在资产采集、漏洞发现、攻击拦截、入侵检测、数据治理等方面,这种方法带来了显著的提升,使安全人员可以专注于安全本身。最近,我们与IDC联合发布了《安全平行切面白皮书2.0》,同时我们成立了安全平行切面联盟,对于加入联盟的成员,我们将开放源码的方式实现共建,对此感兴趣的企业可以详细了解一下。

三、可信纵深防御在0day和数据防护实践

可信纵深防御体系

有了理论和技术支撑,很多问题变得更加明晰。我们可以从新的视角审视可信纵深防御体系,并更深入地探讨在0day漏洞防御和数据保护方面的具体实践。

虽然我们常说“不知攻焉知防”,但这并不意味着我们应该用攻击的方式来进行防守。攻击者只需发现一个漏洞即可成功,而防守方则需要全方位地防御各种潜在风险。在传统基于攻击特征的感知与拦截体系中,攻击者不断发掘新的利用方式,而防守方通常只能在事后补充新的发现和防御规则,这造成了攻防双方之间的巨大不对等。

相比攻击方,防守方的一个显著优势在于对内部环境了如指掌,明确知道内部应用的正常行为。基于此,我们可以尝试一种大胆的思路:定义出应用的正常行为特征,并拦截所有非正常行为。这种做法类似于从传统的基于已知攻击特征的防御,转变为基于已知正常行为之外的拦截,就像是从黑名单策略转向白名单策略。

例如,我们可以通过安全平行切面无感地注入到应用中,采集应用的各种参数、调用链、反射、字节码修改、库加载、反序列化、高危函数以及网络、命令和文件访问行为等信息。通过线下和生产环境的长期观察和优化,最终可以实现对除了这些正常行为以外的所有行为进行拦截阻断,有效免疫常规0day漏洞。并且,这套逻辑可以应用于每一个层面,包括应用、容器、操作系统、网络、接口调用、数据调用等。

支撑这种逻辑的过程中,必然伴随着巨大的成本。就像马斯克通过使用不锈钢替代传统航空材料以控制成本,并通过可回收技术进一步降低成本一样。尤其在有安全平行切面的支持下,我们在支付宝已经开始逐步落地这套理念,并取得了一些成果。未来,我们计划将所有安全能力都逐步升级至基于行为的可信模式,以增强对未知风险的防御能力。

0day防御

在0day防御的实践中,我们利用了基于业务应用和操作系统层面的切面能力,建立在此基础上的数据采集能力和管控能力。我们通过分析并定义应用的参数、调用链以及函数调用等正常行为,进而建立了一套可信策略。这种做法使我们能够准确地识别和区分正常行为与潜在的异常或恶意行为,从而有效防御0day攻击。

在Log4j RCE漏洞应急中,直接免疫并拦截40+万次的攻击,过程0误拦截、0漏拦。

水平越权防护到敏感数据防护

我们通过提升水平越权识别的准确性,并结合各种安全治理措施,已经将核心业务的水平越权漏洞数量降至极低水平。然而,仅仅依赖发现和治理手段并不能完全杜绝水平越权问题,一旦出现此类漏洞,其影响仍然较大。

因此,我们开始思考如何通过技术手段根本上杜绝水平越权漏洞。在这一过程中,我们探索出了一套基于关系票据的水平越权防护方案。这个方案通过技术层面确保所有数据只能被数据的所有者或其授权者访问,从而解决了由编码错误导致的任意数据访问风险。

安全平行切面已经被注入到每个应用中,使我们能够观察每个应用内部的运行逻辑。此外,我们还可以动态注入代码,从而在不重新发布应用的情况下增加业务逻辑。以访问一个订单为例,简化的逻辑是:在入口应用时,切面通过认证系统获取访问者的登录账户信息,并将该信息随着后续的接口调用一路透传至数据应用。最终,数据应用中的切面能力将校验每次查询透露的数据是否属于入口应用的用户。实际过程中,会遇到大量更加复杂的授权、鉴权和数据透传问题。目前,我们已在部分关键业务场景中推进这种方法的覆盖,并实现了预期效果。

按照这套思路,我们不仅能解决互联网侧的水平越权风险,还能解决办公网侧基于角色的权限体系问题,本质上所有内部员工查询用户的敏感数据,一定是基于用户的授权行为(比如有用户咨询反馈过问题),这类本质上只是入口应用采集身份和数据应用校验授权逻辑的差异,整套方案同样适用。等到进一步完善后,我们计划公开所有细节的实现方法。

由于时间限制,我无法深入讲解所有细节。如果大家对更多内容感兴趣,欢迎访问《基于原生安全范式构建可信纵深防御体系》获取更多信息。如果有任何疑问,也可以通过添加我的微信(FEEI_WU)与我交流探讨。

同时,如果你有兴趣加入我们,共同建设支付宝的安全体系,欢迎查看支付宝招聘安全岗位招聘信息,给自己一个新的可能性。

希望我的分享能给大家带来一些启发。谢谢大家!


附:

为网络安全带来微小而美好的改变
Loading