就是很高兴有这次机会能在Defconn跟大家近期次交流跟大家聊一下就是我一直研究的AI安全这个领域就是上厕所的同学们不用着急慢慢来这个PVT时间比较久下面就是简单介绍一下我们的团队我们是属于百度安全部下面的安全实验室然后我这个team主要是研究是AI安全相关的一些领域包括AI模型的工房以及AI模型的一些保护之类的然后我们整个百度安全开源了很多开源软件这里主要列的其中比较重要的几个一个是这次介绍到的ADVBOX它其实是一个AI安全模型的一个工具箱刚才马总介绍的就是可以隐身的T序包括我们后面讲的换脸之类的都是基于这个工具箱去做的有兴趣的同学可以去下载这工具箱去玩主流的深度学习模型应该都支持而且还是唯一支持PIDO的一个AI模型工具箱试下来是MESA LOCK 还有MESA LINK另外一个还有就是现在用的比较多的OPEN RUST也是我们这个团队开发的它的项目隐医是一个下一代的WAF隐形咱们简单介绍一下我自己就是我ID其实叫兜哥证明叫刘彥当时取这个名字主要想法主要是一个朴素的认识就是哥大的女生嫁了都比较好然后是叫哥的男生混了都还行所以给自己取了个ID叫兜哥然后我是AI模型团队的负责人之前研究比较多是外版安全然后这几年的时候研究AI安全相关一些领域然后对自己的评价是一个比较勤奋的作者写过一些书 有兴趣同学可以看一下当然我们团队现在还在招聘如果有兴趣加入我们团队研究AI安全的话可以扫我的二维码今天我们讲的内容主要是如何以黑盒的形式攻击云端的AI的API怎么来理解这个问题呢就是我们知道早期的时候我们的AI模型都是在我们本地的比如说我们手机上最后有些AI模型做人脸的识别 云的识别但是训练一个模型以及运行一个模型它的消耗是比较大的所以说现在比较流行的方式是把我的AI模型直接放到云端这样子我大量的移动设备就可以使用它而且很多的开发者也可以直接使用我们的AI能力而不需要在本地部署一套AI的框架几个简单的例子比如说你的音箱你对音箱说的话它传的内容之类的或者是你开发了别的应用都可以调用云端的API进行解析可以解析图片中有什么样的内容图像片中有什么样的图像之类的这就是一个云端的AIAPI我们今天要介绍的是如何去攻击这个在云端的AI的API而且是以黑盒的方式大体的思路就是比如说我要把一个图片扔到云端进预测我在图片上面叠加上一定的扰动看是否能够欺骗这个云端的API举个例子比如说我正常情况下扔上去的是一个猫的图片它反回给我的是一个猫的概率比如说是0.99然后如果我在这个图片上精心地叠加一些扰动它就可能会变成别的东西比如说一个烤面包机这是大概的一个架构下面我们就简单介绍一下不同的攻击模式在攻击AI模型里面最简单的一种模式是白盒攻击所谓的白盒攻击就是我对整个AI模型都是了解的无论是它的网络架构甚至于是每层的参数我都是了解的并且我可以没有任何限制的访问它的输入这是很重要的一点所以说白盒攻击是相对蓝度低的稍微困难一点的就是所谓的黑盒攻击黑盒攻击首先我并不知道我攻击的模型是什么样子的我也不知道它的架构我刚然也不知道它的参数我唯一能够做的就是能够没有限制的访问它的输入当然这是一个比较框翻的条件我们后面可以介绍到的就是攻击云端的时候它其实也是一种特殊的黑盒攻击但是会更加困难困难点除了我并不知道模型本身的结构它的参数我甚至于还要遭受到未知的预处理过程比如说我任上去了一个图片它可能会被去造可能会被拉伸可能会被中间摳出来一个图这都是会发生的另外还有一个很重要的一点我在访问云端的时候是通过网络访问的所以说我对它的访问不可能以很大的频率我的QPS会受限制我累计调用的次数也会限制所以说攻击云端是非常困难的这会造成一个什么问题呢就是给我们一个错误的感觉以为就是我把模型如果放在云端会比放在本地安全很多似乎这也是符合逻辑的但我们在后面会证明这种错误的安全感它就存在顺便说一下刚才那个图就是我在访识摄像剂戴菲康还是哪个会议上看到的端老师介绍这个图他拿这个图的意思刚才说法就是作为一个知识分子它有义务接入社会的阴暗面当然这说的比较大对于我来说的话以作为一个安全工作者我们其实是有义务揭示漏洞的存在因为你只有揭示了漏洞的存在才能真正推动漏洞的去修复好 下面我们就介绍一下黑河攻击有哪一种形式由于是黑河我们对模型的结构不了解参数不了解所以说一个最自然的想法就是我们攻击它就只能通过不断的尝试所以说最简单的也是最常见的黑河攻击方式就是纪约查询的我们对整个模型的结构的了解完全来自于我的不停的攻击尝试或者说我不停的访问我在很多访问过程中不断地去了解这个模型的结构甚至于它的参数另外我攻击它的过程也要通过很多次查询才行所以说纪约查询的攻击有个特点就是我需要大量的查询来掌握我模型的结构一个简单例子比如说我要生成一个低分辨率的攻击图片有可能要几千次查询如果我要生成一个高分辨率的图片有可能我要十几万次甚至上百万次它能生成下面我们举了一个例子在一个论文里面它们成功了攻击它的概率达到95%但是每次平均要查询10万次才能达到这次攻击这其实带来两个问题一个是什么呢就是你的查询次数这么多但是云端的API会限制你查询的次数说你会特别慢你万一方面是什么会特别贵为什么呢因为每次查询其实都收费的通常可能是查询1000次说你10块或者是几块钱如果十几万次你攻击一张图片可能都要几百块钱所以说这种查询它是又慢而且是成本很高的如果你要攻击比如说1000或者是1万张照片大家可以想象到我会有多大的成本因此我们觉得这种基于查询的攻击方式它有比较大的缺陷一个是慢一个是成本高另外一种就是比较容易想到的是什么呢就是迁移学习或者迁移攻击这个普速的认识在于什么呢就是大量的开冤模型的结构它是相似的同样的一个攻击样本如果能攻击模型A它也会以一定的概率能够成功的攻击模型B这些就是迁移攻击的一个原理它的原理其实来自于迁移学习在基学性我认为就是在一个任务里面表现比较好的模型近为稍微的微调在其他的视觉任务尤其是接近的视觉任务里面表现也会比较好这可能说得比较抽象比如说我以前的模型是别的猫和狗比较给力那么我把它迁移去学习狗和猪它的成绩功率也会比较高这里在迁移攻击里面也是同样的原理如果我一越攻击样本攻击模型A的成功概率会比较高同样拿出样本是攻击结构相似的模型B它的成功概率也会比较高下面这个表格里面其实就列出了我们攻击的一个统计就是当宋教授他们一个统计这个绿点确实小了一点大家可以凑合来看树的这一列就是我当时说的模型A也就是我们手上已经拿到了开源模型我们针对树的这一列模型就会去生成我们的对抗样本横的那一列就是我们要将去攻击的模型其实大家可以看到我们手上拿的是五种攻击的也是五种斜的这一列我们可以看到这是我们所有的数值表明的就是我能够成功识别的概率这个概率越高表明我攻击越失败如果概率越低表明我攻击的越成功因为我攻击的目的是为了让你的模型识别错误大家可以看到我们写的这一列比如说第一列攻击的源是Restnet152目标也是152我攻击成功率接近于100%也就是我的识别率是0这点再次重申一下这个值越低表明你的攻击成功率越高大家可以看到如果是我的椅子模型和正好我被攻击的模型完全一样基本上就可以说是100%可以把攻击破但我们写着看也可以看到同样的是用Restnet152攻击别的模型识别率也很低这其实揭露了一点就是我们在做迁移学习或迁移攻击的时候模型的结构越接近其实我的攻击成功率也会越高但是迁移学习有个什么样的问题呢刚才大家可以看到我手上拿到了这些开源模型都是做图像分类的而且都是做的ImageNet那一千个分类事实上如果我是也是攻击这种图像分类也是攻击ImageNet这种我用同样的方式我的攻击成功率是很高的但是在事实的生活中比如说我要攻击的是一个图像审核或者是做了一个车辆审核的一个服务我手上基本上不可能拿到这么多的开源的模型去攻击所以这是迁移学习的一个弊端我手上必须能够掌握到足够多的开源模型来进行迁移攻击另外一点是什么呢虽然这个表格大家可以看到攻击成功率是比较高的但是在真的过程中其实可以发现别的模型的攻击的效率其实没这么高这个效果是一个比较经典的实验室效果也就是说迁移学习有很大的作用但在实际的工作中它确实会有一些的影响在里面下面就是提出了就是我们的一种攻击方式我们在比较理想的情况在于什么呢就是首先我是能够攻击云端的API另外一方面我希望我攻击的任务是可以随意去定制的比如说我既然既可以攻击猫和狗我也攻击你识别猫和猪我也可以识别宝马和奔驰我希望我攻击的任务是可以改变的当然细心的同学可以关照我们之前其实演讲的题目是攻击的另外一类图像识别但是在我国乐环境下我们得讲一些电视台能播的东西不能讲一些电视台不能播的东西所以说这次举的例子我们讲的是如何攻击图像识别中的识别猫和狗之类的其实用同样的方法我们也可以攻击车辆的识别还有别的图像的识别下面还是终点介绍一下我们这次攻击我们提出一种新的攻击方式这种方式首先我们是基于一种替身的学习另外一方面我们一个改进点对于替身模型的学习我们是基于一种2-DL的技术怎么来理解这个问题呢之前介绍到无论是基于查询的还是基于迁移的都有各种弊端比如说基于黑河攻击我要查询很多次基于迁移学习又得掌握足够多的功能相同的开源模型在实际的攻击中这两点其实都很难去满足一个很自然的想法是比如说如何去减少我攻击次数如果我本地本来就有一个跟云端类似的模型我直接攻击它就不得了吗我查询的速度就很少所以说就会有这种替身攻击的一种想法最早提出替身攻击的应该是18年过Final它会这个比较有名我们这个速度也借点它用替身攻击但是我们的改进点是在于我们替身模型的训练过程在他们的论文里面是需要大量的训练数据级但是在我们这边的话结果我们的实验我们其实只要拿到比如说100甚至只有50张图片就可以还原出一个功能基本上跟云端一样的一个模型了这得利于我们的L2DL技术相对于黑河查询需要几千次 几百次甚至几百万次的查询我们这个查询其实只用发生两次一次就是在打标的过程比如说我手上收集到足够的图片以后我会首先去云端进去查询它会告诉我这是猫还是狗这是第一次 就是打标的过程第二次就是我攻击的过程我用我生存的对抗样本直接攻击云端所以说平均每张图片其实我们只查询了两次另外一点的改进点接下来就是我们这个攻击有更大的普示性不依赖于你手上一定要掌握功能相同的开源模型刚才当然可以看到了比如说Imaginate我们都得完成了1000个分类的图像模型才可以但是比如说我们后面就要介绍了比如攻击猫和狗攻击宝马车这些图像是别没有这样目前手上是没有这种开源模型的但是基于我们这种技术也可以进行攻击这是我们相对于一般的迁移学习的一个优势好 下面就是介绍一下我们整个攻击过程攻击过程很简单就两步第一步替身模型的训练第二步深深对抗样本下面就是介绍一下我们如何选择比较好的替身模型万丈高楼平均一起但是我们还是要站在前人的肩膀上所以说我们用的是Imaginate预训练好的模型我们普速的理解在于什么呢就是如果这个模型本来在图像分类上表现的就比较好那么它在特征体选能力也比较强所以说在右边的这四种基本上都是可以选择的比如说从Restnight 152或者后面几个都是可以这四个其实功能类似大家可以随意选择我们选择中间的一个就是Restnight 152然后我们整个替身学习的过程也相对比较简单我们就把我们的攻击过程简化成个二分类的问题比如说猫或不是猫同样的你们也可以用比如说你要攻击一个图像分类其他是别的是约宝马和奔驰你就可以简化为是宝马或不是宝马简化它的问题就可以了另外因为我们是一个二分类问题所以说我们把我们的模型的输出改为二就可以了我们训练替身模型的时候是基于在Imaginate已经训练好的Restnight 152所以我们只要做微调就行了不过这点需要强调的在于就是我们整个模型的每一层都需要去微调常见的微调其实特征期许那一部分是不变的它只是为关心最后一个前连接那个层这里就是演示了一个正常的模型预测的过程比如说我把一个猫的图片扔到了神经网络里去它会输出了两个值一个是你是猫的概率另外一个是其他分类的概率正常情况下我们可以知道它应该是个猫而且概率是0.99在我们模型训练过程另外一点就是非常跟一般的替身学型不一样的地方就是我们并不是拿大量的图片去云端查询完以后才能在本地训练出一个模型我们其实只用拿我们的攻击样本就行了比如说我要拿我的50张猫的图片去圣神对抗样本那么我就只用拿这50张猫去训练就可以了而不会像别的训练方法得拿1000只猫和1000只狗才能在本地还原出一个完整的模型这是我们一个跟别人不一样的地方好 下面我们重点介绍就是我们整个训练的过程这里介绍其实是我们打标的过程首先我们先初始化我们的数据级我们解决的是一个猫或不是猫的问题所以说我们先拿的是一定数量的猫的图片另外一部分就是不是猫的图片可以是大象 可以猪 可以狗甚至是一辆汽车 都无所谓这样子我们就得到了一个初始化的数据级然后我们拿这个初始化的数据级去云端去查询云端会返回给我个结果它告诉我从云端的角度讲这是猫还不是猫所以说天然的我们就利用了这个结果把我们的图像进行标记所谓的标记就是把我们这个图像跟一个物体进行了关联这样子我们就完成了一个打标的过程打标的过程完成以后我们就得到了一个打标后的数据级SEP我们就利用这个打标后的数据在我们的本地还原出一个跟云端功能接近的模型这就是完成一个本地训练的过程这个公式确实看起来比较讨厌大家不用太关心我给大家介绍一下它想表明什么意思在一个神经网络里面通常会有很多参数从几十万 几百万 甚至上亿的参数都可能有一个被大家认为是一个公里的认为就是什么呢就是如果我的模型参数越少而且模型参数的大小越小那么我的鲁邦性就会越好为什么呢就是比如说为了鲁邦性就是在我的书有轻微变化的情况下不会太大的影响到我的预测的结果同样的如果是我的模型的参数本来就比较少而且比较小那么同样的扰动的情况下对我模型的干扰也会比较小所以说我的模型也会更加鲁邦这是一个大家一直这么认为的情况所以说我们这个公式的所表达的意思就是除了我们在训练这个模型率的时候我会用标签去训练它另外一方面我会去约束它让它的参数尽可能的小这个公式的最后一位其实表明就是我会去约束我模型参数的大小这个约束的方式呢或通常叫什么L2惩罚或者L1惩罚知道我所谓所谓L1惩罚其实就让我们模型每个参数的大小都会比较小希望模型的个数也尽可能少L2的话其实就是又从一个欧阶里得了距离来约束它这点它不用太去深究总的这个原理就是我们在训练的过程中加入了一个约束项加入约束项以后呢就能让我们模型的参数尽可能的小另外一点其实也就是我们L2DL在这块起到作用了一点其实我们用到的是L2DL里面的自动先移的一个功能这一个朴素的理解在于什么呢就是一个比较好的老板他不会最后工作的最后一天一个项目的最后一天才告诉你这个项目做得不好你要做什么改进一个比较好的老板会怎么做呢在一个项目中比较关键的时刻比如说在续修分析在开发到最后测试比较关键的几个时间点他会给你去看一下看你会不会去跑偏这是一个朴素的理解在我们神经网络训练的时候也会有这个问题怎么去理解它呢哎呀这个绿颜色点确实不太明显比如说在一个正常的训练模型的过程里面我只会关心你模型的输出跟我希望的预测值的偏差比如说一个猫进去你可能预测是狗我会告诉你一个模型你老人家预测错了你给我改改你的参数这是一个最经常的过程而我们做的过程是在模型训练的一些重要阶段我都会去纠正你的模型的误差到具体实现的时候其实就是我的神经网络比较重要的几个输出的点我都会去看你跟我预想中的值得偏差量通过这样的约束可以更好的训练我们的模型直观的感觉就是别人可能需要一千张猫才能在本地训练出一个跟云端一样的模型但是我们可能只需要五十张猫就可以训练因为我们的老板足够了好就像我们的马老板一样刚才介绍的就是我们如何在本地训练出一个比较好的模型当然我们完成这一步以后我们可以认为我们在本地已经训练出了一个跟云端功能几乎完全相似的替身模型那么第二步是什么呢就是我们把一个黑河攻击的过程转化成那个白河我们在本地去攻击这个模型生成对抗样本下面我们就介绍我们这个算法在白河攻击里面的一些改进点我们知道我们在生成对抗样本的时候其实是希望在图片上面叠加一些干扰点或者叠加一些扰动以后让它的分类产生错误同时我这个图片改成像素点以后也不会影响到人的分别比如说还是一张猫我的上面改几个像素点以后会让模型识别成狗它的一个重要点在于首先我改些像素点以后会让机器识别错第二点是人看起来不太影响还是这猫我们现在重点关注是如何让我们的机器识别错大家可以看到就是我们定义损失函数里面就是这行比较讨厌地方就是攻势比较多我尽量用大家可以理解的语言就是说的比较通俗一点大家可以看到第一项class loss这块它其实就是我们定的损失函数希望我的图片修改以后能够尽量的欺骗模型它是一个分类错误第二个点就是我们一个改进点在这块就是同时我们也希望在我们的神经网络卷级的输出里面它的偏差尽可能的大后面我们会介绍这个偏异比较大带来的意义这里介绍了损失函数我们其实它的主要目的是为了让我们的分类产生错误而我们的future map loss其实希望我们的攻击的样本有更好的通用性或更好的方法能力怎么去理解这句话呢就是第二个future loss就是希望我们深深的对抗样本再能欺骗模型A的同时尽量大的概率也能欺骗模型B好 下面就可以看到我们后面那个点这是一个常见的介绍卷级网络的一个图我们可以看到一个神经网络我们把它细分成几个层一个基于卷级的图像试验网络它其实大多数层是不断的迭代卷级层第一层我们觉得就可以定义它就是一个低级特征的提取层我们可以称为low-level future它提取的就是低级别的特征大家可以看到就是一些边缘或者是一些纹路这是在卷级层第一层做的事情应该说前几层做的事情第二层是做了什么事情呢就是它提取的特征就是稍微高层是一别比如说一些深层的纹路甚至一些眼睛 手的边缘之类的它是基于这种粗极的特征提取了一些更高级的特征到第三层的时候大家可以看到甚至于就已经可以看出一个完整的猫的一个轮廓了所以说在第三层的时候它提取的特征是可以认为是一种语异级别的更高级别的特征所以说我们在攻击神经网络的时候我们希望是越靠后面的输出跟原来的差别越大那么就意味着我攻击量本它偏离的概率会越大在越高级别我如果跟以前的猫差距越大那么我攻击其他的模型成功的概率会越高所以这里我们在前叶手还介绍了一点我们对不同的层的输出会存以不同的权值也就是说越往后的其实我们会越重视越往前那其实我们重视程度会比较低如果这个模型越靠后面它跟以前的差别会越大那么它的千亿攻击能力也会越强我们在后面会介绍通过数字来介绍这个这里就是我们定的Fussgernaut的一个具体的定义这是个简化的版本假设我们比较偷懒我们只关注我们卷接层的最后一层输出我们完全可以把它定义以为就只关心最后一层如果我们希望攻击效果比较好我们会关心卷接层的中间几层只不过是越靠前面的卷接层我们的权重越低越靠后面的卷接层我们的权重越高中间这是一个特立化的情况比如说我们偷懒只关心卷接的最后一层输出它就会实现起来比较简单但效果可是最差的下面介绍一下我们实验怎么去做的我们收集了一百只猫的图片和一百只其他动物的图片这个图片全都从Imaginite的教验机拿到的它有两个好处首先Imaginite是个开源的数据级大家都可以获取这个数据级是一个开源公正的不是我随便找了一百张图片另外一点好处在于什么呢它来自Imaginite的教验数据级也说这个数据本身并没有用于训练开源的模型所以这个数据即使公正的同样也不会影响到我的模型本身另外一点的话我就是为了适应不同的模型我把图片全部就reset成224×24×13并且是用RGB的形式去读取这就是一个比较通用的做法然后我们衡量我们效果用什么呢用的就是逃异率所谓的逃异率比如说正常的接学性模型我扔个图片进去它可能反会给我一堆列表比如说是10个分类或者是100个分类每个分类有不同的概率通常比如说前概率从大到小去排序TOP1就是排名第一的如果正确叫做TOP1的准确率如果是从第一名到第三名里面只要有一个对我们就认为这个话这个叫TOP3的准确概率比如说我还是个猫的图片进去如果它反会结果猫的概率是0.99而且是最高这是TOP1就对了如果我把猫进去反而给我第一名是猪第二名是猫第三名是狗我们认为在TOP3概率的时候它还是对的这里我们以最严格的方式我们只关心它反回了第一个结果如果第一个结果不是猫我们就认为我们攻击成功了所以说我们会把TOP1的错误识别率认为是我们的衡量指标我们定为逃异率然后我们训练模型本身用的是RES-152事实上我们刚才介绍RES-152-101后面的都可以那四种模型只要准确率比较高都可以用然后我们就基于现我们已经训练好了替身模型发起了PCD和我们提出的FFL-PCD通常认为PCD是目前攻击能力最强的白河模型白河攻击算法所以我们用它作为基准另外一方面还有一个认为攻击能力比较强的就是击成攻击后面我们都会见证另外一个指标就是在图像识别领域会用的比较多的比如说当然我们说到对抗样本有一个很重要的点就是我深深的图片跟原始图片差距不大人眼可接收这是一个非常感兴的指标我们如何去量化这个指标呢比较多的方式是用新造笔通过新造笔这种方式来对比原始图片和对抗样本之间的差距新造笔越高意味着我的图像失真度越低图像质量越好一般的理解是如果我的新造笔是高于20分贝就是人眼是可以接受的这种变化如果低于20分贝就认为人眼已经可以察觉到明显的失真不过通常在我们使用中觉得20、19或20以上都是可以接受的不是太严格比较理想情况认为是20以上的20分贝以上它的失真度会比较小另外一个指标是衡量图像的这是SSIM这都是通过正常的裤可以获取的它是用于衡量两个图片之间的相似度通常这两个指标都会同和持续使用一般的SSIM它是基于0到1之间值越大说我们的相似性越好一般认为是大于0.5就是可以接受的相似度这是我们针对国际上主流的非中国的四个云民台的测试结果因为在中国讲还是涨一些国外的平台比较靠谱要不然我就从一个先驱变成先列了大家可以看到就是实现的都是我们提出的攻击算法然后虚线对应的都是我们攻击的PE算法就是一种标准基准算法大家可以看到下面的12345表明的是我们的攻击不长随着我们的攻击不长的增加我们看到我们的攻击的成功率是越来越高大概在攻击不长在七和八之间的时候主流平台我们都可以超过90%的样子这么讨厌的这块当然介绍是我们的攻击的结果同时我们还有要关注这是我们图像生成的质量大家可以看到确实是PGD算法相对于我们生成的图像质量偏高但是我们都是大于20分贝所以说在图像质量上可以认为我们两者都是满足需求的但是从图像相似度来讲大家可以看到我们蓝颜色的是我们的攻击样本绿颜色是基准的PGD我们攻击的生成的图像相似度会明显的高于传统的攻击方式也就是说在图像质量可以接受的情况下我们的图像相似度会越高当台介绍的就是从我们跟PGD对比的结果另外一个也被公认效果比较好的方式是集成学习它在纯黑盒攻击情况下效果也是比较好的所谓鲜艺学习鲜艺攻击集成攻击是什么呢比如我手上有五个甚至是十个开源的模型我会继续它们一个个生成对抗样本最后得到一个功用的这个对抗样本我们理解就是它的放化能力更强因为我手上已经有十个不同的模型它都能攻击成功我们会认为它攻击别的模型成功概率也会比较大这个在纯黑盒情况下也就是说是没有图像预数理环节的时候它的攻击效果非常之好所以说我们也把它作为一个基准模型但事实上的效果却让人非常的医疗之外大家可以看到就是这种集成攻击模型它的攻击成功率非常低基本上都在百分之五十以类无论我怎么增加我的敌赖的次数这里下面讲的是敌赖的次数已经不是攻击不长了因为通常这种集成攻击是基于优化方式去做的只有其中某一个场能够比较好的攻击成功我们其实猜想的差距在于什么呢就是跟纯黑盒攻击相比在云端有一个非常重要的过程就是图像预数理在图像预数理的时候会把我的图片按照设置随机的放大到一定的长度一定的大小然后会做一些去造甚至于是随机的是抠图在基于优化的这种攻击方式情况下它生成的一些扰动很容易被这种图像预数理干掉这也就解释了为什么攻击云端会比传统的攻击黑盒复杂在这个数据里面其实也展现出来了以前认为攻击效果会比较好的这种集成攻击方式在真正攻击云端的时候只对其中的一家效果会特别好其他几条的时候比如说像Google、Sepharia还有那个亚马逊的时候它的攻击效果就比较差我们认为就是因为在这三家的云端处理的时候做了比较强的图像预处理所以说针对这种对方样本有比较强的过击能力大家可以看到在我们的攻击图里面在这个图里面我们的攻击效果都是比较好的比如在7和8的时候都将近接近190%这块也就说明我们这种基于不长的攻击在运对图像预处理的时候我们的卢邦性是足够强的讲了那么多都是花靶式下面就讲我们实际深深图片去攻击一个图像搜索隐形的时候的效果大家可以看到这是一个正常的猫认到图像搜索隐形的时候它分析的结果是一种当我也不知道怎么翻比较好应该叫英国长毛猫吧差不多是那个意思它就是针对我们的原始样本的时候是可以正常去识别的下面就说我们一个攻击的样本却把它识维成一个树也就是我们这种非定向攻击已经成功了但其实从人的角度讲这两张图片虽然有差距但不会影响到你的分别注意一下我说的图片指的是这个猫不是说整个截图我是介绍猫这块大家可以看到从人的感观来上两个图片虽然有差距但是不会影响到你的识别但是对于一个图像分类或者说一个图像搜索隐形来说这会产生分类错误的结果从我们自己的推测来说的话它图像搜索并不是说是会把一个个图片进行比对而是说先把你的图像生成一个标签有说这个是个猫的结果以后我在根据我的图像库里面有猫这个标签的图片会转向给你所以说我们这种攻击云端的技术在攻击图像搜索隐形的时候图像会成功整个攻击过程中其实我们并没有假设Google用的是什么样的图像分类模型整个过程都是纯黑盒的下面就是我们总结一下第一点就是通过我们的实验已经证明在把模型保留在云端这给人其实是一种错误的安全感至少在图像分类这个任务上我们已经成功地实现了攻击我在完全不知道你模型的情况下通过我们这种替身训练继续AutoDL的模型训练以后我们的攻击效果普遍达到了80%-90%以上这是一个非常好的效果了一个纯黑盒关键点是我们的查询次数一共只有两次第二点在这些把第二点已经说了第三点在于什么呢就是我们这种攻击有非常强的通用性并不是说是我上没有相同的开源模型我就会攻击失败从常见的猫狗识别车辆的识别到一些图像审核我们都成功地进行的攻击而且都是只是基于Imagina预训练的模型所以这种攻击有很强的通用性我们总之其实就是想告诉大家就是其实你把你的模型放在云端你虽然认为我有很多的图像语书里你也可以认为我的模型没人知道你也可以认为别人访问你辞出很受限不可能有人划100块钱访问你一万次就为了生成一个猫狗的图片但事实上可以证明通过我们的实验这种攻击审本会特别低同样可以攻击你在云端的模型把你的模型保留在云端是一种错误的安全感好 我仍然完了谢谢大家