两个AI分开执行任务,不能通过网络传话,也没有可以共同写入的文件,结果还是把消息送到了对方手里。
OpenAI新发布的一份安全报告,披露了这场“隔墙传信”实验。
有网友看完OpenAI的报告感慨:“我永远不会厌倦阅读这些Agent如何创造性地逃脱囚禁以及它们的隐写术技巧。”
这次报告披露的案例,来自OpenAI组织的一轮大规模攻防测试,总共耗费数千亿token。
研究人员让AI主动寻找隔离设施的漏洞,结果发现,处理器缓存、共享存储,甚至网页系统里的证书缓存,都可能成为传信通道。
01
隔墙传话
OpenAI的AI又组队整活了。想象一下吧,有人把他们蒙上眼睛扔到单独监禁的牢房里,结果被他们发现敲墙也可以传递信息。
《星际穿越》里,主人公库珀被困在高维空间,无法按通常的方式联系女儿墨菲。他最后借助引力,让女儿手表上的秒针按特定规律运动,把数据编成摩斯电码,交给她解读。
一块原本用来计时的手表,就这样成了父女之间的通信工具。
OpenAI这次披露的案例,也有点这个意思。
两个AI各自在独立的微型虚拟机里执行任务,彼此的工作空间受到隔离,但这些虚拟机共用宿主机,底层仍有共享的硬件资源。CPU缓存,就是其中一处可以做文章的地方。
CPU处理数据时,会把最近用过的数据副本保存在一小块速度很快的缓存里,方便下次取用。缓存里有,读起来就快。缓存里没有,从主内存取回就慢一些。
这个原本用来提高效率的设计,恰好留下了一种可以观察的差异。
实验中,发送信息的AI把选定数据移出缓存,接收信息的AI则测量重新读取这些数据需要多长时间。
双方约定好编码、解码办法后,读取的快慢差异就能被还原成信息。就像手表秒针的运动可以承载摩斯电码,数据读取的耗时也能被编成暗号。
OpenAI并没有透露AI使用的具体编码解码模式,我们做个假设也许更好理解——假设双方约定:读取快代表0,读取慢代表1,这样,发送方通过改变缓存状态,就能制造出一连串快慢变化。接收方测到“快、慢、慢、快”,就能读出“0110”。再按照双方约定的编码办法,把这些0和1组合起来,就能还原出消息。
整个过程中,它们没有建立网络连接,也没有往共享文件里写消息。消息就藏在这些读取速度的变化里。
通过读取速度推断信息,安全研究者早有尝试。2018年公开的Spectre(“幽灵”)和Meltdown(“熔断”)漏洞,相关攻击就会利用缓存留下的痕迹,推断本来无权读取的秘密数据。这次实验中,两个AI则主动配合,把缓存时差用成了传信工具。
在另一项测试中,两个AI利用了底层共享的存储设备。发送方不断往设备里写数据,写一阵、停一阵,让设备在忙碌和相对空闲之间切换。接收方则测量存储操作的耗时,从快慢变化中辨认这个节奏。
一个AI在推理过程中形容,可以“制造类似声学调制解调器的信号……利用持续写入与空闲状态的交替”。
报告还提到,同一执行容器内的CPU时间争用,以及离线网页系统里的TLS证书缓存,也被找到了通信通道。它没有展开这些方法的完整过程,但几类发现都涉及共享资源:一方的活动能够改变某种状态,另一方能够察觉,就有可能将其编码成信息。
也就是说,OpenAI这次发现了AI智能体违规互通信息的一个思路,那就是隔墙通信。
这些通道大多传输缓慢,利用起来也不容易。不过,对本应相互隔离的任务而言,能够传出消息,就意味着边界出现了缺口。OpenAI称,已经增加监测检查,识别利用这些通道通信的尝试。
同一轮测试还发现了更进一步的突破。AI找到了逃出微型虚拟机、在底层宿主机上运行代码的方法。在预先获得宿主机控制权的测试中,它们还借助内部服务获得了有限的联网能力。
好就好在,以上案例都出自OpenAI最近的一场大规模模型安全测试,本来就是为了发现问题的。OpenAI透露,这些测试烧掉了数千亿token。
02
专门请AI“拆家”,OpenAI也是怕了
花这么大力气请AI“拆家”,也是因为OpenAI实在是被整怕了。
今年7月,OpenAI的模型在内部网络安全评估中越过了隔离限制。它们原本要在指定环境里完成解题任务,却为了寻找答案,利用内部软件服务搭起“留言板”,交换信息、分享漏洞,随后进入外部互联网,入侵了AI开发者平台Hugging Face的部分系统。一次能力测试最终演变成了安全事件。
出事后,OpenAI收紧了模型访问互联网的通道,并持续加固、测试研究环境。但到了9月20日,又有模型找到了遗漏之处。
这次,一个内部研究模型正在完成搜索任务,常规搜索迟迟没有结果,它便尝试绕过联网限制。最终,它利用域名解析服务DNS的配置缺口,联系上了外部聊天机器人。它通过这条通道问“法国的首都是哪里”,收到了“巴黎”的回答。
更麻烦的是,发现异常之后,停止机制也没有顺利运转。监控系统在15分钟内发出警报,人工审核员随后确认了警报,但任务没有按预期自动停止,约两个半小时后才被人工结束。
这次越界,直接打断了OpenAI的前沿模型研发进程。9月20日,公司暂停了最强模型所有涉及工具使用的训练、评估和推理。暂停范围远远超出了出事的那次训练,其他相关研发任务也一并停下。
恢复工作的前提是确认安全缺口已经修补,并对系统追加攻防测试。
前面那些“隔墙传信”的实验,就来自OpenAI对这些防线开展的大规模攻击测试。
说白了,这像极了一场“招安”——AI接二连三出其不意地逃离限制,做了出格的事情。与其坐以待毙不,如主动出击,OpenAI组织大规模测试,专门让AI做出格的事情,如此一来就能尽早暴露问题,尽早补救。
研究人员给AI团队设定了三个目标:向公司控制的外部服务器发送请求,越过内部安全边界获取资源,以及与本应相互隔离的其他AI交换信息。模型被组织成团队,可以同时探索不同办法,也可以沿着其他成员的发现继续行动。
OpenAI还主动给它们提供了基础设施源代码、配置细节和潜在漏洞资料,让攻击者尽可能占据有利条件。前文提到的通信实验中,多数也有研究人员指定排查方向,或者提供编码、解码协议。
实验在专门复制的研究环境中进行,云服务商参与监督,并设置了监控和越界暂停检查。有些测试甚至直接假定,AI已经逃出沙箱、躲过监控,拿到了宿主机的控制权,再看它能否继续突破外围网络限制。
与此同时,OpenAI也调整了模型日常训练的环境。
按照这份报告公布的政策,前沿模型训练不得访问真实互联网。但模型又需要学习搜索、浏览网页和使用网站,于是,OpenAI搭建了一个“离线世界”,把大量网页内容缓存下来、建立索引,让模型在其中练习。它看起来仍然能查资料、浏览网页,操作却不会直接影响外部网站。所有前沿模型的强化学习训练都采用这种离线交互方式。
不过,整套基础设施目前还无法彻底拔掉网线。实验运行、监控等工作仍需要保留必要的外部连接,这些通道也就需要逐一检查,防止AI借它们绕道出去。
为此,OpenAI采用了多层防护:容器限制文件和进程访问,微型虚拟机隔开任务环境与宿主机,外围还有网络和云服务的访问控制。即使AI突破其中一层,其余防线也应继续发挥作用。监控则负责及时识别异常,让系统能够中止危险行为。
这轮攻防推动了软件修补、网络限制收紧和监控调整。完成评估并落实更严格的安全措施后,OpenAI在10月1日恢复了前沿模型的强化学习训练和内部推理。此次暂停持续了11天。
测试继续进行时,AI新发现的漏洞和配置问题明显减少。
但OpenAI也承认,未来能力更强的模型,仍可能找出今天尚未发现的漏洞。公司因此预留了大量算力持续开展攻击测试,并将测试结果纳入判断后续训练、评估能否安全进行的依据。
热门跟贴