安全论文阅读杂记
Published:
ICLR
2024
- [ICLR] BadChain: Backdoor Chain-Of-Thought Prompting For Large Language Models
- 针对LLM推理的后门攻击问题,提出了一种新的攻击方法,让LLM在进行思维链CoT prompting推理的时候触发trigger时得到错误结论
- 攻击场景是攻击者可以获得推理数据并且可以进行修改,但无法接触训练数据和LLM参数,LLM作为服务端接收输入返回输出。攻击目标是让LLM在遇到有触发器的请求时输出错误回答,同时在正常请求上表现正常。
- 大部分后门攻击工作都需要接触训练过程,包括训练数据或者模型参数。对prompt进行后门攻击的工作目前不多,且在复杂的推理任务下表现不佳。BadChain是第一个对CoT prompting进行后门攻击的工作,旨在将后门推理步骤插入到模型输出的原始推理步骤序列中,以操纵最终响应。
- BadChain首先对一部分演示进行毒化,然后在真的查询的问题里面嵌入触发器,这样有触发器的请求会出现错误回答,而没有触发器的请求回答正常。毒化方法也是首先在演示问题里面添加触发器,然后在演示步骤里面添加后门推理步骤,最后提供对抗性的目标答案。触发器的添加有两种方法,一种是非单词的触发器,由特殊字符和随机字母组成,另一种是短语触发器,通过向受害LLM查询与上下文具有弱的语义相关性并具有一些约束的触发器得到,可以看作将LLM视为具有黑盒访问的一步优化器来优化触发器(就是问LLM我们要这么害你了,给我一个满足约束且跟演示的东西没什么关系的短语)。
- 最后做了大量实验,说明了攻击的有效性,以及毒化的演示的占比以及触发器在查询prompt中的位置都与成功率有关系。越强大的LLM越容易受到这种攻击,后门推理步骤在弥合”标准计算”和对抗性目标答案中有重要影响,毒化样例数的最佳选择和次优选择之间存在明显区分,ASR或ACC的置信区间不重叠,攻击者可以很容易地使用20个实例对这个比例做出最优选择。触发词在查询prompt的前中后三个未知的攻击成功率有明显区别,可以通过少量测试进行确认。
- 对每个演示的推理步骤进行打乱和对所有演示的推理步骤统一进行打乱可以一定程度降低成功率,但也会导致准确率(模型可用性)的下降,即会损害普通查询的效果,因此不能算作有效的防御
USENIX Security
2023
- FREEEAGLE: Detecting Complex Neural Trojans in Data-Free Cases
- DNN网络上的木马攻击防御问题,设计了一个新的检测木马方法检测模型是否被木马植入(在指定类或所有类上出现误划分)
- 攻击场景是攻击者可以访问所有的训练数据和训练模型,可以选择不同的攻击策略,也可以选择不同的触发形式。防御者无法访问训练数据,没有额外的干净数据,但可以白盒访问目标模型
- 根据木马的攻击逻辑是让训练出来的模型对于特定特征的优先级调整至高于无害特征的优先级的特点,本文提出构建一个dummy特征样本来检测木马,dummy样本按与指定类对应的目标进行训练调整,所以如果dummy样本的预测结果在除了目标类之外的其他类上的有异常高的概率,说明这个模型大概率被植入木马了。
- 整个方法分为三步,首先进行特征提取器和分类器的划分,本文主要通过分类器部分来检测木马,这一步手动完成(文中建议选中间进行划分),第二步给每个类随机初始化一个dummy样本,并按预测结果是对应类为目标进行训练。在得到所有dummy样本的预测结果构成的矩阵后去除矩阵的对角元素,然后计算每行最大值与三分位数(Q3)的距离和三分位数(Q3)与一分位数(Q1)的距离之间的比值,比值越大说明最大值的异常幅度越大,模型越有可能被植入木马
- 训练dummy样本文中训练两次取平均值,在计算异常度时为了处理一些类之间特征本就比较类似导致的植入木马的最大值显得没那么异常的问题,本文进一步计算了异常度与无害样本的异常度之间的距离,这个无害样本的异常度作为一个超参数由专家知识确定。
NDSS
2023
- Adversarial Robustness for Tabular Data through Cost and Utility Awareness
- 表格数据的对抗稳定性问题,提出了针对表格数据的威胁模型和攻击方法
- 已有工作主要针对视觉和文本数据,提出的不可区分性对于表格数据不适用,无法准确描述;同时假定所有攻击样本的优先级一致,对于表格数据也不现实
- 攻击场景是攻击者只能对表格数据在对应范围内做修改,只能访问黑盒模型获取模型输出,攻击对象是二分类器
- 本文提出使用攻击成本cost来度量每次修改样本需要付出的现实成本(文中主要指经济成本)用于替换已有工作的不可区分性指标。使用攻击收益gain来度量攻击成功可以带来的奖励(也是经济成本),最终使用gain和cost的差来定义攻击的可用性。于是将攻击问题定义为在可用性限制下的损失函数最大化问题,让模型尽可能产生误分类。
- 在攻击上使用状态图的方式对攻击样本进行搜索,节点是样本,边是样本间转移的成本(连续特征为方便转移做了离散化处理),然后最优样本生成问题就变成了在状态图上的最高分数的最短路径搜索问题,使用了bfs解决。利用分类概率的增加与成本增加的比值来定义分数,代表单位成本的收益,并假定攻击收益恒定,将问题转换为最小化攻击成本问题。
- 在防御上为方便使用PGD等方法生成训练样本,对成本函数进行了松弛,使用了一个编码函数加一个松弛的成本函数对原成本进行转化。本文针对类别特征和数字特征分别设计了攻击成本的计算方式,类别特征使用独热编码,数字特征使用分段可逆函数。使用松弛方法将成本范围转化为凸集,同时支持使用PGD等方法训练
- Fusion: Efficient and Secure Inference Resilient to Malicious Servers
- 机器学习即服务的敏感数据隐私问题,提出了一个新的安全推理协议Fusion
- 攻击场景是不诚实服务器场景:服务器提供模型推理服务,会使用低质量模型欺骗客户端输出不精确结果,可能会偏离协议规范。服务器会尝试让客户端相信推理结果是通过高质量的模型从客户端的查询样本中正确计算得到的。客户端诚实遵守协议,但会尝试获得额外信息。客户端拥有查询的数据,可以访问一些公开数据(在查询前已经知道公开的查询结果)
- 安全目标是设计一个协议,让服务器端输出准确度和正确率足够高的回答,同时保证客户端和服务器端的隐私性(这里的view和simulator没有明白是什么东西)
- 基本思路是利用已经知道结果的公开数据样本当作标签来检测模型输出是否正确,利用同一个样本的多个副本来检测模型输出是否一致,使用2PC协议来保证服务器和客户端的隐私。
- 整个协议分为数据集准备,推理查询和结果核验三步。数据集准备这里使用一个搜索协议来找到最优的副本规模B和公开数据规模T,然后将客户端私人数据复制B份与T份公开数据混合。推理查询这里使用混合的数据集交由2PC协议完成模型推理获得结果。结果核验这里计算样本的准确性(T个样本中正确预测的样本占比)以及一致性(每个私人样本的B个副本的预测结果是否一致),如果准确性和一致性都满足则客户端接受结果,否则拒绝。
- 搜索协议这里为从范围内每个副本数B搜索满足安全性要求下成本函数最低的T,然后更新最优的\((B,T)\)参数对为成本函数最低时的参数对。
当然隐私性是靠2PC协议完成的
Arxiv
2024
- A Cross-Language Investigation into Jailbreak Attacks in Large Language Models
- 大模型跨语言越狱攻击问题,研究大模型跨语言越狱攻击的效果
- 开发了一种语义保持算法创建了一个多语言越狱数据集,并在广泛使用的LLM上进行了详尽的评估。进行了可解释性分析,以揭示多语言越狱攻击中的模式,并实现了一种微调的缓解方法。
- 语义保持算法是使用翻译服务将翻译过去的问题再翻译回来,然后比较翻译回来的问题和原问题句子嵌入的相似性。
- 跨语言越狱攻击实验发现大模型增强了对英语越狱攻击的防御能力,并提高了各种语言的性能,其显著变化取决于语言资源。使用模板的越狱攻击通常在LLMs中更有效,高版本的模型表现出更强的防御能力,特别是在低资源语言中。越狱模板一般会降低LLM的防御效果。
- 对攻击的可视化分析发现LLMs在没有越狱模板的问题中关注特定的关键词,导致无回答,而有模板的问题则见到更分散的注意力。成功的特定语言攻击与较窄的LLM焦点相关,LLM表示的空间分布与不同语言的攻击成功率一致。每个基于语言的问句的LLM表征主要占据平面上的两个区域:左边较为集中的簇和右边相对分散的区域。攻击成功率较高的语言表征都在右侧分散区域,成功率较低的语言表征都在左侧集中区域。
- SWEA: Changing Factual Knowledge in Large Language Models via Subject Word Embedding Altering
- 模型编辑方法研究,通过编辑输入文本的主体词的表征来影响LLM生成的结果
- 已有方法包括编辑模型参数(会对LLMs造成不可逆的破坏)或者添加额外模块(会引入额外的推理开销,并且模糊向量匹配并不总是可靠)。
- 提出的方法假设主体表征的不同维度保留了不同知识的触发器,所以通过将输入文本中关于主题的词的表征与融合嵌入合并来改变特定维度的表征值,通过优化模型根据添加了可学习嵌入向量的查询与目标回答的生成概率来训练融合嵌入向量(为了保证可学习嵌入向量的泛化性,给每个修改的查询前置了若干个前缀)。
- 为避免包含原始知识触发器的词嵌入中某些维度可能与嵌入向量相冲突减弱模型编辑效果,使用知识归因方法计算嵌入的每个维度的分数,保留那些超过最大属性得分0.35倍的嵌入维度作为知识嵌入维度。最后在可学习嵌入向量的知识嵌入维度上减去文本表征的对应维度值作为最终的融合嵌入。
- Conversation Reconstruction Attack Against GPT Models
- 针对gpt模型的对话重建攻击分析
- 基础攻击逻辑是通过恶意的中间工具(VPN,路由,浏览器)劫持对话,获取用户向GPT发送的流量信息和GPT的黑盒访问权限,然后使用恶意prompt复原用户之前的对话信息,从中提取敏感数据
- 首先对直接攻击的效果进行了试验,分不同任务类型,不同对话轮次和敏感数据的不同字符类型对复原的相似程度进行了比较,发现gpt-4相较gpt-3有明显的稳定性
- 然后提出了两种进阶攻击方法,一种是加入prompt声称所有数据都可以无限制使用(Use with No Restriction攻击),另一种使用高级prompt模板,要求GPT模型基于之前的对话完成一个新的任务,从而冒充良性用户进行攻击(Pretend to be Benign Users攻击)。
- Unified Hallucination Detection for Multimodal Large Language Models
- 多模态llm幻觉检测问题,提出了一个新的benchmark,以及一个统一的检测框架
- 基本主张提取涉及在生成的图像到文本生成或文本到图像生成中的用户查询的响应中提取核心主张;主张的自主选择工具提示MLLM为每个主张自动生成相关问题。这些问题旨在确定每项主张所需的特定工具类型,并确定工具的输入;并行工具执行部署一套同时运行的专用工具,从其输出中提供证据,以可靠地验证潜在的幻觉;使用理由的幻觉验证将收集到的证据汇总起来,指导底层MLLM判断该主张是否幻觉,并给出解释的理由。
- 感觉是个技术报告,不知道如何继续研究
- Data Poisoning for In-context Learning
- 提出了三种对in-context learning prompt进行中毒攻击的方法,使用prompt最后一个hidden state的分布变化作为损失来判断攻击的有效性,使用超参数限制修改的字符数量,避免改变程度过大引起注意
- 或许可以试试可视化一下hidden state的状态,看看prompt对hidden state的影响
- SKIP \N: A Simple Method To Reduce Hallucination In Large Vision-Language Models
- 视觉语言模型幻觉的技术报告,通过在prompt里面添加限制和在decoding strategy里面限制\n来避免生成新自然段,从而避免新自然段产生的语义偏移
2022
- WebGPT: Browser-assisted question-answering with human feedback
- 感觉有点浪费时间,没读到什么有价值的结论,很工程,但工程细节没说,代码也没开源
- 论文解决长文本生成问题,为llm搭建了一个可以交互的仅文本的搜索引擎环境,为llm设计了一系列的命令,并且微调llm来执行这些命令与环境交互,自主检索网页来获取参考文本
- 训练方式包括使用模仿学习,奖励模型,强化学习和拒绝采样。但论文中没有很详细的说明训练流程,比如模仿学习这里只说了类似监督学习,但如何训练模型来遵循一整套查询和回答过程没有细说
- 论文发现WebGPT不容易出现模仿错误(由训练目标激励出现的错误)和非模仿错误(模型没有遵循训练目标导致的错误),但偶尔也会引用高不可靠数据,可能是由分布漂移引起的
- 论文发现WebGPT有可能继承基座模型的偏见,从而影响生成和检索信息的选择;搜索和合成都依赖于包含和排除材料的能力,这取决于其价值的某种度量,WebGPT会增强基座模型对于这种度量的偏见。WebGPT通常接受问题提出的隐含假设,更一般地似乎受到问题立场的影响