API防护的最佳实践(From Gartner)
2021-11-26 12:00:38 Author: www.freebuf.com(查看原文) 阅读量:19 收藏

近期, 全球知名IT咨询和调研机构Gartner 在 API 安全方面的两位分析师Mark O'Neill和Dionisio Zumerle,合作举办了一场主题为“如何保护API免受攻击和数据泄露”的网络研讨会。这次会议分享的内容,对于正在探寻API安全保护方案的安全人员来说具备极高价值。Gartner预测,到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介,甚至在2024年API安全问题引起的数据泄露风险将翻倍。

而在多种典型的API攻击方式中,因API逻辑缺陷带来的攻击难以避免,无法利用传统的安全工具来防控。API的安全防护需要在整个生命周期中的所有环节都进行考虑,特别需要注重在API发现及涉敏API的分级分类管理,以及API风险感知能力上的补充及增强。在本文中,我们将展开分享会中的一些重点并提出观点,希望可以帮助大家更理解API安全风险及如何进行API保护。

API 已成最常见攻击媒介,2024年因API滥用导致的数据泄露将翻倍

Gartner曾在其《如何建立有效的API安全策略》报告中预测,“到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介。”

而最近 ,Gartner 更新了这一预测,称“到 2024 年,API 滥用和相关数据泄露将几乎翻倍。” 这说明了API安全问题严峻性在不断加剧,而背后的原因主要是很多企业目前还没有提高意识去针对性防护,让API成为了攻击者可以轻松咬到的肥肉。

在海外安全机构salt发布的《2021 年 API 安全状况报告》显示,几乎所有受访者 (91%) 在 2020 年都在其所开发的 API 中遭遇了安全事件,这些事实足以让企业管理者和安全人员敲响警钟。

典型的API攻击方式中,API逻辑缺陷带来的风险最大且难以避免

API攻击的方式有很多种,Mark 和 Dionisio 描述了其中最典型的四种API被攻击的方式:1、存储库和存储中不安全的 API 密钥2、应用程序中的硬编码凭据(包括 API 密钥)3、API 逻辑缺陷4、嗅探 API 调用从目前来说,以上四种攻击方式的前两个和第四个还是能够通过一些方案来解决,比如以下的这些思路和方式:

1、尽量避免不安全的 API 密钥暴露在云存储或 Git 等代码存储库。因为暴露这些凭据可能会让攻击者以合法用户或管理员的身份未经授权访问 API。

2、API 密钥和其他凭据不要硬编码到应用程序和设备中,例如 IoT 端点。原因与上面所说的点类似,查找密钥和凭据可能会让攻击者获得对 API 的未授权访问。Dionisio 在会议中也详细介绍了这一点,并提供了一些思考来避免这种情况的发生,在本文后面的章节,我们会做详细阐述。

3、攻击者通常会使用几种常用工具(例如 Burp Suite)在攻击期间来重复调用API。开发团队必须确保攻击者无法在日志中或通过嗅探找到能够进行调用的 API ,以防止他们在攻击中重复这些调用,获取到关键信息。

而第三个被攻击方式:API 逻辑缺陷,就不是开发团队能够去完全避免的了,目前也没有任何应用程序安全工具能够完美的解决这个问题。原因正如 Mark 指出的那样,“每一个 API 都是不同的,产生的漏洞逻辑也是独一无二,我们必须深度了解 API 的工作原理才能完全保护好它,但无论是从时间成本还是从深入了解 API细节是一项很繁杂的工作来说,这件事情都不现实。

为了说明 API 逻辑缺陷的风险,Mark 重点介绍了OWASP API 安全 TOP 10 列表中的第一大威胁:损坏的对象级授权 (BOLA)。BOLA 是目前大多数 API 攻击中常见的 API 安全问题,这几乎在所有 API 漏洞的披露中都突出显示。而这种威胁正是利用 API 逻辑缺陷,特别是授权缺陷,获得对数据的未授权访问。

虽然现在开发人员在安全性方面不断提高,但在互联网时代,基本所有企业都在要求开发人员能够快速开发代码进行应用功能创新。在这种需要快速开发迭代的要求之下必然会对API安全性造成一定的损害,这就意味着 API 将不可避免地带有潜在的漏洞。

在研究之中,我们也发现保护 API 的复杂性也在于它很多情况下是由许多应用程序 API 所组合而成,因此API也是众多逻辑的组合。而且为应用程序开发 API 的不仅仅是一个团队,有可能是由多个团队组成,这些团队也会来自第三方。而利用外部开发的 API 很可能导致对 API 逻辑的可见性和控制变得更少,从而增加了保护它的复杂性。

其次, API 所经历的变化迭代频率也相当高。API 通常是启用 CI/CD 开发实践的关键组件,这意味着它们的功能和逻辑会定期更新,更新频率可以是每周甚至每天。这种变化频率,让API很难有万无一失的规则来进行动态保护,在开发阶段的安全测试工作也难以跟上节奏。

以上的这些因素,清晰的告诉我们不能完全依赖开发人员来解决 API 安全问题,更需要的是通过在API上线运行时加强涉敏数据分级分类管理以及风险感知能力来堵住开发过程中不经意产生的安全疏漏。

对策:在API整个生命周期进行安全管理

Mark 指出,API的安全防护需要在API整个生命周期中的所有环节都进行考虑。他通过生命周期中的四个关键功能概述了在何处进行 API 安全防护:

API 发现(设计时- 此阶段所指的发现包括我们需要清楚的了解是谁在开发/创建 API、正在创建的API有哪些以及这些 API 会用在什么地方、将携带着什么类型的信息。API 安全测试(设计时)- 在此阶段进行严密的安全测试可以让 API 在上线之前就能及时发现并解决潜在的漏洞和风险。API 发现(运行时)- 在此阶段对API进行深度的资产梳理和发现,对于帮助安全团队了解不同应用程序使用的 API 以及它们可能暴露的潜在敏感数据来说非常重要。

因为很多时候只有在API运行时才能够呈现出逻辑全貌。因此在API运行时进行梳理,还能够帮助识别出在设计开发阶段未能识别到的未知影子API和僵尸API。API 风险感知及阻断(运行时)- 随着攻防面的变化及攻击者手段的隐秘多变,在API运行时加强外部风险感知能力和风险阻断能力的建设尤为重要,这样才能够及时准确的感知到 API 的任何滥用情况,并及时阻断攻击者的进一步行动。

分析:哪些产品有助于 API 安全防控

Mark 和 Dionisio 分析了许多有助于提高 API 安全性的产品。比如在针对API管理目前使用得比较多的 API 网关。Mark 指出 ,API 网关很多时候仅能保护使用该工具注册的 API,如果开发人员没有注意进行人工注册,就管理不到这些API,而随着业务发展迅速API数量的增加,会沉淀下来大量的未知API,极易造成不可估量的风险。

此外,API安全网关这类产品依赖于传统的安全防护方式,例如身份验证、授权、加密、消息过滤和速率限制。虽然这些都是重要的基础安全功能,但在保护 API 方面却远远不够。以身份验证为例,在海外安全机构salt发布《2021 年 API 安全报告》中显示,96% 的漏洞发生在经过身份验证的 API 上。也如上面所述,OWASP API 安全 TOP 10 名单上的第一大威胁:损坏的对象级授权 (BOLA),就是攻击者利用常见的授权缺陷来进行攻击,足以表明依赖传统的安全方式,并不能保护好每一个API。

接下来,Mark 也介绍了 Web 应用程序防火墙 (WAF)。他指出该类别中的许多防火墙仅依靠传统的应用程序安全方法来保护 API,这些方法包括使用签名来识别已知的攻击模式。但由于每个 API 都有独特的漏洞,因此使用签名这种方式很多时候是无效的。而且这些基于代理的解决方案缺乏对 API 上下文所需的架构理解,因此也无法理解独特的逻辑,导致无法识别针对独特漏洞的攻击者。Mark提到,目前许多新推出的 API 安全产品,关注到了更多API安全面临的现实挑战,开始从 API 安全测试、API 资产发现及管理、 API 访问控制以及API风险识别等维度来体系化思考 API 安全防护。

在API安全产品的选择上,企业应该侧重考虑应用对API未知风险能够准确识别的产品。因为网络攻防无止境,无论哪种防守方式都很难做到100%不被破解,因此对于API安全管理来说,如果能做到对风险的准确感知并及时阻断,更具有现实价值。同时,在API层面,很难做到强管控。

PC互联网时代,一个软件或服务在发布或版本更新之前会有很多的流程,导致会经历很长的时间周期之后才会完成发布,但在当前这一个追求快速迭代的快节奏场景下,用强管控方式必然就会影响到业务。所以,对API的管控固然重要,但不是最需要关注的点。企业需要的是在清晰了解API全量资产的前提下,更注重API运行时对风险的及时准确识别,这样才能更好管控API风险。

结语

IT互联网产业一直以快著称,是一个快速增长、快速迭代的领域,稍不留神就会被淘汰出局。与国外相比,中国的互联网竞争态势更为激烈,安全基础设施水平却有所差距,整体呈现以下现状:

1、业务迭代速度更快,但对安全的投入却不大,缺少在API设计、研发、服务过程中对安全的投入和考虑;

2、服务部署的边界多样化,如IDC、私有云、公有云等混合服务让风险管控复杂性加大,并且安全基础设施薄弱,风险的暴露面更大;

3、攻击者的手段更加丰富,利用海量秒拨和代理IP资源、恶意手机号码、临时邮箱,绕过目前常规的安全检测的策略。

基于这些中国目前的网络安全现状,我们除了需要把API安全的概念往前面带,从API设计、开发、测试、上线各阶段进行安全管理,并梳理清晰API资产进行全面管控之外。在面对日新月异的攻击手法,也更需要提高API风险感知及阻断能力的建设。而情报对于识别外部风险具有天然的优势,通过外部情报可以第一时间感知到是否存在针对己方API的攻击以及攻击规模,并从情报中提取出攻击者所使用的技术和攻击逻辑,指引安全人员进行针对性阻断。


文章来源: https://www.freebuf.com/news/306073.html
如有侵权请联系:admin#unsafe.sh