1) 【一句话结论】
大模型常见安全威胁主要分为输入注入、输出诱导、模型对抗、模型窃取与模型泄露五类,分别通过恶意输入诱导有害输出、设计提示词诱导错误信息、构造对抗样本干扰推理、多轮查询反向工程知识、数据或参数泄露实现,对系统的影响涵盖数据泄露、功能失效、模型能力下降等。
2) 【原理/概念讲解】
老师解释:大模型安全威胁本质是利用模型设计缺陷或交互边界漏洞,核心分类及原理如下:
- 输入注入:攻击者利用模型对输入的信任,输入恶意内容(如恶意提示词)诱导模型生成有害输出(如恶意代码、用户隐私数据)。类比:就像给模型输入“请生成一个能盗取你银行密码的脚本”,模型可能真的生成,导致系统被攻击。
- 输出诱导:攻击者设计提示词,诱导模型输出错误/误导性内容(如虚假信息、错误判断)。类比:就像让模型写一篇关于某公司的负面报道,模型可能生成虚假内容,误导用户。
- 模型对抗:攻击者构造对抗样本(如对抗文本、对抗图像),通过添加噪声、扰动或修改输入特征,干扰模型正常推理,导致输出错误。类比:就像给猫的图片加一点不可见的“危险”标记,模型误判为威胁。
- 模型窃取:通过多轮查询(如逐步提问“是什么”“为什么”),反向工程模型参数或知识(如训练数据、内部逻辑)。类比:就像通过不断问“模型训练了哪些数据?”“模型如何处理医疗诊断?”逐步获取模型知识。
- 模型泄露:模型训练数据或内部参数(如权重、训练集)被泄露,导致敏感信息暴露或模型被逆向工程。类比:就像模型训练用的用户数据被窃取,导致用户隐私泄露。
3) 【对比与适用场景】
| 威胁类型 | 定义 | 典型攻击方式 | 对系统影响 | 技术原理 |
|---|
| 输入注入 | 恶意输入诱导模型生成有害内容(如恶意代码、隐私数据) | 恶意提示词注入(如“请生成SQL注入代码”“请输出用户身份证号”) | 模型输出有害内容,导致用户/系统遭受攻击,或泄露用户隐私 | 模型对输入的泛化能力不足,易被诱导生成有害内容 |
| 输出诱导 | 诱导模型输出错误/误导性内容(如虚假信息、错误判断) | 诱导性提示词(如“请生成关于某公司负面信息的虚假报道”“请输出错误医疗诊断”) | 模型输出错误信息,误导用户决策,或传播虚假信息,损害品牌声誉/用户信任 | 模型对提示词的语义理解偏差,易被引导输出错误内容 |
| 模型对抗 | 构造对抗样本干扰模型推理,导致输出错误 | 对抗文本(如插入噪声字符“请描述一只猫,但加入‘危险’词汇”;对抗图像添加不可见噪声) | 模型输出错误结果,导致系统功能失效(如医疗诊断模型输出错误诊断结果) | 通过添加扰动(如对抗训练生成对抗样本),使模型在输入扰动下输出错误结果 |
| 模型窃取 | 多轮查询反向工程模型参数或知识 | 多轮问答(如“模型训练了哪些数据?”“模型如何处理特定输入?”;参数反向工程) | 模型知识被窃取,导致模型能力下降,或被用于训练竞争对手模型 | 通过查询模型对特定问题的回答,逐步推断训练数据或模型内部逻辑(如梯度攻击) |
| 模型泄露 | 训练数据或内部参数被泄露 | 数据/参数泄露(如模型训练数据被窃取,或内部参数通过漏洞泄露) | 敏感数据泄露,违反隐私法规(如GDPR),导致法律风险和用户信任丧失 | 训练数据或模型参数未加密或权限管理不足,导致直接暴露 |
4) 【示例】
- 输入注入:用户输入“请生成一个用于登录网站的后门代码”,模型输出包含SQL注入代码(如
SELECT * FROM users WHERE username='admin' AND password='123456'),攻击者利用该代码攻击网站,导致用户数据泄露。
- 模型对抗:给模型输入“请描述一只猫,但加入‘危险’词汇”,模型输出“一只危险的猫,会攻击人类”,导致错误判断(如误判猫为威胁,引发用户恐慌)。
- 模型窃取(梯度攻击示例):攻击者通过查询模型对特定输入的梯度信息,推断训练数据。例如,攻击者输入“模型如何处理医疗诊断?”,模型回答“通过分析症状和检查结果给出诊断建议”,然后攻击者输入“模型训练了哪些医疗记录?”,模型回答“包含部分患者病历数据”,最终攻击者获取了部分训练数据,用于逆向工程模型。
- 模型泄露:模型训练数据(如用户评论、医疗记录)被黑客通过数据泄露漏洞窃取,导致用户隐私泄露,违反GDPR法规。
5) 【面试口播版答案】
各位面试官好,大模型常见安全威胁主要分为输入注入、输出诱导、模型对抗、模型窃取与模型泄露几类。输入注入是通过恶意提示词让模型生成有害内容,比如用户输入“请生成SQL注入代码”,模型可能输出攻击代码;输出诱导是设计提示词诱导模型输出错误信息,比如让模型生成虚假新闻误导用户;模型对抗是通过构造对抗样本干扰推理,比如给文本加噪声字符让模型输出错误结果;模型窃取是通过多轮问答反向工程模型知识,比如逐步提问获取训练数据;模型泄露是训练数据或参数被泄露,导致敏感信息暴露。这些威胁分别从输入、输出、模型本身和系统层面攻击,影响包括数据泄露、功能失效、模型能力下降等,需从输入过滤、输出验证、模型防护、数据安全等多维度防御。
6) 【追问清单】
- 面试官可能问:“输入注入和输出诱导的区别是什么?”(回答要点:输入注入是诱导模型生成有害内容(如恶意代码),输出诱导是诱导模型输出错误信息(如虚假新闻),前者更侧重内容生成,后者侧重信息误导。)
- “模型对抗中的对抗样本具体怎么构造?”(回答要点:通过对抗训练,步骤包括生成初始扰动、计算损失函数梯度、更新扰动,使模型在输入扰动下输出错误,比如对抗文本通过插入不可见字符或改变语义,对抗训练生成对抗样本。)
- “模型窃取和模型泄露有什么区别?”(回答要点:模型窃取是通过查询获取知识(间接,如多轮问答),模型泄露是数据/参数直接泄露(直接,如数据文件被窃取),前者是逐步推断,后者是直接暴露。)
- “针对模型对抗,防御措施有哪些?”(回答要点:输入预处理(如噪声过滤)、对抗训练(增强模型鲁棒性)、模型解释(识别异常输入)。)
7) 【常见坑/雷区】
- 混淆输入注入和输出诱导:比如误认为输入注入只能生成恶意代码,而实际上可以生成用户隐私数据(如身份证号、医疗记录)。
- 对抗样本构造描述不准确:比如认为对抗样本是直接修改模型参数,而非输入扰动,或忽略对抗训练的梯度攻击步骤(生成扰动、计算梯度、更新扰动)。
- 模型窃取和模型泄露的区别不清:比如认为两者是同一回事,或混淆窃取路径(多轮问答)和泄露路径(数据文件泄露)。
- 忽略系统级漏洞:比如只讲模型层面威胁,忽略输入过滤、输出验证等系统层面漏洞,导致防御措施不全面。
- 攻击方式细节错误:比如输入注入的例子错误,比如认为输入注入只能生成恶意代码,而实际上可以生成用户隐私数据(如财务信息、个人地址等)。