【api安全】发展趋势与防护方案

news/2024/10/4 4:54:35/文章来源:https://www.cnblogs.com/o-O-oO/p/18429683

原创 让数据更安全 德斯克安全小课堂

近期, 全球知名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风险。

Mark表示,在选择API安全产品时重点了解的能力和问题就应该包括:产品提供商是如何发现 API?如何感知风险

?如何保障风险识别的准确性?如何监控和检测异常情况?如何阻止对 API 的攻击?

永安在线API安全管控平台

永安在线API安全管控平台是基于自身多年在黑灰产情报上的强大积累,以精准情报为底座建立的API安全管理产品。
它以精准情报建立API安全基线,结合人工智能,构建风险检测模型,形成API资产管理、API风险感知及溯源三大核心能力,具备误判率低、可用性高的优点,能切实帮助企业有效提高API安全管理能力。

● 在API资产梳理上,通过旁路流量分析及使用先进的图模型

技术,能自动化对API流量日志中的请求进行路径转义归类,不入侵到当前的业务中,就可自动地发现业务潜在的API接口,并进行梳理、盘点,部署实施成本极低,让安全部门轻松了解API资产现状,实时感知每个API接口的访问情况,并进行管控。

此外,还能实现自动化检测API传输中的数据涉敏情况,帮助业务部门进行有针对性的保护。系统内置最常用的10多种常见敏感数据

类型,30多种各行业常用敏感数据类型,包括姓名、身份证、手机号、银行卡等,并支持业务方动态自定义敏感字段的检测要求。

● 在API风险感知上,基于黑产攻击情报,能够精准感知利用API的逻辑缺陷造成的攻击事件,及早对攻击进行预防和阻断,减少数据外泄

和业务损失。

●在API风险溯源上,依托情报数据能够外部溯源攻击源头的产业链上游团伙,还原攻击场景及攻击目标;内部溯源违规操作账号和API,还原攻击路径。为下一步的追责处置提供可靠的依据。

结语

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

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

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

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

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

参考🔗

https://mp.weixin.qq.com/s/OrT3jbSbWl6id2eXtyIf6Q

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/807027.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找到一个数最接近的比它大的2的n次幂的代码分析

pub fn f1(mut n: u32) -> u32 {n = n | (n >> 1);n = n | (n >> 2);n = n | (n >> 4);n = n | (n >> 8);n = n | (n >> 16);n }如果n的输入类型为 u32(32位无符号整型), 上述代码的结果为大于等于n的2^k - 1的值(因为可能会出现溢出,所…

《如 何 速 通 一 套 题》8.0

邮寄 开场秒 B。 A 稍微退了一会儿,推出一个解法(后面发现假掉了)...... 然后 CD,D 感觉是一个 SA。结果 SA 写错了,算法假掉了...... A 智乃的差分 分类讨论。 \(x > 0\) 最大值 \(= x\),最小值 \(= 0\) 此时可以直接找一个不是 \(x\),不是 \(0\) 的数来(严格次小值…

Orchestre symphonique de Montréal,Rafael Payare - 马勒:第五交响曲(2024)

Orchestre symphonique de Montréal,Rafael Payare - 马勒:第五交响曲(2024)[Hi-Res 96kHz_24bit FLAC] 曲目:01.I. Trauermarsch. In gemessenem Schritt. Streng. Wie ein Kondukt.02.II. Stürmisch bewegt. Mit gröter Vehemenz03.III. Scherzo. Kräftig, nicht …

信息学奥赛复赛复习09-CSP-J2020-03表达式求值前置知识点-中缀表达式求值、摸运算、模运算性质、栈

PDF文档公众号回复关键字:20241002**1 P1981 [NOIP2013普及组] 表达式求值 ** [题目描述] 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值 [输入格式] 一行,为需要你计算的表达式,表达式中只包含数字、加法运算符 “+” 和乘法运算符 “”,且没有括号,所有…

文件

一个文件会对应一个inode软硬链接有什么区别:是否具有独立的inode!! 软连接具有独立的inode--可以被当作独立文件看待。 硬连接没有独立的inode--就是链接前的inode编号。建立硬链接,根本就没有创建新文件,因为没有给硬链接分配独立的inode。既然没有创建文件,那么一定没…

模拟赛总结(二)

2024.8.1 T1 集合(mex.cpp) 枚举每个数,求他是\(mex\)的概率,就是取完比他小的,比他大的随便取的方案数比上总方案数 code T2 取模(mod.cpp) 有点套路 定义:\(odd\)为奇数,\(even\)为偶数,\(num_{odd}\)或者\(t\)为奇数个数 那个下取整可以变为: \[\begin{cases}& \…

重生之我要做商城 - 萌音商城V1.0上线

萌音系列的第N+1个项目来了呢. 这其实又是一个鸽了好几年的项目了,这回总算能把坑填上了. 先上项目地址: https://MoeKoe.cn 我为什么一直在做项目? 这个问题就很有意思了,为什么一直在做各种项目,而且还是不挣钱的东西. 接触过我之前一些项目的小伙伴都知道我开发什么项目都是…

【转戴】Redhat与Debian系介绍(Linux各种发行版本概述)

Linux,最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中…

吐槽随笔

2024/10/02 好不容易有时间打一次洛谷月赛,结果却让我输的这么彻底!

【动态Web API学习(三)】动态方法

1.应用程序模型 ASP.NET Core MVC根据控制器、操作、操作参数、路由和筛选器的结果,定义模型如下: ApplicationModel、控制器(ControllerModel)、操作(ActionModel)和参数(ParameterModel)。上一节中只是告诉系统封哪个是控制器,还要为控制器模型初始化值,比如路由、…

关于Arch Linux 安装及一些相关问题总结

关于个人Arch Linux 安装及相关问题总结 0. 其它记得在pacstrap前换国内的源 不会有人和我一样没换等半天还不成功吧 😦交换分区开大一点,照着Windows下开(看taskmgr里面的缓存空间),比如4G的RAM就要开10G的swap,swap越大越不容易卡死,安装时用swapon启用你刚建的swap…

深度学习(可视化卷积核)

可视化卷积核参数对理解卷积神经网络的工作原理、优化模型性能、提高模型泛化能力有一定帮助作用。 下面以resnet18为例,可视化了部分卷积核参数。import torchvision from matplotlib import pyplot as plt import torchmodel = torchvision.models.resnet18(pretrained=True…