无论是应用还是API,无论是传统应用、现代应用还是AI应用,可编程性都是应对安全问题的重要工具。
在向客户和合作伙伴发布应用和API之前,测试其漏洞和正确性,是我们保障应用和API安全的方法之一。测试应用和API的一种常用技术是模糊测试。
模糊测试通过发送意外输入(例如用字符串代替数字、输入特殊字符、输入内容过长或过短等),来确定API或应用的响应。稳健的实现会将这些输入判定为无效并予以拒绝。除了测试输入处理机制,测试执行输入处理的代码也同样重要。
换言之,仅由应用或API逻辑拒绝无效输入还不够;用于检查无效输入的逻辑也必须足够稳健。
在应用安全领域,常见的情况是,总会有人设计出未曾预料或考虑到的输入。暂且不谈许多输入清理实现本身就很糟糕,姑且假设它们都很稳健,能够识别99%的畸形输入。
即使基于这种理想化的假设,也总会有那1%是无人考虑到的。零日漏洞正是以这种方式产生的。
有时,这些漏洞源于技术栈中的缺陷,可能出现在Web服务器、应用服务器或GraphQL服务器中,也可能出现在连接数据源的连接器中,例如用于支持日益普及的生成式AI检索增强生成(RAG)用例的向量数据库连接器。还可能是新出现的AI推理漏洞,例如Probllama。毕竟,在更广泛的应用架构中新增一个层级,也会带来新的漏洞。
正是这些漏洞在互联网上引发了恐慌,其中包括Apache Killer(2011 年)、HeartBleed(2014 年)、Spectre and Meltdown(2018 年)和Log4Shell(2021 年)。
这些漏洞出乎意料,无法指望开发人员、安全运维、开发安全运维和质量保证人员提前预见。确实无法预见。
无论开发人员和安全专业人员是否能够预见,当零日漏洞出现时,都需要采取行动。如果组织因运行相关技术而容易受到攻击,尤其如此。这会使风险演变为威胁,而威胁需要被消除。
这正是应用服务可编程性发挥作用之处。
应用服务的可编程性并非新概念。早在互联网发展初期,各组织就已利用可编程性来实施各种解决方案。
数据路径中可编程功能最常见的用途包括:
- 安全:可编程性对于缓解零日威胁和应对新出现的安全风险至关重要。
- 应用中介:在应用升级和迁移期间提供顺畅的用户体验,支持现代化改造,并以经济高效的方式集成新API。
- 服务编排:将工作流和第三方服务集成到应用中,不影响用户使用,从而加快产品上市。
- 可用性:支持负载均衡以及金丝雀部署和A/B测试等现代交付实践。
我们的内部数据表明,这些做法十分常见。超过70%的客户每天都会利用可编程性来实施各种解决方案,其中一些侧重于安全性。
因此,当我们对整体市场进行调查并发现可编程性位居API安全重要技术能力之首时,这并不令人意外。

支持可编程性的API安全解决方案几乎可以灵活应对各种需求。尽管F5率先推出了这项功能,但如今它已成为应用服务市场的标配。极少有应用服务,尤其是专注于保护应用和API的服务,不将可编程性作为核心功能之一。
这是因为,可编程性是缓解零日威胁的基础,并使组织能够更审慎地制定补丁计划,以覆盖其相当大比例的系统。
可编程性几乎无所不能。但在安全领域,尤其是API安全领域,它并非只是“锦上添花”,而是必不可少。
如需了解更多API洞察,请参阅我们的《应用策略现状报告:API安全》。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素
多云网络解决方案可在核心、云和边缘环境之间实现无缝、安全的互联,为解决当今混合IT面临的挑战提供支持,因而备受业界关注。
