随着越来越多的组织运行自己的大语言模型,他们也在部署更多内部服务和应用程序编程接口(API)来支持这些模型。现代安全风险更多地来自于为模型提供服务、连接和自动化的基础设施,而不是模型本身。每个新的大语言模型端点都会扩大攻击面,在快速部署过程中往往容易被忽视,特别是当端点被隐式信任时。当大语言模型端点积累过多权限并且长期凭证被暴露时,它们可能提供远超预期的访问权限。组织必须优先考虑端点权限管理,因为暴露的端点已成为网络犯罪分子访问为大语言模型工作负载提供支持的系统、身份和机密信息的越来越常见的攻击载体。
现代大语言模型基础设施中的端点定义
在现代大语言模型基础设施中,端点是任何实体(无论是用户、应用程序还是服务)可以与模型通信的接口。简单地说,端点允许向大语言模型发送请求并返回响应。常见示例包括处理提示并生成输出的推理API、用于更新模型的模型管理界面以及允许团队监控性能的管理仪表板。许多大语言模型部署还依赖于插件或工具执行端点,这些端点允许模型与外部服务(如数据库)交互,可能将大语言模型连接到其他系统。这些端点共同定义了大语言模型如何与其环境的其余部分连接。
主要挑战是大多数大语言模型端点是为内部使用和速度而构建的,而不是为了长期安全。它们通常是为了支持实验或早期部署而创建的,然后在最少监督下继续运行。因此,它们往往监控不足并被授予超过必要的访问权限。在实践中,端点成为安全边界,这意味着其身份控制、机密处理和权限范围决定了网络犯罪分子能走多远。
常见的端点暴露模式
大语言模型很少通过一次故障就被暴露;更常见的是,暴露通过开发和部署过程中的小假设和决策逐渐发生。随着时间的推移,这些模式将内部服务转变为外部可达的攻击面。一些最常见的暴露模式包括:
没有身份验证的公共可访问API:内部API有时会公开暴露以加快测试或集成。身份验证被延迟或完全跳过,端点在应该被限制很久之后仍然保持可访问。
弱令牌或静态令牌:许多大语言模型端点依赖于硬编码且从不轮换的令牌或API密钥。如果这些机密通过配置错误的系统或存储库泄露,未经授权的用户可以无限期地访问端点。
假设内部就是安全的:团队经常默认将内部端点视为可信的,假设它们永远不会被未经授权的用户访问。然而,内部网络经常通过VPN或配置错误的控制措施可达。
临时测试端点变成永久端点:为调试或演示设计的端点很少被清理。随着时间的推移,这些端点保持活跃但未监控且安全性差,而周围的基础设施在不断演进。
暴露服务的云配置错误:配置错误的API网关或防火墙规则可能无意中将内部大语言模型端点暴露到互联网。这些配置错误通常逐渐发生,在端点已经暴露之前往往不被注意到。
暴露端点带来的安全风险
暴露的端点在大语言模型环境中特别危险,因为大语言模型被设计为在更广泛的技术基础设施内连接多个系统。当网络犯罪分子攻破单个大语言模型端点时,他们通常可以获得远超模型本身的访问权限。与执行单一功能的传统API不同,大语言模型端点通常与数据库、内部工具或云服务集成,以支持自动化工作流程。因此,一个被攻破的端点可以允许网络犯罪分子快速地在默认信任大语言模型的系统中横向移动。
真正的危险不是来自大语言模型过于强大,而是来自一开始就对端点的隐式信任。一旦大语言模型端点被暴露,它可以充当力量倍增器;网络犯罪分子可以使用被攻破的端点执行各种自动化任务,而不是手动探索系统。暴露的端点可能通过以下方式危及大语言模型环境:
提示驱动的数据外泄:网络犯罪分子可以创建提示,使大语言模型总结其有权访问的敏感数据,将模型变成自动化数据提取工具。
滥用工具调用权限:当大语言模型调用内部工具或服务时,暴露的端点可用于通过修改资源或执行特权操作来滥用这些工具。
间接提示注入:即使访问受限,网络犯罪分子也可以操纵数据源或大语言模型输入,导致模型间接执行有害操作。
非人类身份带来的额外风险
非人类身份(NHI)是系统而非人类用户使用的凭证。在大语言模型环境中,服务账户、API密钥和其他非人类凭证使模型能够访问数据、与云服务交互并执行自动化任务。非人类身份在大语言模型环境中构成重大安全风险,因为模型持续依赖它们。出于便利,团队经常向非人类身份授予广泛权限,但后来未能重新审视和收紧访问控制。当大语言模型端点被攻破时,网络犯罪分子继承了该端点背后非人类身份的访问权限,允许他们使用可信凭证进行操作。几个常见问题加剧了这种安全风险:
机密蔓延:API密钥和服务账户凭证经常分散在配置文件和管道中,使其难以跟踪和保护。
静态凭证:许多非人类身份使用长期凭证,很少或从不轮换。一旦这些凭证被暴露,它们在很长时间内仍然可用。
过度权限:为了避免延迟,通常向非人类身份授予广泛访问权限,但这不可避免地被遗忘。随着时间的推移,非人类身份积累超出其任务实际需要的权限。
身份蔓延:不断增长的大语言模型系统在各种环境中产生大量非人类身份。没有适当的监督和管理,这种身份扩展减少了可见性并增加了攻击面。
保护端点的最佳实践
从暴露端点中降低风险从假设网络犯罪分子最终会到达暴露服务开始。安全团队不仅要防止访问,还要限制端点被到达后可能发生的情况。一个简单的方法是对所有端点应用零信任安全原则:在所有情况下都应明确验证、持续评估和严密监控访问。安全团队还应该执行以下操作:
对人类和机器用户强制执行最小权限访问:端点应该只能访问执行特定任务所必需的内容,无论用户是人类还是非人类。减少权限限制了网络犯罪分子使用被攻破端点造成的损害程度。
使用即时(JIT)访问:特权访问不应在任何端点上一直可用。通过JIT访问,权限仅在必要时授予,并在任务完成后自动撤销。
监控和记录特权会话:监控和记录特权活动有助于安全团队检测权限滥用、调查安全事件并了解端点的实际使用情况。
自动轮换机密:Token、API密钥和服务账户凭证必须定期轮换。自动化机密轮换降低了机密暴露时长期凭证滥用的风险。
尽可能移除长期凭证:静态凭证是大语言模型环境中最大的安全风险之一。用短期凭证替换它们限制了被攻破的机密在错误之手中保持有用的时间。
这些安全措施在大语言模型环境中特别重要,因为大语言模型严重依赖自动化。由于模型在没有人工监督的情况下持续运行,组织必须通过保持时间限制和密切监控来保护访问。
暴露的端点在大语言模型环境中快速放大风险,其中模型与内部工具和敏感数据深度集成。传统的访问模型对于自主和大规模运行的系统是不够的,这就是为什么组织必须重新思考如何在AI基础设施中授予和管理访问权限。端点权限管理将重点从试图防止端点上的违规转移到通过消除持续访问并控制端点被到达后人类和非人类用户可以做什么来限制影响。像Keeper这样的解决方案通过帮助组织移除不必要的访问并更好地保护关键大语言模型系统来支持这种零信任安全模型。
Q&A
Q1:什么是大语言模型基础设施中的端点?
A:端点是任何实体(用户、应用程序或服务)可以与大语言模型通信的接口。它们允许向大语言模型发送请求并返回响应,包括推理API、模型管理界面、管理仪表板和工具执行端点等。
Q2:为什么暴露的端点在大语言模型环境中特别危险?
A:因为大语言模型被设计为连接多个系统,当网络犯罪分子攻破一个端点时,可能获得远超模型本身的访问权限。不同于传统API,大语言模型端点通常与数据库、内部工具集成,一个被攻破的端点可以让犯罪分子在系统中横向移动。
Q3:如何保护大语言模型端点免受安全威胁?
A:应采用零信任原则,实施最小权限访问、即时访问控制、监控特权会话、自动轮换机密、移除长期凭证等措施。重点是限制端点被攻破后的影响,而不仅仅是防止访问。