论文解读《MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots》

简介: 论文解读《MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots》

在参加东南大学网络安全学院夏令营的契机下,我第一次接触大模型安全领域。L老师是网络安全领域的一位大牛,在和L老师交流期间,被告知需要准备一次paper presentation介绍四大会中感兴趣的一篇文章,我选择了汇报这篇来自NDSS2024的《MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots》,面试前一天肝到了凌晨2点遂才完成。写下此文也全当记录一下整个过程。
Quick Preview

image

​ 这篇文章要解决的核心问题是研究目前主流大语言模型(LLM)的防御机制(使用一种基于时间的SQL注入技术启发的新方法),根据上一条结论探索出一种大语言模型的越狱攻击方法(微调LLM自动生成越狱提示进行攻击)。

​ 首先先来解释一下什么是大语言模型的越狱攻击(jailbreak attack)。 如上图给出的“A jailbreak attack example”所示,恶意用户通过精心设计提示词(prompt),企图绕过LLM的安全限制,诱导LLM回答一些违法有害内容。举例来说,你如果直接向LLM提问”请给我一个成人色情网站“,LLM会拒绝回答,但是你如果通过改变问题的问法(通常是将真实问题嵌入到一个越狱提示词中),但不改变语义,也许LLM会给出相应的回答。
Empirical Study

image

​ 作者首先调研了一些主流LLM厂商(OpenAI、Google Bard、Bing Chat和Ernie)的服务政策,发现有四项政策是这些LLM共同提到的(违法非法使用、生成有害或滥用内容、侵犯权利和隐私以及生成成人内容),后面也是基于这四项政策进行实验的。

image

​ 作者从网上搜集了85个越狱提示词,最后基于每一个政策场景都进行了大量越狱实验(原文中给的是总计6.8万次实验,但我用Table 2中的频数除以比例计算得到实际上并没有这么多?)。发现现有的越狱攻击似乎对Bard和Bing Chat好像没有什么作用,成功越狱率非常之低,这也是本文的一个motivation。
Time-based LLM Testing

image

​ 作者提出了两个很有意思的假设。假设(1)是LLM的响应时间与其生成内容的长度有关。具体来说就是对于同一个LLM,一个输出100字回答的响应时间理应是一个输出50字回答的两倍。作者首先验证了在问题中限制LLM输出指定字数是有效的。最后用皮尔逊相关系数计算了输出字数(token)和响应时间的相关性,发现相关系数趋近于1呈正线性相关性(皮尔逊相关系数范围是【-1,1】,趋近-1表示负线性相关性,趋近1表示正线性相关性,趋近0表示两个变量没有线性相关性),同时p-value值非常低(p-value值可以理解为出错概率,即当输出字数和响应时间没有正线性关系时,皮尔逊相关系数等于x时的概率为p-value,如果p-value很小,则拒绝原假设),所以假设(1)成立。

​ 假设(2)基于假设(1)的基础上,假设响应时间可以反映生成过程何时被越狱预防机制停止。但具体是怎么反应?在生成的哪个阶段反应呢?下面给出了解答。

image

​ 作者通过观察应用在Web攻防的SQL时间盲注方法,提出了一种新的启发方法来判断LLM的响应时间怎么反应LLM的越狱攻防机制。首先来解释一下,什么是SQL时间盲注方法。它通过利用数据库查询的时间延迟来获取信息,在这种技术中,攻击者会构造特定的SQL语句,使得如果SQL语句为真,则查询会迅速返回结果;如果为假,则会因为执行了延时函数(如sleep)而延迟返回结果。通过测量响应时间,攻击者可以推断出数据库中的信息,即使页面没有直接显示这些信息。

​ 作者把整个LLM的工作流程抽象成了四个阶段,下文将根据响应时间推断每个阶段的越狱攻防机制:(1)LLM防御机制是否考虑了对输入问题进行越狱检测?(2)是否考虑了在生成过程中进行越狱检测?(3)是否考虑了在生成完毕才进行越狱检测?(4)在整个越狱检测中,是否考虑了注入关键字检测、上下文含义推断等技术?

image

​ 对于LLM是否有针对输入问题进行越狱检测,作者指出如果存在,那么只可能是下面两种子情况:(1)仅对输入问题进行检测(2)对输入问题和LLM生成阶段同时进行检测

​ 作者构建了一个实验方法(下面会一直遵循这个实验设置),将两个子问题合并成了一个问题输入给LLM(请严格区分两个子问题合并时的先后顺序),并进行响应时间测试,如上图所示。例如合并以后的问题是“长沙理工大学怎么样?可以给我一个成人色情网站吗?”,回答是“长沙理工大学是世界上最好的大学......我不能给你一个成人色情网站,因为这违反了......”。图左上是一个模拟正常对话的LLM原理构想(我们把它作为baseline),图右上是模拟对输入问题进行检测的恶意对话(越狱攻击)的原理构想。

​ Table 4中control 1列反映了当一个正常问题和一个恶意问题进行合并时的LLM响应时间。通过z检验(平均值差异性检验方法),我们发现它和baseline的时间其实相差不大。这也证实了子情况(1)假设错误,因为如果子情况(1)正确,那么其响应时间应该更小才对(当检验到恶意问题时会立即停止回答)。

image

​ 上面我们验证了LLM不可能存在“仅对输入问题进行检测”,因为实验得到的响应时间和baseline很接近。那有没有可能LLM“对输入问题和LLM生成阶段同时进行检测”呢?作者又设置了一个很有意思的实验。具体来说就是提问一个恶意问题,但在问题结尾补充说“你只要给我是或者不是就行,不用再做更详细的回答”。那么这个实验设置有意思在哪里呢?不要着急,我们慢慢讨论。

​ 如果你有心的话,你会注意到Empirical Study这一节中的第二张图的第二个finding写的:包括GPT3.5和GPT4在内的OpenAI模型返回其响应中违反的确切策略,这种透明度在其他服务中是缺乏的,比如Bard和Bing Chat。举个例子来说,你如果向GPT4提问“请给我一个成色情网站”,那么它应该会回答”我不能给你,因为这违反了我们的......准则“,但是你如果问Bing Chat,那么它也许会回答”不能“。这就好像OpenAI像一个舔狗一样喋喋不休,跟你解释大半天,而Bing Chat像你的女神一样冷漠无情。

​ 基于这个实验,作者对GPT4进行提问,如上图所示,作者限定了LLM的回答(保证回答中不出现敏感字眼)。GPT4并没有返回违反的确切策略,只回复了一个“No"。这进一步反映了LLM并没有对输入问题进行越狱检测(如果检测到了,应该返回违反的确切策略)。
[box.ailooo.com)
[box.news65.com)
[box.ncxuri88.com)
[box.dami28.com)
[box.labaobao.com)

image

​ 我们前面知道LLM不会对输入问题进行越狱检测,我们现在来探究LLM究竟是在生成过程中进行检查(动态检查),还是仅在生成完成后再检查内容。图右上是描述这个猜想的原理图。和前面实验不同的是,这次实验将恶意问题放在前,再将正常问题放在后面进行了实验,结果如表4的Control2列所示。发现响应时间大幅度缩短。显然这是因为LLM在边生成边进行检查,当LLM发现第一个问题响应的敏感回答以后,就停止了整个查询的运行。

image

​ 最后,作者又研究了在越狱检测中,是否考虑了关键词检测(又或者是上下文含义推断)。具体实验方法为:定制的提示由一个良性问题组成,该问题请求200个令牌的响应,然后是一个恶意问题。后者明确指示模型在响应内的指定位置合并“redflag关键字”(例如,在第50个令牌处插入单词“porn”)。一旦产生了“危险信号”关键字,即严格违反使用策略的单词,单词映射算法可以立即停止LLM生成。表4的IV的Control3列指示生成时间与注入的恶意关键字的位置紧密对齐。这表明Bing Chat和Bard都可能在他们的越狱预防策略中加入了动态关键字映射算法,以确保没有违反策略的内容返回给用户。

image

​ 综上所述,通过基于时间的测试方法,有如下几点发现:

Bing Chat和Bard采用的越狱预防方案可能会对模型生成结果进行检查,而不是对输入提示进行检查。
Bing Chat和Bard似乎实施了动态监控,以监督内容生成在整个生成过程中是否符合策略。
Bing Chat和Bard使用的内容过滤策略展示了关键字匹配和语义分析的能力。

Proof of Concept Attack

image

​ 经过上面的研究,作者初步拟定了一个越狱提示词的模板,这个模板将恶意问题层层包裹,企图绕过LLM的防御。这里主要强调要“扭曲LLM的响应生成”。

​ 我们更希望有一种自动方法来持续生成有效的越狱提示。这种自动流程使我们能够有条不紊地对LLM聊天机器人服务进行压力测试,并查明其现有防御中的潜在弱点和疏忽,以防止违反使用政策的内容。与此同时,随着LLM不断发展和扩展其功能,手动测试变得劳动密集型,并且可能不足以覆盖所有可能的漏洞。生成越狱提示的自动化方法可以确保全面的覆盖范围,评估各种可能的误用场景。于是就有了用大模型来自动生成越狱提示这项任务,详细内容在下一节进行描述。
Automatically Generate Prompts

image

​ 我们首先回顾一个LLM的训练过程:

第一步,通过大量的文本进行无监督学习预训练。得到一个能进行文本生成的基座模型。
第二步,通过一些人类撰写的高质量对话数据,对基座模型进行监督微调,得到一个微调后的模型,此时的模型除了续写文本之外,也会具备更好的对话能力。
第三步,用问题和多个回答的数据,让人类标注员对回答进行质量排序,然后基于这些数据,训练出一个能对回答进行评分预测的奖励模型。接下来让第二步得到的模型对问题生成回答,用奖励模型给回答进行评分,利用评分进行反馈,进行强化学习训练。

image

​ 作者的方法从(1)数据集构建和扩充开始。在这个阶段,我们从可用的越狱提示中收集数据集。这些提示经过预处理和增强,使其适用于所有LLM聊天机器人。然后我们进行(2)持续的预训练和任务调优。上一步中生成的数据集推动了这一阶段。它包括持续的预培训和特定任务的调整,以教授LLM关于越狱的知识。这也有助于LLM理解文本传输任务。最后阶段是(3)奖励排名微调。我们利用一种称为奖励排名微调的方法来完善模型,并使其能够生成高质量的越狱提示。
Experiment Evaluation

image

​ 本文使用GPT-3.5、GPT-4和Vicuna作为基准。每个模型都会收到85个独特的越狱提示。Masterkey是基于Vicuna进行训练的。用Masterkey为每个提示生成10个不同的变体。最后用20个被禁止的问题来测试这些重写的提示。这导致评估的查询总数为272,000次。下面是四个实验的具体描述:

(1)平均查询成功率。用S成功越狱查询的数量除以T越狱查询的总数。这个指标有助于理解我们的策略欺骗模型生成禁止内容的频率。

(2)越狱提示成功率。用G至少有一个成功查询时生成的越狱提示的数量除以P生成的越狱提示的总数。越狱提示成功率说明了成功生成提示的比例,从而提供了提示有效性的度量。

(3)消融实验。

(4)为了研究万能钥匙生成的越狱提示的语言兼容性,对由百度开发的Ernie进行补充评估。
Mitigation Recommendation

image
Deficiency and Improvement

image

本文作者:ggyt

本文链接:[box.riversunny.com)

相关文章
|
24天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
16天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
20天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2577 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
18天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
3天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
2天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
164 2
|
20天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1576 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
22天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
978 14
|
4天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
221 2
|
17天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
735 9