生成式人工智能的网络边界安全保护 安全博客

项目展示

15

生成式人工智能的网络边界安全保护

关键要点

生成式人工智能应用越来越流行,应用需强化网络边界保护以防止未授权使用和其他安全威胁。网络边界保护主要集中在前端身份验证、使用Web应用防火墙WAF和DDoS攻击防护三大领域。AWS提供多种工具和架构选项,用于确保生成式人工智能应用的安全。

随着生成式人工智能AI基于大型语言模型LLMs应用在过去几年中逐渐普及,这些应用能够为企业带来更大的客户价值。因此,本篇文章深入探讨了针对生成式AI应用的网络边界保护。在这里,我们将讨论网络边界保护的不同方面,并提供相应的架构模式。通过为您的生成式AI应用实施网络边界保护,您能够控制未授权使用、成本超支、分布式拒绝服务DDoS攻击及其他潜在威胁。

LLM的边界保护

针对Web应用的网络边界保护可以回答一些关键问题,包括:

加速器下载免费永久版谁可以访问该应用?应用接收何种数据?应用允许使用多少数据?

大部分用于其他Web应用的网络保护方法同样适用于生成性AI应用。此类方法的主要重点是控制访问应用的网络流量,而不是具体的请求和响应内容。我们将重点关注网络边界保护的三个关键领域:

应用前端的身份验证和授权使用Web应用防火墙WAF防御DDoS攻击

使用LLMs可能带来的安全问题,包括提示注入、敏感信息泄露或过度权力,不在本文讨论范围之内。

前端认证与授权

在设计网络边界保护时,首先需要决定是否允许特定用户访问应用,这取决于他们是否经过身份验证AuthN和是否获得授权AuthZ来询问生成式AI应用的特定问题。许多生成式AI应用都设置了认证层,用户必须在访问应用前先登录其身份提供者。对于没有任何身份验证的公共应用例如聊天机器人,在AWS WAF和DDoS保护方面需要进行额外考虑,这将在后续部分讨论。

让我们来看一个例子。Amazon API Gateway 是客户应用前端的一个选项,能够提供用户和API的认证与授权计量。这是一个完全托管的服务,可以方便开发人员在大规模上发布、维护、监控和保护API。通过API Gateway,您可以创建AWS Lambda 授权器来控制访问API的权限。图1显示了该访问方式的工作流程。

图1工作流程如下:

客户端向由API Gateway前置的API发送请求。当API Gateway接收到请求时,它将请求发送到使用OAuth、SAML或其他机制进行身份验证的Lambda授权器。Lambda授权器向API Gateway返回AWS身份和访问管理IAM策略,以允许或拒绝该请求。如果获准,API Gateway将API请求发送到后端应用。图1中的后端应用是一个在LLM安全性方面提供额外功能的Lambda函数,替代了更复杂的过滤。在Lambda授权器之外,您还可以对API Gateway上的每个客户端或客户端访问的应用方法配置限流,以帮助减轻DDoS攻击和模型克隆及反演攻击。最后,应用程序向在AWS上托管的LLM发送请求。在此示例中,该LLM部署在Amazon Bedrock上。

Lambda授权器与限流的结合支持多种边界保护机制。首先,只有经过授权的用户才能访问应用,帮助防止机器人和公众访问应用。其次,对于经过授权的用户,您限制他们调用LLM的速率,以防止与LLM请求和响应相关的过高费用。第三,在经过身份验证和授权后,应用可以将身份信息传递给后端数据访问层,以限制所提供的数据范围,使其与用户被授权访问的内容相一致。

除了API Gateway,AWS还提供其他选项,可用于实现前端身份验证和授权。AWS应用负载均衡器ALB支持OpenID ConnectOIDC功能,以要求用户在访问前先进行OIDC身份验证。对于内部应用,AWS验证访问结合身份和设备信任信号来允许或拒绝对生成式AI应用的访问。

生成式人工智能的网络边界安全保护 安全博客

AWS WAF

在做出身份验证或授权决策后,网络边界保护的下一个考虑因素是在应用面。从OWASP十大大型语言模型应用安全风险可以看出,针对生成式AI应用的新安全风险正在被识别。这些风险包括不安全的输出处理、不安全的插件设计等机制,可能导致应用提供超出预期范围的响应。例如,攻击者可能会精心设计直接的提示注入,导致LLM不当行为。其中一些风险如不安全的插件设计可以通过传递身份信息到插件和数据源来解决。但是,许多保护措施超出了网络边界保护的范围,属于应用内部的安全范畴。网络边界保护的重点在于验证访问应用的用户,并在访问应用之前支持基于网络规则和模式的允许、阻止或监控Web请求的规则。

此外,机器人流量是Web应用的重要考虑因素。据《安全今日》统计,47的互联网流量来自于机器人。向公共应用发送请求的机器人会通过增加请求负载而导致使用生成式AI应用的成本上升。

为了在用户访问应用之前保护免受机器人流量的影响,您可以在边界保护中实施AWS WAF。使用AWS WAF,您可以部署防火墙以监控并阻止转发到受保护Web应用资源的HTTP(S)请求。这些资源位于Amazon API Gateway、ALB、AWS验证访问等后方。从Web应用的角度来看,AWS WAF用于防止或限制对应用的访问,确保在调用LLM之前只有合法流量可以访问您的应用程序。AWS托管规则或AWS市场管理的规则组为您提供预定义的规则,作为规则组的一部分。

接下来,我们扩展上述例子。随着图1所示的应用开始扩展,您决定将其放在Amazon CloudFront之后。CloudFront是一项Web服务,通过全球边缘位置的网络为您提供分散的AWS入口。除了提供分散的入口外,CloudFront还允许以分散的方式部署AWS WAF,以帮助应对SQL注入、机器人控制和其他选项,作为AWS WAF规则的一部分。让我们看一下图2中新的架构。

图2的工作流程如下:

客户端向您的API发送请求。DNS将客户端定向到CloudFront位置,AWS WAF在此部署。CloudFront通过AWS WAF规则发送请求,以决定是阻止、监控还是允许流量。如果AWS WAF不阻止该流量,AWS WAF会将其发送到CloudFront路由规则中。

注意: 建议您限制对API Gateway的访问,以防止用户绕过CloudFront分发直接访问API Gateway。有关如何实现此目标的示例,请参阅使用Lambda授权器限制对HTTP API Gateway端点的访问博客文章。

CloudFront将流量发送到API Gateway,在这里它将经过与图1中讨论的相同流量路径。

更详细地,我们关注机器人流量。借助AWS WAF机器人控制,您可以监控、阻止或限制诸如爬虫、扫描仪、爬虫、状态监测器和搜索引擎等机器人的流量。机器人控制提供了多个配置规则和检查级别的选项。例如,如果您使用目标规则组的检查级别,您可以挑战未自我识别的机器人,使恶意机器人在针对您的生成式AI应用时更难且成本更高。您可以单独使用机器人控制托管规则组,或与其他AWS托管规则组及自定义AWS WAF规则结合使用。机器人控制还提供有关针对您应用的机器人数量的详细视图,如图3所示。

图3展示了如何帮助您获得这些功能。对于您的生成式AI应用,您能够洞察机器人和其他流量如何攻击您的应用。AWS WAF提供了监控和自定义机器人流量Web请求处理的选项,包括允许特定机器人或阻止攻击您应用的机器人流量。除了机器人控制外,AWS WAF还提供多种托管规则组,包括基础规则组、特定用例规则组、IP声誉规则组等。有关更多信息,请查看关于AWS托管规则组和AWS市场托管规则组的文档。

DDoS保护

最后,我们讨论的主题是针对LLMs的DDoS攻击。与针对其他第七层应用的威胁类似,攻击者可以发送消耗极高资源的请求,这将导致服务响应速度下降或运行处理大量请求的LLMs的成本上升。尽管限流可以帮助支持每用户或每方法的速率限制,DDoS攻击则利用更复杂的威胁向量,难以通过限流保护。

AWS Shield帮助为您的面向互联网的应用提供对DDoS攻击的保护,包括第3层/4层提供的Shield标准和第7层的Shield高级版本。例如,Shield高级会自动响应以减轻应用威胁,通过使用来自您已部署的AWS WAF的Web访问控制列表ACL来计算或阻止网络请求,这些请求为攻击的一部分。根据您的需求,Shield可以提供多个层次的保护,以抵御DDoS攻击。

图4展示了在架构中添加Shield后的情况。

图4的工作流程如下:

客户端向您的API发送请求。DNS将客户端指向CloudFront位置,在这里部署了AWS WAF和Shield。CloudFront通过AWS WAF规则发送请求,以决定是阻止、监控还是允许流量。AWS Shield可以减轻已知的DDoS攻击向量和零日攻击向量。根据配置,Shield高级与AWS WAF协同工作,对来自单个IP地址的流量进行速率限制。如果AWS WAF或Shield高级不阻止流量,这些服务将把流量发送到CloudFront路由规则中。CloudFront将流量发送到API Gateway,在这里它将经过与图1中讨论的相同流量路径。

通过实现AWS Shield和Shield高级,您可以获得对安全事件的保护,并知道全球和账户级事件的信息。例如,在账户级别,您将获得有关账户中看到的事件总数、每个资源最大的比特率和数据包速率、CloudFront的最大请求速率的信息。通过Shield高级,您还可以访问检测到的事件的通知以及有关检测事件和缓解措施的附加信息。这些指标和数据与AWS WAF一起提供了有关试图访问您的生成式AI应用程序的流量的可见性。在流量访问您应用和调用LLM之前,这提供了缓解功能。

考虑事项

在为生成式AI应用实施网络边界保护时,请考虑以下几点:

AWS提供了多种选项,既有前端身份验证和授权方面,也有AWS WAF方面,用于配置边界保护。根据您的应用架构和流量模式,多种资源可以与AWS WAF结合提供边界保护,并与身份提供者集成进行身份认证和授权决策。您还可以利用Lambda函数和其他AWS服务部署更为先进的LLM特定的提示和响应过滤器,作为您的部署架构的一部分。边界保护功能主要集中在阻止不必要的流量到达最终应用程序上。大多数用于LLMs的网络边界保护与其他Web应用的网络边界保护机制相似。区别在于,与常规Web应用相比,额外的威胁向量会参与其中。有关威胁向量的更多信息,请参见OWASP十大大型语言模型应用和Mitre ATLAS。

结论

在本文中,我们讨论了传统网络边界保护策略如何为基于生成式AI的应用提供纵深防御。我们探讨了LLM工作负载与其他Web应用之间的相似性和差异性。我们阐述了身份验证和授权保护的重要性,展示了如何利用Amazon API Gateway通过使用计划进行限流以及通过Lambda授权器提供身份验证。然后,我们讨论了如何使用AWS WAF来保护应用免受机器人的攻击。最后,我们讨论了AWS Shield如何在大规模上提供针对各种DDoS攻击的高级保护。有关网络边界保护和生成式AI安全的更多信息,请查看AWS安全博客频道的其他博客文章。

如果您对这篇文章有反馈,请在下方的评论部分提交。如果您对此文章有问题,请联系AWS支持。

Riggs Goodman IIIRiggs是AWS的首席伙伴解决方案架构师。他目前的重点是AI安全和数据安全,为客户和合作伙伴提供技术指导、架构模式以及应对挑战。内部方面,Riggs专注于推动AWS服务团队的整体技术战略和创新。

标签:授权、AWS Shield、AWS WAF、安全博客

敏捷企业的关键文章要点在数字化快速变化的时代,企业需要迅速应对变化以保持竞争力,这就是所谓的敏捷性。实现企业敏捷不仅是技术挑战,还涉及管理和文化的调整。企业应当审视合同、招聘流程、人力资源管理、供应链和财务决策,找出限制灵活性的因素,从而提升整体业务的敏捷性。良好的治理模式应该为企业提供灵活性,同时...

从 Amazon RDS for MySQL 57 执行跨账户主要版本升级到 Amazon Aurora 304x 的最小停机时间通过 Robert Daly Guy Baulch 和 Sudhakar Darse 于 2024 年 2 月 28 日在高级(300),Amazon Aurora,Am...