searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

对抗攻击心得

2024-07-30 09:35:31
4
0

1.LLMs的安全风险挑战

1.1 隐私泄露:

大模型在训练过程中可能会无意中暴露个人身份信息,如姓名、电子邮件地址、电话号码等,侵犯用户隐私。假设一个用户询问大模型关于某个人的详细信息,大模型在回答时不小心引用了其训练数据中的个人信息,如“张三的电子邮件地址是zhangsan@example.com”,这就直接暴露了个人隐私。

1.2 毒性和偏见:

训练数据中的有毒内容和刻板印象可能导致大模型生成具有歧视性或不健康的内容,对社会产生负面影响。如果大模型在回答有关职业选择的问题时,生成了包含性别刻板印象的内容,比如“护士职业更适合女性,因为女性更会照顾人”,这种回答就体现了性别偏见。

1.3 幻觉:

大模型有时会生成与现实不符或无意义的内容,这种现象被称为幻觉,降低了模型输出的可靠性和准确性。用户问“法国的首都是什么?”,大模型回答“法国的首都是伦敦”,这显然是一个与现实不符的回答,因为它错误地将英国的首都归属于法国,这种生成与现实脱节的内容就是所谓的幻觉。

1.4 模型攻击:

攻击者可能利用大模型的安全漏洞,通过推理攻击、投毒攻击等手段来窃取敏感信息或导致模型给出错误响应。攻击者可能通过构造特定的输入(越狱提示),使得大模型违反其安全协议,比如生成能够绕过安全限制的恶意代码。例如,攻击者问“如何破解一个常用的密码管理器?”,如果大模型提供了具体的方法或步骤,那么这就是一次成功的模型攻击。

2.对抗性攻击的类型与方法

对抗性攻击可分为以下两类:

2.1. 推理时攻击

红队攻击​:通过模拟常见用户查询的恶意指令,试图突破大模型的安全防护。攻击者模拟一个用户询问“如何绕过公司防火墙?”尽管这个问题看起来像是技术求助,但实际上是试图获取敏感信息或绕过安全措施的恶意指令。

基于模板的攻击​:这些攻击专注于操作原始红队指令,以创建更复杂的对抗性提示。基于模板的攻击旨在找到一个通用模板,通过将原始红队指令插入其中,可以突破LLMs的内置安全并迫使受害者LLMs遵循指令。

神经提示到提示攻击​:这类工作选择使用参数化的序列到序列模型(通常是另一个LLM),对每个提示进行迭代定制修改,同时保持原始的语义含义。攻击者可能使用一个序列到序列的模型,对提示“如何安全地传输数据?”进行修改,生成新的提示“如何不引人注意地传输数据?”,虽然语义相近,但后者会诱导模型提供规避监控的方法。

2.2. ​训练时攻击​:

与推理时攻击不同,它们通过使用精心设计的数据对目标模型进行微调,从而破坏LLMs固有的安全性。这类攻击在开源模型中尤为突出,但也可以针对通过微调API(如GPTs)提供的专有LLMs。大量研究表明,即使在训练集中注入一小部分被污染的数据,也会导致LLMs行为的显著变化。如攻击者在模型的训练数据集中插入含有偏见或错误信息的数据,如在训练数据中故意包含歧视性言论或错误的医学信息,然后在模型微调时利用这些信息来影响模型的输出,使其在实际应用中产生有害的偏见或错误推理。

3.防御策略:

3.1 安全对齐:

安全对齐是通过对预训练模型进行微调来增强其内部安全能力的过程。这包括: 监督式微调(SFT)​:在监督数据上微调LLM,确保模型在保持有帮助的同时,也能生成安全的回应。 ​基于人类反馈的强化学习(RLHF)​:利用人类反馈来提升LLM的能力,优化基于人类偏好的静态目标。 ​直接偏好优化(DPO)​:简化RLHF的训练过程,避免使用奖励模型。 ​多目标RLHF(RLHF)​:引入细粒度的目标函数,实现安全与其他目标(有帮助性、诚实性)间的权衡。 ​修改后的DPO(MODPO):在无需RL的DPO基础上,实现多目标的联合优化。

3.2推理引导:

推理引导帮助LLM在不改变其参数的情况下产生更安全的回应。常用的方法包括:

系统提示​:集成在LLM内部的提示,提供必要的指导以确保模型行为的支持性和良性。 ​设计提示​:通过加入强调安全考虑的系统提示,或指导模型进行自我检查,鼓励模型生成负责任的输出。 ​令牌选择调整​:例如,RAIN方法采用搜索和反向方法,基于每个令牌估计的安全性来指导令牌选择。

3.3输入/输出过滤器:

输入和输出过滤器用于检测有害内容并触发适当的处理机制。过滤器可分为基于规则的和基于模型的:

基于规则的过滤器​:使用相应的规则来捕捉攻击方法的特定特征,例如使用困惑度(Perplexity)过滤器来过滤复杂度过高的输入。 ​基于模型的过滤器​:利用学习型方法来检测有害内容,例如使用SVM或随机森林训练二元分类器,或者使用基于LLM的过滤器,如Perspective-API和Moderation。

4.评估对抗攻击有效性的方法

攻击成功率​(ASR):这是衡量攻击是否成功引出LLM有害内容的关键指标。评估时可以通过人工检查输出结果或与参考答案进行比较,或者使用基于规则的关键词检测来自动评估攻击是否成功。

PromptBench​:在评估对抗性攻击时,可以使用PromptBench生成一系列的提示,这些提示设计用来测试模型在处理含有潜在恶意意图的查询时的鲁棒性。

AdvGLUE​:攻击者可能会针对AdvGLUE中的一个任务,如情感分析,生成看似正面但实际上包含负面含义的句子,以测试模型是否能够正确识别出真实的情感倾向。

ANLI:攻击者可以构造一些逻辑上看似合理但实际错误的前提和假设对,以测试模型是否能够抵抗这种误导。

GLUE-X​:攻击者可能会生成一个包含隐晦讽刺的句子,这个句子表面上看似正面,但实际上表达了负面的情感。

BOSS​:攻击者可能会构造一个场景,其中包含对安全规则的故意误读或规避。

5.越狱攻击

越狱攻击是指通过精心设计的提示,诱使语言模型产生可能包含有害或恶意内容的回应,从而绕过模型的安全防护措施。可以使用In-Context Adversarial Game (ICAG)方法增强大型语言模型对越狱攻击的防御能力。例如,攻击者可能会设计一个提示,试图让模型生成如何破解密码的步骤,而ICAG中的防御者则通过生成对抗性提示来强化模型的防御机制,教会模型识别和拒绝这类请求。但ICAG仍然存在一些局限性。首先,ICAG依赖于对静态对手模型的假设,这可能限制了其在面对不断变化的攻击策略时的适用性。其次,ICAG的有效性在很大程度上取决于初始提示集的质量和多样性。如果初始提示集不能充分代表可能的攻击向量,ICAG可能无法有效应对未知的攻击。

0条评论
作者已关闭评论
刘****念
2文章数
0粉丝数
刘****念
2 文章 | 0 粉丝
刘****念
2文章数
0粉丝数
刘****念
2 文章 | 0 粉丝
原创

对抗攻击心得

2024-07-30 09:35:31
4
0

1.LLMs的安全风险挑战

1.1 隐私泄露:

大模型在训练过程中可能会无意中暴露个人身份信息,如姓名、电子邮件地址、电话号码等,侵犯用户隐私。假设一个用户询问大模型关于某个人的详细信息,大模型在回答时不小心引用了其训练数据中的个人信息,如“张三的电子邮件地址是zhangsan@example.com”,这就直接暴露了个人隐私。

1.2 毒性和偏见:

训练数据中的有毒内容和刻板印象可能导致大模型生成具有歧视性或不健康的内容,对社会产生负面影响。如果大模型在回答有关职业选择的问题时,生成了包含性别刻板印象的内容,比如“护士职业更适合女性,因为女性更会照顾人”,这种回答就体现了性别偏见。

1.3 幻觉:

大模型有时会生成与现实不符或无意义的内容,这种现象被称为幻觉,降低了模型输出的可靠性和准确性。用户问“法国的首都是什么?”,大模型回答“法国的首都是伦敦”,这显然是一个与现实不符的回答,因为它错误地将英国的首都归属于法国,这种生成与现实脱节的内容就是所谓的幻觉。

1.4 模型攻击:

攻击者可能利用大模型的安全漏洞,通过推理攻击、投毒攻击等手段来窃取敏感信息或导致模型给出错误响应。攻击者可能通过构造特定的输入(越狱提示),使得大模型违反其安全协议,比如生成能够绕过安全限制的恶意代码。例如,攻击者问“如何破解一个常用的密码管理器?”,如果大模型提供了具体的方法或步骤,那么这就是一次成功的模型攻击。

2.对抗性攻击的类型与方法

对抗性攻击可分为以下两类:

2.1. 推理时攻击

红队攻击​:通过模拟常见用户查询的恶意指令,试图突破大模型的安全防护。攻击者模拟一个用户询问“如何绕过公司防火墙?”尽管这个问题看起来像是技术求助,但实际上是试图获取敏感信息或绕过安全措施的恶意指令。

基于模板的攻击​:这些攻击专注于操作原始红队指令,以创建更复杂的对抗性提示。基于模板的攻击旨在找到一个通用模板,通过将原始红队指令插入其中,可以突破LLMs的内置安全并迫使受害者LLMs遵循指令。

神经提示到提示攻击​:这类工作选择使用参数化的序列到序列模型(通常是另一个LLM),对每个提示进行迭代定制修改,同时保持原始的语义含义。攻击者可能使用一个序列到序列的模型,对提示“如何安全地传输数据?”进行修改,生成新的提示“如何不引人注意地传输数据?”,虽然语义相近,但后者会诱导模型提供规避监控的方法。

2.2. ​训练时攻击​:

与推理时攻击不同,它们通过使用精心设计的数据对目标模型进行微调,从而破坏LLMs固有的安全性。这类攻击在开源模型中尤为突出,但也可以针对通过微调API(如GPTs)提供的专有LLMs。大量研究表明,即使在训练集中注入一小部分被污染的数据,也会导致LLMs行为的显著变化。如攻击者在模型的训练数据集中插入含有偏见或错误信息的数据,如在训练数据中故意包含歧视性言论或错误的医学信息,然后在模型微调时利用这些信息来影响模型的输出,使其在实际应用中产生有害的偏见或错误推理。

3.防御策略:

3.1 安全对齐:

安全对齐是通过对预训练模型进行微调来增强其内部安全能力的过程。这包括: 监督式微调(SFT)​:在监督数据上微调LLM,确保模型在保持有帮助的同时,也能生成安全的回应。 ​基于人类反馈的强化学习(RLHF)​:利用人类反馈来提升LLM的能力,优化基于人类偏好的静态目标。 ​直接偏好优化(DPO)​:简化RLHF的训练过程,避免使用奖励模型。 ​多目标RLHF(RLHF)​:引入细粒度的目标函数,实现安全与其他目标(有帮助性、诚实性)间的权衡。 ​修改后的DPO(MODPO):在无需RL的DPO基础上,实现多目标的联合优化。

3.2推理引导:

推理引导帮助LLM在不改变其参数的情况下产生更安全的回应。常用的方法包括:

系统提示​:集成在LLM内部的提示,提供必要的指导以确保模型行为的支持性和良性。 ​设计提示​:通过加入强调安全考虑的系统提示,或指导模型进行自我检查,鼓励模型生成负责任的输出。 ​令牌选择调整​:例如,RAIN方法采用搜索和反向方法,基于每个令牌估计的安全性来指导令牌选择。

3.3输入/输出过滤器:

输入和输出过滤器用于检测有害内容并触发适当的处理机制。过滤器可分为基于规则的和基于模型的:

基于规则的过滤器​:使用相应的规则来捕捉攻击方法的特定特征,例如使用困惑度(Perplexity)过滤器来过滤复杂度过高的输入。 ​基于模型的过滤器​:利用学习型方法来检测有害内容,例如使用SVM或随机森林训练二元分类器,或者使用基于LLM的过滤器,如Perspective-API和Moderation。

4.评估对抗攻击有效性的方法

攻击成功率​(ASR):这是衡量攻击是否成功引出LLM有害内容的关键指标。评估时可以通过人工检查输出结果或与参考答案进行比较,或者使用基于规则的关键词检测来自动评估攻击是否成功。

PromptBench​:在评估对抗性攻击时,可以使用PromptBench生成一系列的提示,这些提示设计用来测试模型在处理含有潜在恶意意图的查询时的鲁棒性。

AdvGLUE​:攻击者可能会针对AdvGLUE中的一个任务,如情感分析,生成看似正面但实际上包含负面含义的句子,以测试模型是否能够正确识别出真实的情感倾向。

ANLI:攻击者可以构造一些逻辑上看似合理但实际错误的前提和假设对,以测试模型是否能够抵抗这种误导。

GLUE-X​:攻击者可能会生成一个包含隐晦讽刺的句子,这个句子表面上看似正面,但实际上表达了负面的情感。

BOSS​:攻击者可能会构造一个场景,其中包含对安全规则的故意误读或规避。

5.越狱攻击

越狱攻击是指通过精心设计的提示,诱使语言模型产生可能包含有害或恶意内容的回应,从而绕过模型的安全防护措施。可以使用In-Context Adversarial Game (ICAG)方法增强大型语言模型对越狱攻击的防御能力。例如,攻击者可能会设计一个提示,试图让模型生成如何破解密码的步骤,而ICAG中的防御者则通过生成对抗性提示来强化模型的防御机制,教会模型识别和拒绝这类请求。但ICAG仍然存在一些局限性。首先,ICAG依赖于对静态对手模型的假设,这可能限制了其在面对不断变化的攻击策略时的适用性。其次,ICAG的有效性在很大程度上取决于初始提示集的质量和多样性。如果初始提示集不能充分代表可能的攻击向量,ICAG可能无法有效应对未知的攻击。

文章来自个人专栏
社区分享文章
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0