在过去十年中,API 部署呈爆炸式增长,但随着这种流行,恶意行为者也开始关注。许多 API 安全事件已经发生,尤其是数据泄露。这些事件提高了人们对 API 漏洞的认识,但由于由 API 交互组成的大量 Web 流量,攻击和违规行为仍在继续发生。
许多组织保护 API 流量的方式与保护其遗留应用程序的方式相同。但是,通用应用程序安全控制不足以保护 API 事务。安全和风险管理领导者必须与应用技术专家合作,建立并完善他们的 API 安全计划,以应对这种日益增长的威胁形势。
可见性:环境中存在哪些 API?
许多 API 泄露事件都有一个共同点:被泄露的组织直到为时已晚才知道他们的 API 不安全。API 安全的第一步是发现组织从第三方交付或使用的 API。
移动和 Web 应用程序是一个很好的起点。API 的另一个常见来源是应用程序集成,它涉及集成产品用来提供对应用程序或数据的访问的 API。一些组织可能还有一个开放的 API 程序,包括开发人员门户,并且必须保护这些公共 API。最后,考虑组织使用的任何第三方 API。
发现组织的 API 后,下一步是根据曝光度、业务环境和技术对它们进行分类。然后,确定 API 的潜在漏洞。最常见的 API 漏洞路径包括:
- 存储库和存储中的不安全 API 密钥:API 密钥或其他密钥,例如 SSH 密钥或 SSL/TLS 私钥,可能会在基于云的存储或对公众开放的代码存储库中被发现。
- 应用程序中的硬编码 API 密钥: API 密钥或其他凭据可能在 Web 和移动应用程序中进行硬编码,并在物联网设备或移动应用程序中受到反编译攻击。
- API 逻辑缺陷:API 可能存在可被利用的错误或其他逻辑缺陷。
- 嗅探 API 调用:可以通过中间人方法嗅探 API 流量,从而发现 API 密钥或不安全的 API。
访问控制:谁在访问 API,有什么访问权限?
访问控制是 API 安全的重要组成部分。它包含身份验证(验证主体身份的过程)和授权(确定主体是否有权访问特定资源的过程)。
访问控制功能中的漏洞通常是针对 API 的最常见攻击点,会导致数据泄露、丢失和操纵。Web 应用程序历来使用基本身份验证(用户名和密码)来允许用户访问。当组织开始部署 API 时,通常会继承这种机制。
成熟的组织使用现代 API 访问控制机制。现代 API 访问控制策略基于对组织用例的四个关键维度的评估:
- 身份功能:API 用例的身份功能是身份验证、授权和加密。身份结构,即需要协调在一起以解决身份需求的工具,根据组织范围内的身份功能而有所不同。
- 应用程序:移动应用程序、内部或外部服务、Web 应用程序和设备都是访问受保护 API 的应用程序示例。这些应用程序通常由用户或机器身份(例如服务帐户)操作。不同的应用程序在如何验证自己和操作它们的人类用户方面具有不同的功能。
- 调解器:API 受调解器(如企业或内部 API 网关)以及更灵活的调解器(如部署在 API 附近的边车)的保护。评估调解器的身份能力可确保 API 访问策略包括调解器中的正确集成和执行。它还使组织能够评估访问管理工具对所用中介的支持。
- 开发人员支持:开发人员支持确保开发人员可以发布和控制他们自己的 API,并控制他们在他们的 API 中需要哪些属性。同时,控制必须基于委托模型,在该模型中,中央团队控制总体策略。了解开发人员支持维度可确保该策略包括正确的工具支持,例如开发人员自助服务界面。
为确保进行适当的风险评估和分类,请使用这些维度来定义组织的 API 访问控制要求。
威胁防护:攻击者如何利用API?
API 安全程序必须防范三种常见的攻击模式:拒绝服务、滥用功能和漏洞利用。API 威胁保护由运行时或外围技术组成,可识别和防止属于这三类的攻击。
典型的威胁防护技术包括:
- DDoS 保护:能够处理容量攻击的解决方案包括内容交付网络或 CDN、基于云和设备的 Web 应用程序防火墙或 WAF,以及云清洗中心或 CSC 平台。对于应用层 DoS 攻击,具有 DoS 功能的硬件或基于云的 WAF 可能是合适的。一旦攻击逐渐增加并开始淹没网络链接,就需要 CDN 或外部 CSC。
- WAF:一种解决方案,通过过滤和监控 HTTP 流量以阻止常见的漏洞利用攻击,为 API 提供有限的保护。一些 WAF 还提供机器人缓解和应用程序或第 7 层 DDoS 保护。
- Bot 缓解:一种解决方案,可为多种类型的脚本攻击提供高级保护。这些解决方案在这方面比一般的 WAF 更有能力,这使它们成为防止滥用的可能的首选或补充。
- 专门的 API 保护:通过结合参数和有效负载的内容检查、流量管理和异常检测的流量分析,提供针对 API 攻击和滥用的保护的解决方案。
这些技术共同构成了 Web 应用程序和 API 保护或 WAAP 解决方案。除了 WAAP 功能外,组织还经常将 API 网关和管理系统添加到其基础架构中。
随着 API 威胁态势的增长,应用程序安全领导者必须建立并完善他们的 API 安全计划,以应对这种日益增长的威胁态势。这种方法可以帮助组织建立全面的 API 可见性计划,设置机制来检查 API 是否符合组织的身份验证和加密标准,并为关键的面向外部的 API 部署专门的威胁防护。
编译自:https://siliconangle.com/