API安全性——2023年主要关注点 | Treblle与Bill Doerrfeld
APIs 已经成为现代数字化战略的核心,它们不仅帮助企业与内部利益相关者共享数据,还推动了全新 事件驱动微服务架构的动力来源,APIs 使得可组合企业成为可能。然而,尽管 APIs 是现代互联技术的通用语言,它们也带来了新的安全挑战。随着基于 API 的连接价值不断提升,相关的安全威胁也在迅速增加。
近年来,API 攻击的数量呈现出惊人的增长趋势。例如,根据 Salt Security 的报告,2022 年中期 API 攻击流量增长了 681%。许多 API 缺乏适当的授权控制,使得脆弱的 HTTP 方法容易被黑客利用,导致大量数据泄漏。此外,随着 API 数量的增加,影子端点和僵尸端点问题也愈发严重。保护敏感数据并遵守全球数据法规已成为当务之急。
API 最大安全风险
在使用和托管 API 时,存在许多潜在的安全风险。以下是一些主要风险及其影响:
配置不当导致的访问控制问题
如果 API 配置不当,可能导致弱对象级别授权(BOLA)列为现代 API 面临的头号威胁。BOLA 的出现通常是因为授权控制不存在或实施不当,这可能允许攻击者通过修改 HTTP 请求中的唯一标识符,访问其他用户的资源,甚至操纵数据。未经授权访问敏感数据不仅违反了最小特权原则,还可能导致数据过度暴露。
身份验证机制薄弱
许多 API 依然使用过时的身份验证方法,例如 HTTP 基本身份验证,而大多数则依赖 API 密钥。然而,API 密钥并不足以提供强有力的身份验证,特别是在密钥容易被窃取或意外暴露的情况下。例如,云命名工具的 API 密钥经常被发现存储在公共代码库中,增加了被攻击的风险。
确保 API 安全的策略
为了应对上述威胁,组织需要采取一系列措施来确保其 API 的安全性:
1. 了解 API 的表面区域
首先,组织需要全面了解其 API 的使用情况。通过审核活动中的 API 数量,并在公共目录中跟踪新集成,可以提高内部服务的可发现性,防止遗忘或滥用。此外,从一开始就制定 API 的生命周期管理策略,包括弃用计划,可以有效避免影子 IT 的出现。
2. 实施高级身份验证和授权
采用多因素身份验证(MFA)是API 请求者(无论是用户、设备还是服务器)在零信任环境中得到适当授权和身份跟踪。
3. 使用 API 网关与管理解决方案
大多数安全的 API 都采用 API 网关来管理流量。通过加密传输数据、速率限制和其他管理解决方案,可以有效减少潜在威胁。
4. 制定内部风格指南和政策
通过采用如 OpenAPI 规范等标准,推动规范驱动的开发,可以确保 API 的一致性和可维护性。此外,API 项目经理应定期识别安全文化中的差距,并通过培训提高团队对数据过度暴露风险的认识。
不安全的 API 对业务的影响
随着越来越多的企业转向数字化优先策略,API 已成为推动业务发展的关键。然而,如果 API 安全性得不到保障,其带来的风险可能会对企业造成巨大损失。
例如,2022 年的一份报告估计,由于 API 相关的安全事件,美国企业损失高达 120 亿至 230 亿美元。知名案例包括 Optus API 入侵事件,黑客要求 100 万美元赎金,以及 T-Mobile 的数据泄露事件,导致 3700 万客户记录被窃取。这些事件不仅对企业的财务状况造成了严重影响,还削弱了品牌声誉和消费者信心。
随着 API 投资的增加,与之相关的新漏洞也在不断涌现。例如,GraphQL 等新兴 API 风格带来了新的安全挑战,尤其是在金融和医疗保健等对数据安全要求极高的行业中,机构面临着开放数据以遵守法规的压力。
总结
API 安全性在 2023 年及未来将继续是网络安全领域的核心关注点。通过从零信任的角度出发,组织可以有效保护其 API 生态系统,无论是内部服务、合作伙伴服务还是外部化产品。采取如高级身份验证、API 网关、规范驱动开发等措施,可以帮助企业在享受 API 带来便利的同时,最大限度地减少安全威胁。
通过预先考虑 API 安全性并实施最佳实践,企业不仅能够保护其数据和系统,还能增强用户信任,为未来的数字化发展奠定坚实基础。
原文链接: https://blog.treblle.com/why-api-security-is-a-top-concern/
最新文章
- 什么是API产品?
- 获取公司标志API:增强品牌表现力
- 晒照片也能打分?UGC摄影评分服务API帮你搞定
- 如何使用Postman来Mock API
- 如何提高OCR的准确率?
- 在C++、PHP、Python中对接抖音即时热搜榜API的全面指南
- 如何编写v3 AsyncAPI描述
- API 身份验证和授权:6 种成功方法和技巧
- Java API 如何支持现代软件开发 – Brilworks
- 如何使用Python抓取LinkedIn数据 – Apify博客
- 如何使用Postman自动化API测试 – LogRocket博客
- 如何让 Python 写的 API 接口同时支持 Session 和 Token 认证?