API 面临哪些风险,如何做好 API 安全
在当今信息化高速发展的时代,API(应用程序编程接口)技术已成为企业数字化转型的基石,它连接着各种服务、传输数据并控制系统,成为现代数字业务环境不可或缺的一部分。然而,随着 API 的广泛应用,其安全性问题也日益凸显,成为了企业不得不面对的挑战。今天我们就来了解下什么是 API,当前 API 面临着哪些安全风险,以及有哪些防护措施,可以做好 API 安全。
![](https://static001.geekbang.org/infoq/cb/cbad7a6a7b5b40973740f2e1db9d3e36.png)
一、什么是 API
API,全称 Application Programming Interface,即应用程序编程接口,是一组规则定义和协议规范,它允许不同的软件应用程序或组件交互和通信。简单来说,API 是一种媒介,定义了不同的软件组件如何相互“交谈”。
![](https://static001.geekbang.org/infoq/ab/ab9b8fd2ae8054588603907d7307c8e7.png)
二、API 当前的安全现状
随着云计算、大数据、物联网等技术的快速发展,API 的应用场景不断拓展,其数量呈爆炸性增长。从简单的数据查询、服务调用,到复杂的业务流程、系统集成,API 都扮演着重要的角色。然而,这种广泛的互联和共享也带来了安全风险。由于 API 的开放性和可访问性,它们成为了攻击者的主要目标。一旦 API 被攻击,不仅会导致数据泄露、服务中断等严重后果,还会对企业的声誉和利益造成巨大损失。
根据 Salt Security2022 年最新发布的《API 安全趋势调查报告》数据显示:
2022 年,平均每个受访企业的 API 数量较去年增长 82%。同时,恶意 API 流量占比约为 2.1%,比去年激增 117%;
API 攻击正在引发严重的安全问题,有 94%的受访者表示他们在过去一年内遇到过 API 安全问题;
近一半(47%)的受访者表示,他们在企业应用的 API 中检测出安全漏洞;38%的受访企业遭遇过 API 引发的身份安全问题,31%的受访企业遭遇过 API 引发的敏感数据泄露和隐私安全事件;
40%的受访者表示将努力解决 API 应用安全问题,但只有 11%的受访者表示,目前已经使用了针对性技术来进行 API 安全测试和保护工作。
以上数据显示,还有很多企业没有对 API 面临的安全威胁保持足够的重视。一旦遭受 API 安全事件,将给企业带来的无法估量的损害。因此,我们需要重视解决 API 的安全问题,确保对网络中最常见和最严重的 API 安全威胁进行及时处理。
三、当前 API 安全的常见风险与防护建议
API 安全不仅仅是修复单个漏洞的问题,需要我们从更广泛的角度解决 API 网络安全缺口,在设计和实现 API 时,需要充分考虑其安全性,并采取相应的安全措施来防范潜在的安全威胁。 德迅云安全分享以下一些危险的 API 安全风险和相应的防护措施。
![](https://static001.geekbang.org/infoq/c1/c1e483dd4fb196d8fd16095b27e340c7.png)
1、影子 API 和僵尸 API
影子 API 是目前 API 安全中最为突出的问题,由于 API 的使用率激增,企业往往无法全部跟踪管理,因此,一些 API 无法及时进行维护更新, 这些未经授权或已废弃的 API 可能存在于企业的系统中,由于管理不善或疏忽,从而成为了被恶意黑客公开利用的漏洞。
与影子 API 类似,僵尸 API 也是一个巨大的安全风险,其通常指的是旧的、很少使用的 API 版本。由于僵尸 API 很少得到安全团队的注意,所以也容易被有心人所利用。
防护措施:
及时维护更新 API 库存表可以尽可能减少影子 API 或僵尸 API 的存在。为此,组织必须要求 IT 团队跟踪和监视所有正在运行的 API,以查找未解决的漏洞、故障或错误配置。组织还可以利用自动化 API 安全工具(如 AppTrana)进行 API 库存跟踪。此外,所有开发人员和相关人员都应该确保所有 API 都有规范的文档进行说明和映射。
2、不安全的资源展示
一些 API 需要向客户端显示可用资源列表以供使用者及时了解。该列表可能包括“用户”或“小部件”等元素,当通过浏览器查看时,这些元素会以有组织的“分页”(paginated)方式呈现。但这种方式可能会泄露敏感信息,如用户数据、资源列表等,为攻击者提供可乘之机。
防护措施:
可以限制展示分页和资源列表的显示,以避免数据被恶意抓取。例如为查看特定资源的 API 调用指定一个时间段。或者,为用户设置 API 访问密钥,并限制 API 密钥可能被使用的次数,超过次数将撤销访问并阻止 API 连接。
3、未经身份验证的 API
许多企业中存在大量历史遗留应用程序,这些应用程序使用的 API 往往未经身份验证,使得攻击者可以轻易访问和利用这些 API。
防护措施:
强制进行 API 身份验证,以防止未经请求的 API 访问敏感数据资源。虽然它可能不是一个完善的解决方案,但实现身份验证可以控制 API 的访问范围,也能帮助 IT 管理人员在恶意访问尝试的情况下识别出访问入口点。IT 团队还应该定期进行 API 检查,以确保足够的 API 安全性,特别是在升级遗留应用程序或报废与这些 API 相关的老旧设备时。
4、被获取 API 密钥
不同的应用系统进行交互时,就需要通过 API 进行连接,这时候就需要一个密钥进行安全性确认。开发过程中若是将 API 认证密钥直接嵌入到 API 中,之后也未及时删除的话,一旦这个 API 密钥被攻击者查询获得,就能够以关联合法用户的身份,进行各种非法操作。
防护措施:
一般的做法应该是只将密钥暴露给指定的用户。而从长远来看,在开发阶段就有效规范安全管理流程可以防止密钥泄露和恶意抓取等 API 应用威胁。
5、API 监控不足
API 应用缺少监控时,会给潜在的攻击者足够的时间来建立对受损 API 的访问并保持长期连接。根据 OWASP 的说法,组织检测修复漏洞的平均时间约为 200 多天,因此我们需要在更短时间里发现 API 应用的异常情况。
防护措施:
企业要对 API 的应用安全问题提高警惕,定期开展 API 安全应用审计,以确保足够的 API 日志记录和安全的日志存储。
![](https://static001.geekbang.org/infoq/f6/f620d2450b2564f36701400e6112d909.png)
四、如何提高 API 安全
涉及到 API 安全,我们需要考虑多个方面, 除了上述的一些常见措施之外,我们还可以考虑提前采用一些安全方案,做好 API 的安全。
德迅云安全建议使用 WAAP 安全方案,WAAP 方案可以为企业提供各类 Web、API 业务等防御来自网络层和应用层的攻击,包括 API 防护和 DDoS 防护等。通过部署 WAAP 产品,企业可以有效防范多种类型的网络威胁,全面提升 Web 安全水位和安全运营效率。
WAAP 如何提高 API 安全
1、风险管理
在事前阶段,结合安全专家服务,帮助企业发现并收敛 Web 业务安全风险。具有以下安全功能:
漏洞扫描通过漏洞扫描器对 Web 应用资产进行安全扫描,发现 Web 应用中存在的安全漏洞(OWASP TOP10、弱口令、CVE 漏洞等);
渗透测试派出安全专家,以黑客视角对目标系统进行非破坏性漏洞挖掘,清查目标系统潜在的安全隐患;
智能化防护策略平台基于客户业务的智能化分析,可自动适配防护策略,实现开箱即用;
API 资产盘点基于流量分析,帮助企业从流量数据中发现尚未掌握的 API 业务,形成 API 资产清单,为后续的防护工作做好资产盘点;
2、全站防护,在事中阶段,从网络安全、应用安全、业务安全、API 安全各层面,为 Web 应用提供全面安全防护闭环,具有以下安全功能:
DDoS 防护秒级检测专利技术,在边缘实时清洗网络层 DDoS 攻击;
CC 防护基于 AI 的流量行为分析技术,实现对应用层 CC 攻击的秒级检测及防御;
API 安全针对 API 应用进行精细化的管理和防护,规避 API 滥用行为、防止数据泄露;
Web 攻击防护覆盖 OWASP Top10 的各类 Web 攻击防护,基于 CDN 的分布式算力提供弹性防护和海量 IP 封禁,同时支持与源站本地防护联合决策提高防御精度;
全站隔离基于远程浏览器隔离技术使网站源代码不可见,从而主动隐藏网站攻击面,同时结合混淆访问路径、加密交互内容等技术,实现对 0day 漏洞攻击的有效屏蔽;
协同防护通过全站防护管理平台,对网络 L3-L7 层各防护模块的安全策略进行统一管理,并通过数据聚合、情报协同,形成真正的纵深防护,简化运营工作的同时进一步提升整体安全的防护水位。
3、安全运营,在事后阶段,以降低风险为目标,全站防护管理平台提供体系化的安全运营能力,帮助企业夯实全周期风险管理闭环,具有以下功能:
全面的安全态势聚合各防护模块数据,以简洁、贴近业务的形式呈现,用户可总览 web 安全态势,主动感知和响应已知安全事件;
持续优化的托管策略结合平台实战对抗经验和持续的攻防研究成果,管理平台持续提供推送更高质量的防护规则和策略建议,对业务防护策略进行优化,与黑产持续对抗;
安全专家运营德迅云安全资深安全专家提供策略优化、应急响应、重保等专项安全服务,同时对客户风险的持续监测与防护管理。
![](https://static001.geekbang.org/infoq/21/21cbe427a6b078116db3cf3cb5668890.png)
五、总结
总之,API 作为现代数字业务环境的基础组成,其安全性问题不容忽视。企业应根据自身实际情况制定合适的安全策略和技术措施,确保 API 的安全性和稳定性。随着技术的不断发展和安全威胁的不断变化,我们也需要跟安全专家合作,采用合适的 WAAP 安全方案,不断更新和完善 API 的安全防护体系。
评论