API 帮助跨多个设备互连多个应用程序或软件系统,定义它们可以发出的调用或请求的种类、调用的方式、应使用的数据格式以及应遵守的约定。API 已经发展成为重要的互连,支持不同应用程序架构之间的通信,促进新服务的更快集成和部署。软件开发程序也依赖 API 来提供服务、平台管理和持续部署。涉及移动设备、云数据系统和微服务设计模式的现代应用程序架构需要使用多个 API 作为网关,以促进不同 Web 应用程序之间的互操作性。
在 API 安全领域,“攻击”和“漏洞”这两个词经常互换使用,许多人并不了解 API 攻击/漏洞的真正含义。API 攻击/漏洞是一种威胁类别,在很大程度上未被行业现有的 API 安全框架和指南解决。为了保持基于 API 的安全和可信度,必须改进应对的思维和工具,以应对公司现在面临的各种 API 威胁——以及 API 威胁形势的快速发展。
什么是 API 滥用?
任何设计和代码都难以避免错误,安全技术也是如此。有时软件的结构,哪怕是根据相应规范设计的,都可能有被滥用技术利用的风险。
OWASP 这样定义软件 “滥用(abuse)”:
创建误用和滥用案例以滥用或利用软件功能中控件的弱点来攻击应用程序。使用应用程序的滥用案例模型,作为识别直接或间接利用滥用场景的具体安全测试的媒介。
简 而言之,滥用案例模型在某种程度上是威胁建模。API 对于构建坚固且持续的通信桥梁至关重要,该桥梁使设备能够无缝传递所需信息。然而黑客采用多种方式来利用 API 并破坏目标设备,这种 API 开发是对 API 安全的潜在威胁。如果在 API 设计的威胁建模阶段没有考虑到执行锁定端口,并且没有添加补偿控制,那么这些 API 就有可能被“