梆梆资讯
API 安全专题(七)| 管理 API 安全风险的 10 种方法
2023-04-07
API 在软件交付生命周期中占有重要地位,其安全性取决于 CI/CD 工作流遵循 API 开发最佳实践的程度。无论是从头开始构建 API 还是从第三方来源集成 API,保护它都需要有组织的、积极的端到端可见性。
随着全球信息技术高速发展,互联网已渗透到人类生产生活的方方面面,每天有数十万个应用程序启动和运行,应用程序编程接口 (API) 的使用和需求显著增加。
在开放网络技术的支持下,微服务的日益普及加上新产品上市时间不断缩短,越来越多的开发人员和企业家设计和集成 API。然而,API 使用量的增加也带来了安全风险。由于 API 可以直接访问存储的敏感数据并允许黑客快速规避安全措施,其在黑客中很受欢迎。鉴于现代应用程序和微服务的互联互通,API 安全风险的有效管理对相关利益相关者至关重要。
Gartner 预测到, API 将成为企业 Web 应用程序中最常见的数据泄露攻击媒介。滥用或恶意攻击 API 会导致企业收入损失、客户敏感数据泄露等。本文将讨论并解释管理 API 安全风险的 10 种关键方法。
常见的 API 安全风险
近年来,API 相关安全威胁不断增加,促使开放 Web 应用程序安全项目 (OWASP) 发布“API 安全 Top 10”。OWASP 十大 API 安全挑战包括损坏的对象级授权、损坏的用户身份验证、数据暴露过度、资源和速率限制不足、损坏的功能级授权、批量分配、安全配置错误、注入、资产管理不当以及不充分的日志记录和监控。
管理 API 安全风险的 10 大方法
1. API 发现
Forrester Research 的首席分析师 Sandy Carielli 表示,“公司不知道其 API 的资产范围以及这些应用程序接口是否安全。”
随着产品新版本的开发,API 设计过程中容易错过未跟踪的更新和未记录的参数,为攻击者提供入口点。 API 发现是确保适当的 API 资产管理的最佳实践,可以提供 API 攻击面的广泛视图,没有盲点和持续更新的清单。
一个好的 API 发现解决方案包括 API 端点、参数、属性和所用 API 协议(包括 gRPC、GraphQL、SOAP 和 REST)的解释,任何第三方 API 配置的发现(包括 API 更改和版本更新、应用程序的使用模式)。
2. API 风险检测与修复
API 的安全状况取决于其对威胁严重性的响应效率和速度。好的 API 管理框架能够检测和修复潜在的 API 威胁。通过使用敏感数据暴露的范围、受影响的 API 端点和策略违规的风险级别等先验知识来识别、确定优先级,并解决 API 安全和合规风险。
3. API 运行时维护
应用程序运行时,API 安全性也存在风险。 API 安全解决方案通过检测并阻止攻击来保护敏感数据免遭泄露,确保运行时的 API 保护,包括标记异常情况、跟踪最近添加或删除的 API 、监控 API 漂移等。
4. 所有请求和响应的数据加密
数据加密是将人类可读的纯文本转换为另一种形式的过程,例如代码文本或密文。 API 中加密请求和响应可以确保用户和 API 服务器之间的传输数据免受攻击。如果数据被拦截或泄露,攻击者在没有加密密钥的情况下将无法窃取数据。
5. 实施 API 网关
API 网关是将客户端连接到一组后端服务的软件模式,接受来自客户的所有 API 请求并将其路由到相关的微服务。API 网关在安全方面充当守门人的角色,提供了额外的安全和控制层,检查用户身份(authentication)和是否有权限进入(authorization)。API 网关还可使用服务配置中指定的身份验证方法验证传入请求,再将其传送到 API 后端。
6. 使用 OAuth 和 OpenID Connect
身份验证和授权的访问控制是API安全管理的重要组成部分,Open Authentication (OAuth) 与 OpenID Connect 协作以标准化身份验证和授权。OAuth 是一种开放标准授权机制,使用令牌允许第三方网站或应用程序从另一个系统获取信息,而无需暴露用户凭据;OpenID Connect 是建立在 OAuth 协议之上的简单覆盖层,允许客户端验证最终用户身份并获取配置文件信息。
7. 识别漏洞
在早期开发阶段和新代码更新的情况下,API 中的潜在漏洞可通过例行安全测试、审查和渗透测试来识别。
8. 使用配额和限制
API 是 DDoS 攻击的主要目标,攻击者用来自多个来源的请求淹没 API 服务器,降低系统的整体性能,导致系统无法运行。
为了管理 API 的使用,可以限制用户在特定时间段内进行的 API 调用次数和 API 配额。可使用节流计数器节流,当传入的客户端请求满足特定条件时,计数器会增加。API 配额根据限制设置,确定在设定时间内可进行的最大调用次数。如达到 API 配额,则不允许来自该特定客户端的流量。
9.验证 API 参数
将来自 API 请求和响应的数据与精确的模式结构进行比较,从而验证 API 参数,保证与 API 集成系统或应用程序的安全性,且只共享经过授权的输入和数据。包括指示特定请求的资源成功或失败,防止信息过度共享。
10. 构建威胁模型
开发威胁模型的关键步骤包括定义安全标准、识别潜在风险、评估威胁、缓解威胁和修复漏洞。构建威胁模型可以有效识别 API 攻击,做出更明智的风险管理决策。
控制您的 API 安全
随着现代应用程序开发从单一架构转向微服务架构,API 使用率将继续稳步增长。且随着越来越多的数字化应用崛起,API上所承载的数据安全问题也逐渐暴露,因此,API安全将很大程度决定企业当下业务的安全性。梆梆安全建议相关企业要尽早开展API资产的管理工作,API安全已刻不容缓!
参考链接
https://orca.security/resources/blog/10-ways-to-manage-api-security-risks/
Copyright ©2022. All Rights Reserved 京ICP证160618号 京ICP备11006574号-1