对抗编码攻击
风险概览
风险编号:GAARM.0044
子风险:无
安全阶段:应用安全
生命周期:应用阶段
创建时间:2024.05.01
修改时间:2024.08.06
攻击概述¶
对抗编码攻击是针对LLMs输入与输出侧防御检测机制的一种对抗技术手段,攻击者通过编码或转换数据(如使用base64编码),尝试绕过安全检查或注入恶意内容。这种攻击针对的是NLP模型的编码层,试图绕过模型的文本理解能力,直接影响内部特征的生成。 由于LLMs训练过编码文本等多样化的数据类型,因此支持正常实现解码操作,并完成恶意指令的执行或者敏感数据的外泄。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | 利用对抗编码攻击绕过ChatGPT安全限制,获取存储的密钥信息 |
| 案例二 | 该文章研究了基于文本的 NLP 模型被操纵编码的扰动进行了干扰与误导,这些扰动利用语言编码功能可以改变模型输出并增加推理运行时间。例如呈现为相同或视觉上相似的字形的独特字符用于扰乱模型的输入 |
攻击风险¶
- 绕过安全机制:攻击者可能利用模型编解码能力来绕过内容安全检查。
- 数据泄露:攻击者可以利用Base64编码操作来隐藏恶意指令或数据,导致敏感信息泄露。
- 未经授权的代码执行:恶意代码可以通过Base64编码的形式注入到LLMs中,从而导致未经授权的代码执行,可能损害系统的完整性和安全性。
- 恶意操作:攻击者可以利用Base64编码操纵LLMs执行各种恶意操作,如篡改数据、劫持会话等,从而危害系统和用户安全。
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 输入/输出验证 | 对输入和输出数据进行验证,以防止恶意或意外的Base64等编码数据输入到LLMs中或者直接被打印出来 |
| 模型安全对齐 | 将大模型进行语言细微差别和编码技术训练用于识别这些攻击的特征 |