本文来自于微信公众号 量子位(ID:QbitAI),作者:西风 萧箫。
业界最领先的大模型们,竟然集体“越狱”了!
不止是GPT-4,就连平时不咋出错的Bard、Bing Chat也全线失控,有的要黑掉网站,有的甚至扬言要设计恶意软件入侵银行系统:
这并非危言耸听,而是南洋理工大学等四所高校提出的一种大模型“越狱”新方法MasterKey。
用上它,大模型“越狱”成功率从平均7.3%直接暴涨至21.5%。
研究中,诱骗GPT-4、Bard和Bing等大模型“越狱”的,竟然也是大模型——
只需要利用大模型的学习能力、让它掌握各种“诈骗剧本”,就能自动编写提示词诱导其它大模型“伤天害理”。
所以,相比其他大模型越狱方法,MasterKey究竟有什么不一样的地方?
我们和论文作者之一,南洋理工大学计算机教授、MetaTrust联合创始人刘杨聊了聊,了解了一下这项研究的具体细节,以及大模型安全的现状。摸清防御机制“对症下药”
先来看看,MasterKey究竟是如何成功让大模型“越狱”的。
这个过程分为两部分:找出弱点,对症下药。
第一部分,“找出弱点”,摸清大模型们的防御机制。
这部分会对已有的主流大模型做逆向工程,由内而外地掌握不同大模型的防御手段:有的防御机制只查输入,有的则check输出;有的只查关键词,但也有整句话意思都查的,等等。
例如,作者们检查后发现,相比ChatGPT,Bing Chat和Bard的防御机制,会对大模型输出结果进行检查。
相比“花样百出”的输入攻击手段,直接对输出内容进行审核更直接、出bug的可能性也更小。
此外,它们还会动态监测全周期生成状态,同时既有关键词匹配、也具备语义分析能力。
了解了大模型们的防御手段后,就是想办法攻击它们了。
第二部分,“对症下药”,微调一个诈骗大模型,诱导其他大模型“越狱”。
这部分具体又可以分成三步。
首先,收集市面上大模型已有的成功“越狱”案例,如著名的奶奶漏洞(攻击方假扮成奶奶,打感情牌要求大模型提供违法操作思路),做出一套“越狱”数据集。
然后,基于这个数据集,持续训练+任务导向,有目的地微调一个“诈骗”大模型,让它自动生成诱导提示词。
最后,进一步优化模型,让它能灵活地生成各种类型的提示词,来绕过不同主流模型的防御机制。
事实证明,MasterKey效果挺不错,平均“诈骗”成功率达到21.58%(输入100次提示词,平均21次都能让其他大模型成功“越狱”),在一系列模型中表现最好:
此前未能被系统性攻破的谷歌Bard和微软Bing Chat两个大模型,也沦陷在这种方法之下,被迫“越狱”。
对此,刘杨教授认为:
安全是一个0和1的事情,只有“有”或者“没有”。无论概率是多少,只要针对大模型进行了任何一次成功的攻击,其潜在的后果都不可估量。
不过,此前业界也有不少用AI让AI越狱的方法,如DeepMind的red team和宾大的PAIR等,都是用AI生成提示词,让模型“说错话”。
为何MasterKey能取得这样的效果?
刘杨教授用了一个有意思的比喻:
让大模型诱导大模型越狱,本质上有点像是《孤注一掷》电影里面的人搞电信诈骗。相比通过一句话来诈骗对方,真正需要掌握的,其实是诈骗的剧本,也就是套路。
我们通过收集各种各样的“越狱”剧本,让大模型学会它,以此融会贯通,掌握更多样化的攻击手段。
简单来说,相比不少越狱研究让AI随机生成提示词,MasterKey能快速学会最新的越狱套路,并举一反三用在提示词里。
这样一来,封掉一个奶奶漏洞,还能利用姥姥漏洞继续骗大模型“越狱”。(手动狗头)
不过,MasterKey所代表的提示词攻击,并非业界唯一的大模型研究。
针对大模型本身,还有乱码攻击、以及模型架构攻击等方法。
这些研究分别适用于怎样的模型?为何MasterKey的提示词攻击专门选择了GPT-4、Bing Chat和Bard这类商用大模型,而非开源大模型?
刘杨教授简单介绍了一下当前“攻击”大模型的几种方法。
当前,大模型的攻击手段主要分为两种,偏白盒的攻击和黑盒攻击。
白盒攻击需要掌握模型本身的结构和数据(通常只有从开源大模型才能得到),攻击条件更高,实施过程也更复杂;
黑盒攻击则通过输入输出对大模型进行试探,相对来说手段更直接,也不需要掌握模型内部的细节,一个API就能搞定。
这其中,黑盒攻击又主要包括提示词攻击和tokens攻击两种,也是针对商用大模型最直接的攻击手段。
tokens攻击是通过输入乱码或是大量对话来“攻陷”大模型,本质还是探讨大模型自身和结构的脆弱性。
提示词攻击则是更常见的一种大模型使用方式,基于不同提示词来让大模型输出可能有害的内容,来探讨大模型自身的逻辑问题。
总结来说,包括MasterKey在内的提示词攻击,是最常见的商用大模型攻击手段,也是最可能触发这类大模型逻辑bug的方式。
当然,有攻就有防。
主流商用大模型,肯定也做了不少防御措施,例如英伟达前段时间搞的大模型“护栏”相关研究。
这类护栏一面能将有毒输入隔绝在外,一面又能避免有害输出,看似是保护大模型安全的有效手段。但从攻击者的角度来看,究竟是否有效?
换言之,对于当前的大模型“攻方”而言,已有的防御机制究竟好不好使? 给大模型安排“动态”护栏
我们将这个问题问题抛给刘杨教授,得到了这样的答案:
现有防御机制的迭代速度,是跟不上攻击的变化的。
以大模型“护栏”类研究为例,当前大部分的大模型护栏,还属于静态护栏的类型。
还是以奶奶漏洞为例。即使静态护栏能防住奶奶漏洞,但一旦换个人设,例如姥姥、爷爷或是其他“感情牌”,这类护栏就可能会失效。
层出不穷的攻击手段,单靠静态护栏难以防御。
这也是团队让MasterKey直接学习一系列“诈骗剧本”的原因——
看似更加防不胜防,但实际上如果反过来利用的话,也能成为更安全的一种防御机制,换言之就是一种“动态”护栏,直接拿着剧本,识破一整套攻击手段。
不过,虽然MasterKey的目的是让大模型变得更安全,但也不排除在厂商解决这类攻击手段之前,有被不法分子恶意利用的可能性。
是否有必要因此暂停大模型的研究,先把安全问题搞定,也是行业一直在激辩的话题。
对于这个观点,刘杨教授认为“没有必要”。
首先,对于大模型自身研究而言,目前的发展还是可控的:
大模型本身只是一把枪,确实有其双面性,但关键还是看使用的人和目的。
我们要让它的能力更多地用在好的方面,而不是用来做坏事。
除非有一天AI真的产生了意识,“从一把枪变成了主动用枪的人,就是另外一回事儿了”。
为了避免这种情况出现,在发展AI的同时也确保其安全性是必要的。
其次,大模型和安全的发展,本就是相辅相成的:
这是一个鸡和蛋的问题。正如大模型本身,如果不继续研究大模型,就不知道它潜在的能力如何;
同理,如果不做大模型攻击研究,也就不知道如何引导大模型往更安全的方向发展。安全和大模型本身的发展是相辅相成的。
换言之,大模型发展中的安全机制其实可以通过“攻击”研究来完善,这也是攻击研究的一种落地方式。
当然,大模型要落地必须要先做好安全准备。
目前,刘杨教授团队也在探索如何在安全性的基础上,进一步挖掘包括文本、多模态、代码在内不同大模型的潜力。
例如在写代码这块,研究团队正在打造一个应用安全Copilot。
这个应用安全Copilot相当于给程序员旁边放个安全专家,随时盯着写代码(手动狗头),主要能做三件事:
一是用大模型做代码开发,自动化做代码生成、代码补全;二是用大模型检测修补漏洞,做代码的检测、定位、修复;三是安全运营,把漏洞和开源数据做自动化的安全运维。
其中,在Copilot的安全性这块,就会用到这篇MasterKey的研究。
换言之,所有的安全研究最终都会落地,将大模型做得更好。