需要云计算吗? 即刻开始体验

面向 DevSecOps 的 API 安全性

Stas Neyman

寫於

Stas Neyman

September 29, 2022

Stas Neyman

寫於

Stas Neyman

Stas Neyman 是 Akamai 的产品营销总监,负责管理 API 安全性产品组合。

为确保 API 安全性与 DevSecOps 顺畅配合,必须使用专门的 API 安全测试和监控工具。
为确保 API 安全性与 DevSecOps 顺畅配合,必须使用专门的 API 安全测试和监控工具。

API 安全性对于 DevSecOps 至关重要

Akamai 在 2024 年 6 月收购了 Noname Security。Noname Security 产品现已更名为 Akamai API Security,但这篇归档的博客文章最初发布于 2022 年 9 月 29 日,其中使用的依然是最初发布之日的产品和功能名称。

DevSecOps 是 DevOps(开发和运营)的一种变体,将安全性添加到软件开发工作流之中。应用程序编程接口 (API) 安全性必须成为 DevSecOps 的一部分。

这篇博客文章探讨了 DevSecOps 的工作原理,以及在遵循 DevSecOps 流程开发的应用程序中,API 安全性在尽可能提升应用程序安全性方面的作用。

什么是 DevSecOps?

要想理解 DevSecOps 的要义,首先必须熟悉 DevOps,即作为 DevSecOps 基础的原始模式。DevOps 指的是软件开发 (dev) 和 IT 运营 (ops) 这两个既往彼此独立的流程的结合体。传统上,开发人员编写代码,然后交给 IT 运营部门以部署到生产环境中。在瀑布式开发时代,完成一个应用程序的新版本需要花费数月乃至数年的时间,这种方法在当时非常有效。

随着敏捷开发方法和代码的持续集成/持续部署 (CI/CD) 的出现,原本那种开发/运营相互分离的方法已不再可行。每天(甚至是每个小时),都有新的代码交给运营人员发布。

要想在不造成灾难的情况下完成任何工作,唯一的方法就是统合开发和运营工作流。合并后的流程需要一支联合团队。

在新的 DevOps 环境中,开发人员和运营人员彼此协作,将代码快速发布到生产环境。这并不是一种自然产生的合作关系;开发团队与运营团队之间往往互不往来,或者关系十分紧张,“各人自扫门前雪”(以及传统的)思维方式导致工作效率难以提高。DevOps 引入了责任分担模式,改变了这种动态。

随着网络威胁日趋严重,将安全性纳入 DevOps 工作流完全合情合理。因此,DevOps 就变成了 DevSecOps。这又一次带来了关系的缓和——这一次缓和的是安全与开发团队之间时而紧张的关系,因为安全团队经常被视为导致开发过程减速的“交通警察”。DevSecOps 代表了一种全新的合作方式。如今,安全性已成为更高效但更安全的开发周期的支持因素。

DevSecOps 的关键成功因素

在 DevSecOps 中取得成功并不简单。它涉及到各自追求不同目标的多个团队和工作流的协调。为了保证 DevSecOps 中错综复杂的人员和流程协调发挥作用,需要巧妙融合多种工具和流程。技术必须能为双方提供支持,并通过在流程中适当作出妥协来达到平衡。这也包括领导层。

要在 DevSecOps 方面取得成功,安全团队必须调整测试方法,以适应全新的 CI/CD 世界。而 DevOps 团队至少要以对待功能问题时同样严谨的态度来对待安全问题。事实上,在成熟度较低的计划中,很多安全问题会在待办事项中长期积压,最终被搁置。要想取得成功,还需要采取“左移”策略,将安全工作置于 DevOps 工作流中尽可能早的位置。

在 DevSecOps 工作流中确保 API 安全性

要在 DevSecOps 中确保 API 安全性,就需要在开发过程中执行 API 安全测试,并在 API 投入生产环境后进行 API 监控。API 安全测试与 DevSecOps 中其他形式的安全测试类似,但存在一些显著的区别。例如,静态测试或许有助于发现代码中的漏洞,但它并不能有效识别所有 API 漏洞。

相反,DevSecOps 的 API 安全测试应侧重于使用业务逻辑运行黑盒类型的测试。这种方法可以揭示 API 在部署应用程序时的实际工作方式。

API 安全测试工具(如 Noname Active Testing)可执行此类测试。它可以检测开放式 Web 应用程序安全项目 (OWASP) API 安全十大风险中强调的漏洞,如失效的对象级授权、不受限制的资源消耗、安全配置错误、清单管理不当等。如果这些漏洞存在且未得到缓解,将 API 作为目标的攻击者就可以在未经授权的情况下访问敏感数据。

Noname Active Testing 支持高度可配置的测试套件,因此可集成到 CI/CD 管道中。它还支持左移式测试,内置对多个 CI/CD 系统的集成。有了这两个因素,该工具就可以在 API 方面将“Sec(安全)”纳入 DevSecOps。CI/CD 集成必不可少,因为它可以实现持续、快速的 API 安全测试,从而确保现代应用程序安全无忧。

面向 DevSecOps 的 API 安全性并不局限于开发。最佳实践是将 API 安全流程延续到生产环境之中。通过在生产环境中监控 API,DevSecOps 的“Sec(安全)”部分即可检测到受漏洞影响的 API,例如,由于在生产过程中被管理员重新配置或错误配置而产生漏洞的 API。一旦检测到 API 漏洞,即可在 DevSecOps 工作流中加以修正。

结论

DevSecOps 的实施非常困难,需要大量的人员和流程相互协调一致,以确保每个人和每件事都能快速推进。API 安全性有可能增加 DevSecOps 的复杂性,并导致其无法顺利运行。然而,API 安全测试对于开发安全的应用程序至关重要。为确保 API 安全性与 DevSecOps 顺畅配合,必须使用专门的 API 安全测试和监控工具。



Stas Neyman

寫於

Stas Neyman

September 29, 2022

Stas Neyman

寫於

Stas Neyman

Stas Neyman 是 Akamai 的产品营销总监,负责管理 API 安全性产品组合。