一千个数据泄漏导致死亡:API 如何压倒安全性
已发表: 2022-06-14今天的攻击面比以往任何时候都更广泛,漏洞从应用程序中渗出,并存在于灵活的应用程序编程接口中,这些接口使科技世界不断运转。
不幸的是,虽然大多数人都知道传统的 Web 应用程序威胁,但 API 仍然是一个模糊的安全领域。 当今庞大的威胁形势需要一个称职的云 WAF,甚至需要对 WAAP 进行投资。
什么是 API?
API 是将现代浏览体验结合在一起的粘合剂。 API 通过允许单个 Web 应用程序交换数据来简化软件的使用和开发。 现在,通过应用程序向服务器发出请求由相关 API 处理,这要归功于正确实现的 API 非常安全这一事实。
您的设备和相关 API 应该共享小数据包,而不是直接向服务器公开您的信息,只传达必要的信息。
敏捷与 API:安全双重困扰
敏捷是过去的商业流行语——它描述了一种放大“最小可行产品”的创业理念的生产形式。 敏捷的目标是在每个阶段推出最小的产品; 与其说产品“完成”,不如说它只是循环到另一轮修补错误修复和改进中。
尽管这种永久修补对于安全性来说似乎很棒(持续的软件支持?很好!)软件生产的经济现实意味着 API 的数量很快就会变得笨拙。
随着开发团队的快速发展,API 很少被全面记录。 这使得窥探应用程序的内部机制并了解哪些 API 做了什么变得非常困难。 这也使安全性变得无限困难,因为开发团队本身并不知道他们 API 库存的真实规模。 这将网络安全置于低优先级; 总是被动的,从不主动。
被忽视的 API
当提到应用程序安全时,首先想到的是安全重量级人物。 跨站点脚本等攻击; SQL 注入和 DDoS 攻击都是众所周知的。 应用程序本身通常受到外围巡查 Web 应用程序防火墙等即插即用解决方案的良好保护。
很少有人关注 API,这极大地损害了健忘的组织及其客户。 以 Uber 系统中出现的 API 漏洞为例。
当优步司机通过推荐链接加入优步时,他们会启动应用程序并输入推荐代码。 按下回车按钮后,应用浏览器会与 API 主机“bonjour.uber.com”进行通信。 从那里,bonjour.uber 接收用户 ID 参数并将有关驱动程序的详细信息返回到用户的应用程序,准备好输入以下同意屏幕。
然而,这个 API 被认定犯有两个重大的安全漏洞。 第一个是损坏的对象级别授权 (BOLA)。 API 没有检查用户的 ID 是否与他们的 ID 参数匹配; 因此,只需更改用户 ID 即可访问其他用户的数据。
第二个问题是过度的数据暴露。 API 的响应——返回用户详细信息——将所有信息捆绑到一个批次中,其中包含用户的每一个详细信息。 这意味着 API 返回了客户端没有明确需要的信息,违反了网络安全最佳实践的主要支柱。

现在考虑平均组织依赖超过 15,500 个 API,风险规模开始显现。 值得庆幸的是,在发生任何重大损坏之前,Uber API 已被插入; 下面的公司就没那么幸运了。
佩洛顿问题
Peloton 的家庭健身品牌拥有超过 300 万用户。 现场健身课程是一个主要卖点,但如果您不愿意与其他课程参与者分享您的医疗数据,那么可以将您的 peloton 帐户设置为私人帐户。
不幸的是,许多 API 漏洞导致这些数据暴露给未经授权的用户。 由于一个 API 端点无法验证请求用户,因此可能会大规模抓取课堂参与者的信息。 这允许未经授权的攻击者获得 Peloton 用户的用户名、位置、锻炼 ID、性别和年龄。
多年来,API 一直是高调数据泄露的原因。 Facebook 在 2018 年和 2019 年期间不断发生数据丑闻,主要是通过第三方开发人员 API 发生了一次又一次的数据泄露事件。 一个例子是 Groups API; 开发 B2B 社交媒体管理应用程序的开发人员可以自由访问群组成员的姓名和更多个人信息。 虽然这个社交媒体管理应用程序旨在帮助群组管理员更有效地管理他们的群组,但 Facebook 不得不删除它及其 API。
这些数据丑闻在 2021 年达到顶峰,超过 5.33 亿 Facebook 用户的黑市数据库泄露了他们的姓名、电话号码和 Facebook 用户 ID。
防止 API 泄漏
开放式 Web 应用程序安全项目 (OWASP) 定期发布最严重和最广泛的 Web 应用程序漏洞以引起关注。 API 所代表的日益严重的安全威胁足以保证其自己的 OWASP 前十名名单,该名单始终被 Broken Object Level Authorization 名列前茅。
值得庆幸的是,保护您的 API(除了要求较慢的开发周期之外)与保护整个组织的整体安全密切相关。 您的第一个呼叫点将是一个体面的 Web 应用程序防火墙 (WAF)。 此解决方案监控您的应用程序的边界,防止 API 网关被重大漏洞利用。
Web 应用程序和 API 保护 (WAAP) 更进一步。 它完全位于应用程序面向公众的边界,分析所有传入流量。 通过监控合法流量和请求的模式,WAAP 是专门设计用于保护 API 的高度专业化的安全工具。
WAAP 是一个端点级防御系统,而运行时应用程序自我保护 (RASP) 解决方案则围绕特定的 Web 应用程序。 不同于 WAF 的 RASP 解决方案还可以洞察其应用程序的内部工作和行为。 这样,如果 API 被用作攻击的立足点,并且查询的信息超出了实际情况,RASP 可以主动关闭攻击。
有了无数可用的 API 保护选项,保护您的应用程序和您的组织从未如此简单。