Azure 中 LLM 应用程序的安全最佳实践

GenAI 应用程序是那些使用大型语言模型 (LLM) 生成自然语言文本或执行自然语言理解任务的应用程序。 LLM 是强大的工具,可以实现各种场景,例如内容创建、摘要、翻译、问答和对话代理。 然而,LLM 也带来了重大的安全挑战,需要 GenAI 应用程序的开发人员和管理员来解决。 这些挑战包括:

  • 保护用于培训和查询法学硕士的数据的机密性和完整性
  • 确保法学硕士及其服务的可用性和可靠性
  • 防止恶意行为者或非预期用户误用或滥用法学硕士
  • 监控和审核法学硕士的产出和行为的质量、准确性和合规性
  • 管理法学硕士成果和影响的道德和社会影响

本文档概述了 Azure 中 GenAI 应用程序的安全最佳实践,重点关注 Azure OpenAI,但也描述了与可在 Azure 内部使用的其他 LLM 相关的安全性。 Azure OpenAI 是一项基于云的服务,允许用户访问 OpenAI 的 GPT-3 模型并与之交互,该模型是当今最先进的法学硕士之一。 其他可在 Azure 内部使用的 LLM 包括 Microsoft 的认知服务,例如文本分析、翻译器和 QnA Maker,以及可使用 Azure 机器学习构建和部署的自定义 LLM。

Azure OpenAI 的数据存储和处理方法建立在强大、安全的基础之上。 用户数据受到保护,防止未经授权的访问,确保隐私和安全符合 Microsoft 的数据保护标准。

至于数据的使用,原理很简单。 您提供的输入以及人工智能响应(您的数据)仍然属于您。 微软不会使用这些数据来改进自己的人工智能产品。 除非您选择使用它来训练定制的人工智能模型,否则它会被保密。

关于处理数据的类型,Azure OpenAI 会处理您的输入 – 提示以及随后的 AI 生成的答案。 它还处理为训练定制人工智能模型而提交的数据。

该服务的内容生成能力伴随着对安全的承诺。 输入经过仔细处理以产生响应,并且内容过滤器已就位以防止生成有问题的内容。

定制模型是一项需要谨慎处理的服务功能。 您可以使用您的数据训练 Azure OpenAI 模型,因为您知道这些数据是安全的且仅供您使用。

为了防止滥用,Azure OpenAI 配备了强大的内容过滤和监控系统。 这是为了确保内容的生成符合准则,并且不会漏掉任何有害内容。

在需要人工审核的情况下,Microsoft 确保维持高隐私标准。 如果存在特定的隐私问题,您可以请求以不同方式处理审核。

Azure OpenAI 旨在提供先进的 AI 功能,同时保证用户数据的安全和私密。

在 Azure OpenAI 服务的背景下,围绕数据“隐私”与“安全”的讨论经常涉及这些概念的独特但重叠的性质。 让我们探讨一下各自的含义以及共同责任原则如何发挥作用。

隐私 Azure OpenAI 中的用户数据是指如何在访问和使用方面处理用户数据。 它确保以尊重客户机密的方式使用输入、交互和输出等数据。 Azure OpenAI 的隐私协议规定,微软不会出于自身目的查看或使用这些数据,除非明确允许模型微调等服务。 隐私措施涉及数据的控制和道德处理。

安全另一方面,是为了保护数据免遭未经授权的访问、破坏和其他形式的损害。 Azure OpenAI 采用一系列安全措施(例如传输中和静态加密)来保护数据免受威胁。 Microsoft 的基础架构提供了一个安全的环境,旨在保护您的数据免受安全风险。

共同责任原则 强调云中的安全性是一条双向路。 虽然 Microsoft 确保 Azure OpenAI 服务的安全性,但客户有责任确保交互结束的安全。

例如,微软负责:

  • 保护 Azure 基础设施
  • 确保 Azure OpenAI 服务默认是安全的
  • 提供身份和访问管理功能

但是,客户有责任:

  • 为其使用 Azure OpenAI 设置适当的访问控制和权限
  • 保护他们的 Azure 凭据并管理对其 Azure 订阅的访问
  • 确保应用程序周围的安全措施足够,包括输入验证、安全应用程序逻辑以及正确处理 Azure OpenAI 输出

这种共同责任确保在 Microsoft 提供基础安全级别的同时,客户可以而且必须根据特定需求及其数据的敏感性定制额外的安全控制。 简而言之,可以将 Microsoft 视为提供安全的公寓,而客户需要锁上门并决定谁获得钥匙。

客户应仔细考虑其管理的应用程序和数据的安全状况,以补充 Microsoft 强大的安全功能。 这可能涉及实施额外的网络安全措施、确保安全的编码实践以及定期审核访问和使用情况以符合其特定的安全要求。

通过了解 Azure OpenAI 的隐私和安全规定并积极参与共享责任模型,客户可以利用 AI 的力量,同时保持数据的完整性和机密性。

遵循基于零信任框架的分层方法为 LLM(大型语言模型)应用程序(例如 Azure OpenAI 提供的应用程序)提供了强大的安全策略。

零信任是一项总体策略,应应用于所有安全域; 它假设内部和外部都可能存在威胁。 因此,每个访问请求,无论其源自何处,都必须经过完全身份验证、授权和加密,然后才能授予访问权限。

通过将这些实践集成到一个有凝聚力的策略中,Azure 客户可以为其 GenAI 应用程序创建一个安全的环境。 此外,随着威胁的发展,必须不断评估和调整这些安全措施,以保持对潜在网络威胁的强大防御。

以下是跨不同域实施安全最佳实践的方法:

数据安全.jpg

数据安全是指保护用于训练和查询LLM的数据,以及LLM生成的数据。 数据安全涉及确保数据的机密性、完整性和可用性,以及遵守数据隐私和监管要求。 Azure 中 GenAI 应用程序数据安全的一些最佳实践包括:

  • 数据分类和敏感性:根据数据的敏感度级别对数据进行分类和标记。 通过适当的加密和访问控制来识别和保护敏感数据,例如个人身份信息 (PII)、财务数据或专有信息。
    • 为了以治理一致的方式实施分类和标签,Microsoft Purview 是一个很有价值的工具。 它支持跨不同平台的数据自动分类和治理。 借助 Purview,用户可以扫描数据源、对资产进行分类和标记、应用敏感度标签以及监控数据的利用方式,从而确保生成式 AI 运行的基础是安全且有弹性的。
    • Purview 和 AI Search 之间目前没有直接集成,但是如果您有其他来源的数据,您可以使用 Purview 对它们进行分类,然后生成嵌入并将其存储到 AI Search 中。
  • 静态和传输中的加密:关于在 Azure OpenAI 中对检索增强生成 (RAG) 使用的数据实施加密,确保数据静态和传输中的安全性非常重要。 对于 Azure 服务,静态数据使用内置的 Azure 存储服务加密和 Azure 磁盘加密进行安全加密,并且你可以选择在 Azure Key Vault 中管理加密密钥。 对于传输中的数据,它通过传输层安全性 (TLS) 和强制使用安全通信协议进行保护。 根据您的具体要求,确保检索或存储数据的服务符合您的加密要求。 如果您使用 Azure 认知搜索等 Azure 服务,它们会附带固有的安全控制; 此外,您可以利用客户管理密钥等高级功能进行额外控制。 如果外部服务与 Azure 接口,请验证它们是否采用等效的加密标准,以在数据的整个生命周期中保持强大的安全性。
  • 基于角色的访问控制 (RBAC): 使用 RBAC 管理对 Azure 服务中存储的数据的访问。 为用户分配适当的权限,并根据他们的角色和职责限制访问。 定期审查和更新访问控制,以适应不断变化的需求。
  • 数据屏蔽和编辑:在非生产环境中或出于测试或故障排除目的共享数据时,实施数据屏蔽或编辑技术来隐藏敏感数据或将其替换为模糊值。
  • 数据备份与容灾:定期备份和复制关键数据,以确保数据丢失或系统故障时数据的可用性和可恢复性。 利用 Azure 的备份和灾难恢复服务来保护您的数据。
  • 威胁检测和监控:利用 Azure Defender 检测和响应安全威胁,并设置监视和警报机制来识别可疑活动或违规行为。 利用 Azure Sentinel 进行高级威胁检测和响应。
  • 数据保留和处置:制定数据保留和处置政策以遵守合规性法规。 对不再需要的数据实施安全删除方法,并维护数据保留和处置活动的审计跟踪。
  • 数据隐私和合规性:通过实施隐私控制并获得数据处理活动的必要同意或许可,确保遵守相关数据保护法规,例如 GDPR 或 HIPAA。
  • 定期安全评估:定期进行安全评估、漏洞扫描和渗透测试,以识别和解决 LLM 申请数据安全措施中的任何安全弱点或漏洞。
  • 员工意识和培训:对您的员工进行数据安全最佳实践、安全处理数据的重要性以及与数据泄露相关的潜在风险的教育。 鼓励他们努力遵守数据安全协议。

不同环境的数据隔离

考虑数据隔离或数据环境分离非常重要,这是一种安全实践,涉及将不同类型的数据彼此分开以降低风险。 在处理生产和非生产环境中的敏感数据时,这一点尤其重要。

就 Azure OpenAI 和 Azure AI 搜索(以前称为 Azure 认知搜索)等服务而言,采用隔离敏感数据以避免意外泄露的策略至关重要。 您可以采取以下方法:

  • 按环境分离:将生产数据与开发和测试数据分开。 仅在生产中使用真实的敏感数据,并在开发和测试环境中使用匿名或合成数据。
  • 搜索服务配置:在 Azure AI 搜索中,您可以使用文本筛选器定制搜索查询以屏蔽敏感信息。 确保设置搜索配置以防止不必要地暴露敏感数据。
  • 索引分离:如果您有不同级别的数据敏感度,请考虑为每个级别创建单独的索引。 例如,您可以为一般数据创建一个索引,为敏感数据创建另一个索引,每个索引都由不同的访问协议管理。
  • 单独实例中的敏感数据:通过将敏感数据集放置在服务的不同实例中,进一步实现隔离。 每个实例都可以使用其自己的特定 RBAC 策略集进行控制。

在大型语言模型 (LLM) 中处理数据

模型中使用的数据(例如嵌入和向量)应与其他数据类型一样严格对待。 尽管这些数据可能无法立即读取,但它仍然代表可能敏感的信息。 您可以这样处理:

  • 敏感数据处理:认识到从敏感信息生成的嵌入和向量本身就是敏感的。 应为这些数据提供与源材料相同的保护措施。
  • 严格的RBAC应用:严格对存储或处理嵌入和向量的任何服务应用基于角色的访问控制。 仅应根据给定角色的必要性授予访问权限。
  • 范围访问策略:使用 RBAC,确保策略的范围适合角色的必要性,这可能意味着对某些数据的只读访问,或根本无法访问特别敏感的数据集。

通过像传统数据存储一样对待隐私和安全,处理 GenAI 应用程序使用和生成的数据,您将更好地防止潜在的泄露。 隔离方法仅将暴露限制于需要访问其特定角色的人员,从而最大限度地减少数据泄漏时潜在的“爆炸半径”,从而降低风险状况。 定期审查和审计这些实践对于维护安全的数据环境也至关重要。

网络安全.png

网络安全是指保护法学硕士及其服务所使用的网络基础设施和通信渠道。 网络安全涉及确保网络流量的隔离、分段和加密,以及防止和检测网络攻击。 Azure 中 GenAI 应用程序网络安全的一些最佳实践包括:

  • 使用安全通信协议:利用HTTPS/TLS等安全通信协议,确保LLM应用程序与客户端或外部服务之间传输的数据经过加密并防止被拦截。
  • 实施防火墙和入侵检测系统 (IDS):设置防火墙和 IDS 来监控网络流量并识别任何针对 LLM 申请的未经授权的访问尝试或可疑活动。
    • 为了保护 Azure 中的 AI 服务,使用专用终结点、防火墙规则、网络安全组 (NSG) 和架构良好的中心辐射型网络拓扑实施全面的网络安全策略至关重要。 首先为 AI 服务配置专用端点; 这可确保只能在您的虚拟网络内访问服务。 通过严格的防火墙规则来补充这一点,以控制入站和出站流量。 使用 NSG 进一步定义子网级别或特定资源的细粒度流量控制。 在着陆区级别,采用中心辐射型拓扑,其中中心充当连接的中心点并托管 Azure 防火墙等网络虚拟设备 (NVA)。 通过中心内的用户定义路由 (UDR) 路由的流量可实现集中检查和治理。 这种分层方法为保护 Azure 中的 AI 工作负载提供了强大的安全态势。
  • 控制网络访问:实施网络分段和访问控制,以限制仅授权用户和系统访问 LLM 应用程序。 这有助于防止未经授权的访问和网络内潜在的横向移动。
  • 安全 API 和端点:确保 LLM 应用程序使用的 API 和端点通过身份验证和授权机制(例如 API 密钥或 OAuth)得到适当的保护,以防止未经授权的访问。
  • 实施强身份验证:实施强大的身份验证机制,例如多重身份验证,以防止未经授权访问LLM应用程序和相关网络资源。
  • 定期更新和修补网络基础设施:使用最新的固件和安全补丁使网络设备、路由器、交换机和防火墙保持最新状态,以解决任何漏洞。
  • 使用网络监控和日志记录:实施网络监控工具来检测和分析网络流量是否存在任何可疑或恶意活动。 启用日志记录以捕获网络事件并在发生安全事件时促进取证分析。
  • 定期进行安全审计和渗透测试:进行安全审计和渗透测试,以识别和解决法学硕士申请网络基础设施中的任何网络安全弱点或漏洞。
  • 实施强密码策略:对与LLM申请相关的网络设备、服务器和用户帐户实施强密码策略,以防止由于弱密码而导致未经授权的访问。
  • 教育用户和员工:提供培训和意识计划,以教育用户和员工有关网络安全最佳实践的知识,例如强密码的重要性、避免可疑链接或下载以及报告任何安全事件或疑虑。

访问安全是指对法学硕士及其服务的访问和身份管理的保护。 访问安全涉及确保对与 LLM 及其服务交互的用户和应用程序进行身份验证、授权和审核,以及管理 LLM 及其服务的角色和权限。 Azure 中 GenAI 应用程序访问安全的一些最佳实践包括:

  • 使用托管身份:利用 Azure 托管身份对您的 LLM 应用程序进行身份验证和授权,无需手动管理密钥或凭据。 它提供了安全、便捷的身份解决方案。
  • 实施基于角色的访问控制 (RBAC):利用 RBAC 向访问您的 LLM 申请的用户、组或服务授予适当的权限。 遵循最小权限原则,仅授予每个实体必要的权限。
  • 安全密钥管理:使用 Azure Key Vault 安全地存储和管理密钥。 避免在 LLM 申请的代码中硬编码或嵌入敏感密钥。 相反,请使用托管标识从 Azure Key Vault 安全地检索它们。
  • 实施密钥轮换和过期:定期轮换和过期 Azure Key Vault 中存储的密钥,以最大限度地降低未经授权访问的风险。 遵循特定于您的用例和合规性要求的建议的密钥轮换实践。
  • 加密静态和传输中的数据t:利用 Azure 服务和加密机制来保护静态和传输中的数据。 加密 LLM 应用程序中存储的敏感数据,并使用 HTTPS/TLS 等安全通信协议进行数据传输。
  • 监控和检测异常活动: 设置监控和日志记录机制来检测与您的 LLM 申请相关的异常活动或潜在安全威胁。 利用 Azure 安全中心或 Azure Sentinel 监视可疑行为。
  • 启用多重身份验证 (MFA):实施 MFA 为用户身份验证添加额外的安全层。 对与您的 LLM 申请相关的特权帐户或敏感操作实施 MFA。
  • 定期检查和更新访问控制: 定期进行访问控制审查,以确保分配给用户和服务的权限和角色是最新的。 及时删除不必要的访问权限,以最大程度地降低安全风险。实施安全编码实践:遵循安全编码实践,以防止注入攻击、跨站点脚本 (XSS) 或安全错误配置等常见漏洞。 使用输入验证和参数化查询来降低安全风险。

应用程序安全是指对法学硕士及其服务的应用程序逻辑和功能的保护。 应用程序安全涉及确保法学硕士输出和行为的质量、准确性和可靠性,以及防止和减轻恶意行为者或非预期用户误用或滥用法学硕士。 Azure 中 GenAI 应用程序的一些应用程序安全最佳实践包括:

  • 实施输入验证:验证和清理用户输入以防止注入攻击并确保 LLM 处理的数据的完整性。
  • 应用访问控制:实施强大的身份验证和授权机制来控制对支持 LLM 的功能的访问,并确保只有授权用户才能与应用程序交互。
  • 保护模型训练数据:保护用于培训法学硕士的培训数据免遭未经授权的访问,并确保遵守数据保护法规。 使用数据匿名化或差分隐私等技术进一步增强数据安全性。
  • 监控和审计法学硕士活动:实施日志记录和监控机制来跟踪 LLM 活动,检测可疑行为,并在发生安全事件时促进取证分析。
  • 定期更新和修补 LLM 组件:使用最新的安全补丁和更新使 LLM 框架、库和依赖项保持最新,以减少潜在的漏洞。
  • 安全集成点:仔细验证和保护法学硕士使用的任何外部数据源或 API,以防止未经授权的访问或注入恶意代码。
  • 实施最小特权原则:应用最小权限原则来限制 LLM 及相关组件的功能和访问权限。 仅授予必要的权限以防止潜在的滥用。
  • 加密敏感数据:使用加密机制保护静态和传输中的敏感数据,以确保机密性和完整性。
  • 定期进行安全测试:定期执行安全评估,包括渗透测试和漏洞扫描,以识别和解决应用程序中的任何安全弱点或漏洞。

请记住,安全是一个持续的过程,持续评估和改进 GenAI 应用程序的安全状况以防范不断变化的威胁至关重要。

治理安全是指保护法学硕士及其服务的治理和监督。 治理安全涉及确保法学硕士的产出和影响的道德和社会影响,以及遵守法律和监管要求。

Azure 中 GenAI 应用程序治理安全的一些最佳实践包括:

  • 使用 Azure OpenAI 或其他法学硕士的服务条款、政策和指南来了解并遵守使用法学硕士及其服务的规则和责任
  • 使用 Azure OpenAI 或其他法学硕士的文档、教程和示例来学习和遵循使用法学硕士及其服务的最佳实践和建议
  • 使用 Azure OpenAI 或其他法学硕士的反馈和支持渠道来报告和解决与法学硕士及其服务相关的任何问题或疑虑
  • 使用 Azure Responsible AI 或其他框架和工具来评估和减轻法学硕士产出和影响的潜在风险和危害,例如公平性、透明度、问责制或隐私
  • 使用 Azure 合规性或其他资源来了解并遵守与法学硕士及其服务相关的法律和法规要求和标准,例如 GDPR、HIPAA 或 ISO
  • 使用 Azure 策略或 Azure 安全中心定义和实施治理安全策略和合规性标准
  • 使用 Azure Monitor 或 Azure Sentinel 监视治理安全事件和事件并发出警报

GenAI 应用程序是功能强大且多功能的工具,可以支持自然语言处理和生成中的各种场景和用例。 然而,GenAI 应用程序也带来了重大的安全挑战,需要 GenAI 应用程序的开发人员和管理员来解决。 本文档概述了 Azure 中 GenAI 应用程序的安全最佳实践,重点关注 Azure OpenAI,但也描述了与可在 Azure 内部使用的其他 LLM 相关的安全性。 通过遵循这些最佳实践,开发人员和管理员可以确保其 GenAI 应用程序及其数据、网络、访问、应用程序和治理域的安全。

1705620249
#Azure #中 #LLM #应用程序的安全最佳实践
2024-01-16 17:57:49

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​