当前位置:   article > 正文

LLM应用安全开发实践_研发安全 llm

研发安全 llm

基于大语言模型LLM的产品已经越来越多地被个大公司应用到自己的业务当中,这固然带来了新的商业机会,但也给应用的安全工作带来了新的挑战。一方面,大语言模型技术被黑客应用到攻击的实践中,提升了他们的攻击效率;另一方面,LLM由于自己本身的特点,比如输入的提示和模型应用的数据是不可严格分开的,以及模型设计是不确定的,导致LLM具有它特定的风险挑战。

LLM应用有它特有的安全漏洞,比如提示注入漏洞,恶意用户通过精心构造提示内容或者间接提供给LLM含有提示注入风险的内容让其处理,从而被攻击者利用产生非预期的结果。同时,LLM应用也有一些与Web应用共通的漏洞,比如数据越权访问。提升基于LLM的应用安全性,既需要保留部分原来的安全防范策略,也需要针对性地更新或采用LLM特有的安全策略。

一、核心安全组成

安全工作就像是一场攻防战,“攻其必守,守其必攻”的第一要务就是要明白这场攻防战需要保护的核心资产是什么。LLM应用的安全核心组成大致分为下面四类:

1.1 数据安全

大语言模型作为机器学习的一个分支,它的能力也是从数据中学习到的。垃圾进,垃圾出,如果恶意用户精心构造的有毒数据被输入LLM,自然也会得到不怀好意的输出。因此,对模型的数据安全的防护尤为重要。像提示注入漏洞(Prompt Injection)、训练数据毒化漏洞(Training Data Poisoning)就是数据安全出现了问题。这可能导致模型产出带有偏见、仇恨的内容,给业务带来风险。

1.2 模型安全

模型本身如果被恶意破坏,攻击者通过篡改它的参数或者输出,使得模型的输出不再可信。因此,需要保护模型免受篡改,并确保其参数和输出的完整性。采取措施防止对模型的架构和参数进行未经授权的修改或更改,维护其学习表示的可信度。

1.3 基础设施安全

这不是LLM特有的安全事项,但基础设施安全对于LLM的稳健性有着至关重要的作用。通过采取严格的措施来保护服务器、网络连接和托管环境的其他组件,部署安全协议,如防火墙、入侵检测系统和加密机制,以防范潜在威胁和未经授权的访问。

1.4 道德考虑

涉及采取措施防止LLM生成有害内容、误导信息或带有偏见的输出。确保这些模型负责任地部署和使用,以促进更负责任、值得信赖的LLM技术应用。

LLM应用的安全开发过程,需要从上述4个方面进行保障。而针对这些要素的攻击,涉及到对漏洞的利用。

二、 OWASP Top 10漏洞

OWASP Top 10漏洞和相应描述:

漏洞描述

提示注入

(Prompt Injection)

通过巧妙的构造提示输入LLM,导致LLM产生意外的行为。直接注入会覆盖系统提示,而间接注入则操纵来自外部来源的输入。

不安全的输出处理

(Insecure Output Handling)

漏洞发生在接受LLM输出而不经过审查的情况下,攻击者通过巧妙的输入使得LLM输出危险内容,后端系统一旦未经验证即接受LLM的输出,可能导致如XSS、CSRF、SSRF、权限升级或远程代码执行。

训练数据毒化

(Training Data Poisoning)

当LLM训练数据毒化,意味着操纵预训练数据或在微调或嵌入过程中涉及的数据,以引入漏洞、后门或偏见,可能会危及模型的安全性、有效性或道德行为。

模型拒绝服务

(Model Denial of Service)

攻击者对LLM进行资源密集型操作,导致服务降级或运行成本被拉高。

供应链漏洞

(Supply Chain Vulnerabilities)

LLM可能采用其他公司提供的预训练模型,或者采用第三方的数据进行训练。在这些供应链中可能存在漏洞,影响训练数据、机器学习模型和部署平台的完整性。

敏感信息泄露

(Sensitive Information Disclosure)

LLM 应用有可能通过它们的输出透露敏感信息、专有算法或其他机密细节。这可能导致未经授权访问敏感数据、知识产权、隐私侵犯和其他安全漏洞。

不安全的插件设计

(Insecure Plugin Design)

LLM插件可能存在不安全的输入和不足的访问控制。这种应用程序控制的缺乏使它们更容易受到利用,可能会导致远程代码执行等后果。

过度代理

(Excessive Agency)

当对LLM依赖的代理赋予过多功能、权限或自主权,可能被攻击者利用进而执行了本不具备权限的操作。

过度依赖

(Overreliance)

过度依赖LLM而缺乏监督的系统或个人可能面临误导、沟通失误、法律问题和安全漏洞,因为LLM生成的内容不正确或不适当。

模型盗窃

(Model Theft)

这涉及对专有LLM模型的未经授权访问、复制或外泄。其影响包括经济损失、竞争优势受损以及可能访问敏感信息。

在一个典型的基于LLM的应用架构中,这些漏洞的可视化图:

从上图中可以看出:

  • 针对LLM输入,可能存在漏洞:提示注入 / 模型拒绝服务。
  • 针对LLM输出,可能存在漏洞:敏感信息泄漏 / 不安全的输出处理 / 过度依赖。
  • 针对训练数据 / 微调数据的输入,可能存在漏洞:训练数据毒化 / 敏感信息泄漏。
  • 针对用户输入 / 模型 / 训练数据,可能存在漏洞: 模型盗窃。
  • 针对插件,可能存在漏洞:过度代理 / 不安全的插件设计。
  • 针对下游服务,可能存在漏洞:过度代理 / 供应链漏洞。

对于其中漏洞的防范,可以参看《LLM应用的OWASP Top 10漏洞》以及文章后面给出的相关参考资料。

三、 建设LLM应用安全研发策略

应用的安全开发不是一个孤立事情,即不能指望由应用开发人员单一角色进行承担整个应用安全的落地实施,安全涉众包括但不限于:企业管理层 、安全应急团队、运维团队、技术团队及产品团队,甚至包括相关采购人员、HR等。各方人员的配合需要一套高效开放的制度流程保障。

在基于LLM应用的安全开发中,有以下经验可以遵循。

3.1 AI及安全相关培训

  • 对员工进行必要的安全培训、AI相关知识培训,以理解和关注LLM相关安全动态。
  • 建立开放透明的组织安全氛围,保障安全策略得到上层支持和一线员工的落地实施。
  • 培训包括但不限于:安全团队、业务开发、测试及运维团队,以及他们的主管部门领导。
  • 及时更新安全培训内容,跟进当前最新的安全风险动态。

3.2 复盘原有安全策略

LLM应用安全开发并不是推翻原有安全策略,更多的是将目前LLM领域安全策略集成到组织已有的安全策略当中。针对当前已经实施的安全策略进行复盘:

  • 梳理现有安全保障措施,是否足够保障模型安全、数据安全和基础设置安全,是否需要更新安全保障策略。
  • 梳理新增AI的相关业务,目前安全策略是否合适。比如在生成式AI技术发展的当下,以前语音识别、人脸检测等的身份验证手段可信度会降低。
  • 学习LLM相关安全漏洞,评估当前业务及技术架构下是否发生新的安全风险敞口,及时修复漏洞。

3.3 威胁建模

风险建模是一种系统性的方法,用于识别、分析和评估组织所面临的各种潜在风险。这一过程涉及确定可能的威胁、潜在的漏洞以及可能受到影响的资产,然后评估这些风险对组织的影响程度和概率。在部署大型语言模型之前进行威胁建模以及针对生成式人工智能加速攻击的威胁建模是最经济的方式,可以识别和减轻风险、保护数据、保护隐私,并确保与业务的安全、合规整合。

  • 梳理当前LLM应用架构的风险边界,评估存在哪些漏洞可能导致风险。
  • 是否有足够的内部防范措施来防止授权用户对业务的滥用。
  • 是否有足够的防范措施来防止LLM的输出产生有害 和不适当的内容。

建模分析可以结合OWASP Top 10项目,针对业务形态和应用架构来评估分析。作为SDL一部分,建议威胁建模在产品需求和研发设计时并行实施。

3.4 安全治理

安全治理是为了建立一个透明负责的安全响应制度。指定明确的责任人,制定跟业务相匹配的响应流程和明确的管理机制,是团队组织能够快速响应安全问题、减少企业业务伤害的必要手段。

  • 建立组织的AI责任人机制,明确响应人员、负责人选、咨询人员和通知人等。
  • 归档安全数据,记录AI风险事故、风险评估和相关责任人等。
  • 建立数据和模型的管理政策,特别强调对数据访问权限的保护,仅对输入模型数据最低访问级别,防止受保护或机密数据的输入。
  • 实施持续的监控机制,及时检测和响应安全事件和合规偏差。

3.5 测试与验证

  • 对于LLM应用需要进行严格的系统性测试和验证,发现和评估发现的安全问题。
  • 进行全面的安全评估,包括渗透测试和漏洞扫描,以识别并解决LLM部署中潜在的弱点。
  • 条件允许情况下组织红队模拟安全攻击,以验证不存在任何可以被攻击者利用的现有漏洞。

3.6 法律与监管

  • 数据收集、模型输出等都要严格遵守当地法律法规。IT部门、安全部门、研发部门和法律部门需要密切合作,识别其中风险,修补其中漏洞。
  • 定期对LLM部署进行审计和审查,评估其符合安全政策的程度,并识别改进的领域。

强调的是,这里的法律和监管不仅仅是技术层面的问题,对于道德考虑的保护需要对应用所部署的当地社会法律保持及时的跟进和遵循。

参考资料:

1. Comprehensive Guide to Large Language Model (LLM) Security

2. LLM AI Cybersecurity & Governance Checklist

3. Exploring the Security Risks of Using Large Language Models

4. A Comprehensive Guide to LLM Security and Governance

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/642395
推荐阅读
相关标签
  

闽ICP备14008679号