在 2023 年,ChatGPT 和大型语言模型成为最引人注目的技术。在这一 AI 浪潮中,许多应用迎来了 AI 的黄金时代,涵盖了从生成视频、生成动画到借助 GitHub 的 Copilot 完成基础代码编写等多个领域。因此,如今许多应用都积极增添 AI 功能。然而,在这场热潮中,一个不容忽视的问题催生而出:安全问题。
除了传统的外部应用防火墙、DDoS 攻击防护等手段,对于 AI 应用而言,我们需要在保护其安全的同时,着重考虑以下六个方面,而这些方面主要在 API 网关层面得以实施,提供了全方位的保护。
灰度发布
在引入新 API 时,我们可能只希望特定地区的一些用户能够体验到这个新 API。因此,我们需要运用 API 网关内的灰度发布机制,使一些用户能够体验到新功能。
限流限速
我们希望正常用户能够迅速得到响应,同时能够区分和限制一些恶意用户。最常见的方式之一是通过 IP 或令牌对访问频率和速度进行限制,从而一定程度上防止机器人攻击,使正常用户的体验更加顺畅。
IP 的黑白名单
在开发 AI 应用时,我们更希望其用户主要来自一些合法合规的地区,不希望所有地区的用户或一些可能带有恶意意图的用户访问我们的 API。因此,我们会建立一个 IP 的黑白名单,只有白名单内的用户可以访问我们的 API;而在黑名单内的 IP 则无法访问,以此进行 IP 的判断。
数据主权
由于在美国、欧洲等一些国家中,存在一些关于数据合规的法规,对于由 AI 应用生成的数据也同样适用。这包括用户的训练数据以及用户生成的数据。我们需要通过 API 网关判断,确定应该访问哪个服务器,数据最终存储在哪个地区,以保证数据的合规性。
校验用户请求体和服务端响应体
我们希望确保用户请求体和服务端响应体的校验。这种校验可以采用 OpenAPI 或 JSON Schema 进行,以确保用户请求按照我们定义的规范完成,而服务端的响应数据也是合规的,没有发生数据泄露等隐患。
在将应用真正部署上线时,这六个方面可能并不是唯一需要考虑的。可能需要通过类似于一些可观测性和更复杂的日志分析等手段来帮助您发现更多与安全相关的风险。