一、什么是应用安全?
2022年RSAC中,与application security相关的topic共有50个。其中Web应用安全主题8个、软件供应链安全主题7个、云安全主题6个,其他零散议题如应用程序安全性测试、devsecops、零信任、物联网等,都部分涉及到应用安全的领域。
那么什么是应用安全?怎么定义应用安全的范围呢?
今年F5发表了《2022年应用程序保护状态》主题演讲。F5从2018年开始,连续4年发布《应用程序保护状态》报告,今年聚焦数据泄露相关内容分析了数据泄露的原因、威胁模型和攻击链分析。但数据泄露只是应用安全中的一个重要子集,例如API安全就非常关注敏感信息识别。
RSA以议题形式覆盖了应用安全中的大部分内容,但要关注应用安全的范围,建议参考Gartner的《Hype Cycle for Application Security, 2021》,它按照重要性和成熟度两个维度对应用安全的范畴进行了划分。
本文我们聚焦Web应用安全与软件供应链安全两大主题,深入分析RSA在这两个主题中关注的应用安全内容,以及当前的主要技术趋势。
二、Web应用安全及其细分领域
1、自动化威胁:机器人的兴起及其应对措施
“自动化攻击”是Web应用安全领域新兴的攻击手段。自动化攻击很早就出现了,例如我们最为熟悉的爬虫和扫描器就是典型的自动化攻击方式。随着近年数字化转型与业务上云的加速,越来越多的Web应用暴露在互联网,在带动业务多样化的同时,也给攻击者提供了可乘之机。
在访问Web应用服务时,当客户端使用工具、脚本、模拟器等工具,伪装成正常的浏览器/APP访问业务的场景,我们称之为机器人流量。机器人流量构成了对Web应用的自动化威胁。
当然,机器人流量流量也有好坏之分,好的机器人流量如浏览器爬虫、合作伙伴客户端等。但也存在很多恶意机器人客户端,借用脚本、工具的低成本、好复制、自动化的特征,损害客户利益的场景,如扫描器、爬虫、薅羊毛的黑灰产工具等。
bot客户端很多时候并没有明显的攻击特征,如爬虫bot以爬取公网数据为主。采用WAF防护,其防护作用非常有限。除此之外,大量的黑灰产工具通过发现业务逻辑漏洞,大量挤占正常用户的访问带宽,窃取客户利益。
上图简单梳理了自动化威胁和传统Web应用威胁的差异性。可以看到虽然都是对Web应用产生的攻击,但传统WAF已无法识别自动化威胁的客户端和流量。
针对这种自动化威胁的攻击,目前常见的两种检测方式,可以简单的分为客户端识别与服务器识别。
客户端识别,顾名思义是通过收集客户端的相关信息,以判定客户端是否为非浏览器的异常工具。常用的技术手段是JS下发,收集客户端JS执行结果。当然针对APP类型的客户端,使用的是APP SDK来收集。这种技术大部分也被自动化威胁防护与缓解厂商使用,绿盟BMG为国内的典型产品,国外以akamai、radware和imperva的bot缓解产品为代表。
服务器识别是指不借助客户端收集的信息,仅依赖服务器的访问日志进行分析,来识别自动化威胁的攻击。典型代表厂商是今年RSA大会上演示《自动化威胁:机器人的兴起及其应对措施》的厂商netacea。netacea主要依赖情报和机器学习,采用无代理的方式,无需下发JS,机器学习方法分析数百万个请求以生成源源不断的实时推荐流。来自设备指纹和用户声誉的额外数据提供了极其准确的机器人检测和缓解选项,独特地分析用户与应用程序的交互以揭示行为的意图。在本次演讲中,netacea也着重提到了一种专门应对自动化威胁的框架—— BLADE。业务逻辑攻击定义 (BLADE) 框架是一个开源知识库,旨在帮助网络安全专业人员识别攻击者用来利用面向 Web系统(网站和 API)业务逻辑中弱点的阶段、策略和技术。有一系列攻击框架(例如 Mitre ATT&CK 和 Lockheed-Martin Kill Chain)可让网络安全专家对旨在利用系统技术弱点的传统网络攻击进行建模和响应。这些框架不太适合建模以业务逻辑为重点的攻击,但这类攻击正变得越来越普遍。
Netacea的威胁研究团队与一系列安全专业人士合作,将现实世界的经验捕捉到一个框架中,该框架将各种业务逻辑攻击类型捕捉到一系列全面的杀伤链中,让安全专业人士能够采取积极主动的方式针对自动化和业务逻辑攻击进行防御。
2、API安全
API安全作为Web应用安全领域中非常重要的子领域,Gartner甚至将WAF魔力象限更名为WAAP魔力象限,在原有Web应用的基础上,增加了API安全的内容,足以说明其重要性。
在本次RSAC中API安全的热度并不高,议题不多,主要涉及以下几点:创新沙盒厂商neosec,议题“发现API资产”,以及议题“IOC如何应用到API中”,以下我们简要展开说明下。
- 创新沙盒入围厂商,neosec,主打XDR for API
今年创新沙盒中,只有neosec一家厂商主打API安全。其核心思路是将XDR思想应用到API安全中。当然,XDR也是非常热门和广泛的领域,此处我们以API安全为核心,关注XDR在API安全的应用方式。
上图体现的是neosec提供的安全价值。即我们能看到的API风险只是冰山一角。还有更多的威胁风险是隐藏在水面之下的,如东西向API调用、第三方API等。这一部分难以被触及,却可被攻击者利用。neosec使用XDR技术,关注东西向、影子/僵尸API、第三方API安全风险。neosec将其定义为高级API威胁,区别于WAF、bot缓解和第一代API安全的防护范畴。
其实现方式是基于saas的API安全,将行为分析与threat hunting结合。专注于长时间窗口的数据分析,以机器学习的方法形成行为基线来发现API安全的风险。同时,在关注detection的同时,neosec认为response不再是实时阻断,而是强调响应能力。因为对于API这种复杂的逻辑和使用场景,在即时性和准确性层面是需要权衡的,不能直接阻断。例如通过电子邮件通知、上报jira、联动API网关进行处置,还可以提前预设API标签,设置威胁的响应动作。
绿盟科技微信公众号上有对neosec进行详细解读,此处不再赘述。
- 议题:发现API资产
API资产发现是API安全领域中,最不可缺少的一环,甚至是API安全的基础,决定了API的攻击面。上面所说的neosec关注东西向流量、影子API/僵尸API,也是在补全API资产。当然,API资产发现是一个多领域结合的工作,涉及到devsecops全流程、持续性等,不仅仅是web应用安全领域的内容。
不过在此议题中,并未涉及太多API资产发现的方法论。若想关注此处,推荐大家关注Gartner发布的《关于实施API发现的指导框架》,其中对于API资产发现有非常全面的描述和指导。
- 议题:IOC如何应用到API中
说完今年的RSAC中API相关的议题和厂商,就不得不提2019年创新沙盒的API安全厂商Salt security。Salt security成立于2016年,被认为是API安全领域的独角兽公司、市场的先驱,一直被国内公司模仿与引用。最近一次融资,是2022年2月份D轮,融资1.4亿美金。
Salt提出的API安全最佳实践,强调多方合作、以促共赢理念。将API安全扩展到devops流程,从API安全开发到API安全运维,都有涉及。Salt security发布的《关于API安全的最佳实践》报告,从SDL流程和API生命周期管理的角度,阐述API安全到底应该如何实施和落地。尤其强调的是,API安全不是某一方的责任。
从Salt security的报告中就可以看出,API安全的范畴非常广泛,不仅仅涉及到Web应用安全领域。从应用场景上来说,遍及Web应用安全、云安全、数据安全、零信任等方面。从技术实现上来说,情报、XDR、UEBA、数据分级分类、漏洞识别、自动化缓解的等等,都可支持API安全做得更全更好。
三、从去年火到今年的软件供应链安全
软件供应链是将“原材料”(代码)进行加工(修改、编译等)交付(分发或再分发)给用户的过程。软件供应链安全指在软件设计与开发的各个阶段中来自本身的编码过程、工具、设备或供应链上游的代码、模块和服务的安全,以及软件交付渠道安全的总和。软件供应链因其复杂多样且攻击简单的特点,极易成为攻击者的攻击目标。
在本次RSA会议上,出现了较多关于软件供应链安全的讨论。本章节从软件供应链攻击手段、安全实践等角度出发,选取其中具有代表性的几个议题进行解读,希望能够对用户如何保障软件供应链安全,从而确保应用安全有所启发。
1、创新沙盒入围厂商Cycode,软件供应链安全解决方案
Cycode成立于2019年,入选了RSA2022创新沙盒十强初创公司。根据其官网介绍,Cycode提供一套完整的软件供应链安全解决方案,可保护软件开发生命周期(Software Development Life Cycle, SDLC)各个阶段的可见性、安全性和完整性。其解决方案可以帮助安全团队在不影响项目开发进度的情况下显著地降低源代码泄露的风险。2021年5月,该公司发布了自己的知识图谱,Cycode通过与DevOps工具和基础设施提供商集成,使用一系列扫描引擎查找硬编码机密、代码错误配置、代码泄露等安全问题来降低SDLC各阶段的安全风险。绿盟科技官方微信也对该方案进行了详细的解读,本文不再赘述。
2、打破软件供应链攻击的安全原则
该议题简要介绍了软件供应链常用的攻击手段,给出了软件供应链安全应遵守的四项原则,以及最佳实践措施。
软件供应链攻击一般指的是针对开源或第三方组件漏洞的攻击,或者是对上游供应商的攻击,如SolarWinds入侵事件,攻击者对未授权代码进行恶意注入。
软件供应链安全防护一般需要遵守以下原则,供应商需要给出明确的软件物料清单(SBOM),SBOM描述了软件包依赖的一系列元数据,这些信息在分析软件安全漏洞时发挥着重要作用。同时在软件开发、交付、使用的所有阶段,需要最小限度暴漏软件的SBOM及其他详细信息,避免被攻击者有针对性的利用漏洞进行攻击,提高攻击者的攻击成本。随着新漏洞的出现,安全防护系统需要及时响应漏洞以应对新的威胁,定期监控组件的状态,如组件使用寿命即将耗尽或开源贡献者可能放弃组件并对其停止维护,在这些情况下,必须能够检测到组件风险状态的变化,确定风险严重程度的优先级,并在必要时关闭或维护组件。
软件供应链安全具体防御策略如下,我们需要尽量避免软件和企业之间的隐含信任链,所有的软件供应链攻击都可以归因于隐式信任,在使用第三方代码或开源组件之前,需要验证它是否可信,而不能无条件信任。同时尽量减少接触第三方软件,而避免因某些第三方软件的漏洞而带来众多潜在的安全风险。在任何行业,如果供应链的薄弱环节被利用,企业就会陷入困境。在软件供应链里也是如此,敏感的基础设施如开发工具、管理软件、支付系统等一旦被攻破,其可能会带来巨大范围的危害。攻击者往往会滥用供应链之间的信任关系,并通过供应链关系来挖掘上下游之间的关系,以获取更多的数据和权限。因此,要应对供应链攻击,企业应该遵循并扩展零信任原则,全面审核供应链产品与服务的安全。
3、开源软件签名服务
受SolarWinds供应链攻击的影响,研究人员意识到保护软件供应链安全不受到非授权修改的重要性。
Sigstore是OpenSSF(开源软件基金会)提供的一种软件自动化签名与验证的技术,目的在于通过提供公共、非盈利的服务来改善开源软件供应链的安全。
Sigstore的透明账本是作为出处、完整性和可发现性的源。由于是公开和开放的,任何人都可以监控sigtore 的透明账本,执行查询,返回特定邮件地址的签名记录,公钥等等。此外,安全研究人员也可以通过监控日志来识别出可能的恶意模式和有问题的行为。
4、2021年RSAC创新沙盒冠军 Apiiro
2021 RSA大会创新沙盒环节,来自以色列的公司Apiiro作为业界首个也是唯一的DevSecOps平台企业,凭借代码分享平台拿下了本届创新沙盒冠军,荣膺“RSAC 2021最具创新初创企业”。
针对SolarWinds这种典型的软件供应链时间,该方案提供了一种有别于传统检测门禁的新思路。Apiiro代码风险平台的功能之一是能够使用UEBA和异常检测技术(正在申请专利)检测并阻止代码的恶意提交,此功能模块是基于机器学习和人工智能算法进行设计的,该算法分析组织中不同实体的行为(例如代码组件、安全控制、数据类型、贡献者的知识、组织行为、存储库、项目等)。同时该模块提取了数十种面向领域的特征(包括逻辑,上下文和时间序列特征)用以构建每个实体属性,如对历史提交代码的元数据、内容、pull请求和票证进行分析,提取相关的数值、时序及内容特征。该模块的另一个数据源是平台产生的历史跨库代码特征。在完成特征提取和丰富后,Apiiro代码风险平台会基于历史代码实时构建和训练自适应行为模型。
Apiiro 创立了Code Risk Platform,可识别整个开发过程中的风险,加强应用程序治理和合规性,并防止高级CI / CD攻击,Apiiro会分析整个开发过程中的数据,以帮助组织识别,确定优先顺序并补救有风险的重大变更。
四、结语
本文从Web应用安全和软件供应链安全两个角度,带领大家浏览了2022年RSA大会上的应用安全。仅是管中窥豹,可见一斑,应用安全的范围大而广,且与其他领域存在交集。例如今年大火的云原生安全,也与应用安全领域有密不可分的联系。随着数字化转型,越来越多的企业都将自己的业务迁移上云。从云原生层面,云上有哪些新的威胁;从应用安全层面,应用与安全如何适应这种新的变化,都是值得继续学习与探讨的。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。