Web LLM 攻击技术

概述

在ChatGPT问世以来,我也尝试挖掘过ChatGPT的漏洞,不过仅仅发现过一些小问题:无法显示xml的bug和错误信息泄露,虽然也挖到过一些开源LLM的漏洞,比如前段时间发现的Jan的漏洞,但是不得不说传统漏洞越来越难挖掘,所以我们仍然有必要学习下Web LLM攻击相关的漏洞。

通常Web LLM的组成结构主要由Web前端界面、LLM、API接口、后端服务层组成,后端服务层包括身份验证和授权组件、业务逻辑处理组件和其他插件组成。本文侧重于Web LLM的攻击分析,因此本文所述的API指的是LLM调用后端服务的接口。用户数据交互如下图所示:
在这里插入图片描述

话不多说,直接进入正题。OWASP 去年发布了:

本文结合此文档和PortSwigger提供的lab进行学习。OWASP Top 10 For LLM:

  1. 提示词(Prompt Injection) 注入:黑客通过精心设计的提示词操纵大型语言模型执行流程,从而导致 LLM 执行意外操作。提示词注入会覆盖系统提示词,从而间接操纵外部数据源进行注入攻击。例如对敏感 API 进行错误调用或返回不符合其准则的内容。其实在Chat GPT问世初期就出现了此攻击方法。

  2. 不安全的输出处理:当 LLM 输出未经审查和过滤的内容时,可能导致在Web浏览器中出现XSS和CSRF,以及在后端系统中出现SSRF、权限升级或远程代码执行等严重后果。之前在使用ChatGPT时发现无法显示xml数据的bug:
    在这里插入图片描述
    在这里插入图片描述

  3. 训练数据中毒:训练数据污染指的是对预训练数据或在微调或嵌入过程中涉及的数据进行操纵,以引入可能危害模型安全性、效果或道德行为的漏洞(这些漏洞都具有独特且有时共享的攻击向量)、后门或偏见。污染的信息可能会被呈现给用户,或者造成其他风险,如性能下降、下游软件滥用和声誉损害。即使用户不信任有问题的AI输出,风险仍然存在,包括降低模型能力和对品牌声誉的潜在危害。常见的漏洞场景有:
    1) 模型使用未经验证的数据进行训练,源、起源或训练阶段示例中的内容未经验证,这可能会导致如果数据被污染或不正确,就会产生错误的结果。
    2) 无限制的基础架构访问或不足的沙箱可能会允许模型摄取不安全的训练数据,导致有偏见或有害的输出。

  4. 拒绝服务模型:攻击者对大型语言模型进行资源密集型操作,导致服务降级或高成本。由于LLM的资源密集型性质和用户输入的不可预测性,该漏洞被放大。常见的漏洞场景有:
    1) 提出导致通过高容量生成任务队列中的高卷入而导致资源使用量不断重复的查询,例如使用LangChain或AutoGPT。
    2) 发送异常消耗资源的查询,使用异常的拼写法或序列。
    3) 持续输入溢出:攻击者向LLM发送超出其上下文窗口的输入流,导致模型消耗过多的计算资源。
    4) 重复的长输入:攻击者反复向LLM发送超出上下文窗口的长输入。
    5) 递归上下文扩展:攻击者构建的输入触发递归上下文扩展,强制LLM反复扩展和处理上下文窗口。
    6) 变长输入洪水攻击:攻击者向LLM洪水般发送大量的变长输入,其中每个输入都精心制作,以达到上下文窗口的限制。这种技术旨在利用处理变长输入的任何效率低下之处,使LLM负担过重,可能导致其无法响应。

  5. 供应链漏洞:LLM中的供应链可能会受到威胁,影响训练数据、机器学习模型和部署平台的完整性。这些漏洞可能导致偏见结果、安全漏洞,甚至完全的系统故障。传统上,漏洞主要集中在软件组件上,但机器学习通过由第三方提供的预训练模型和训练数据扩展了这一概念,这些数据容易受到篡改和恶意攻击的影响。常见的漏洞场景有:
    1) 使用易受攻击的预训练模型进行微调。
    2) 使用恶意篡改的众包数据进行训练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值