2018年CES在美国拉斯维加斯召开,站在风口浪尖上的科技企业纷纷出动,在会场各显神通地展示自己的科技产品和各种智能算法。近年来,人工智能的浪潮不断拍打着 IT 领域的海岸,各家科技巨头们都喜欢向外骄傲地宣布自己的算法能够如何完美地识别图片。然而事实还是能够证明图像识别算法所存在的弱点以及恶意攻击者能够针对算法弱点进行一定的利用。
算法面对的幻象和幻听
早在 2015 年谷歌、微软和中国百度就表示,他们的深度学习算法就已经能够在基本功能上超越人类,实现判断和识别。
而在 2017 年 12 月,Facebook 继续宣布了自己的人脸识别算法已经得到了升级换代,该算法在用户自己没有标记照片(只是被其他人拍到)的情况下,也能给你发送照片提醒。
但算法和人类不同。算法容易受到特定类型的问题的困扰,也就是存在“对抗案例(Adversarial Example)”。一些攻击者会精心设计出视觉假象,误导并诱使计算机作出错误判断,或者失去判断的准度,计算机就可能会把熊猫的图片识别成长臂猿。同样,这种欺诈手段不仅仅针对计算机图像,还可以是针对音频或者文字的。因此这也是一种算法能够看到的幻觉,或听见的幻听。
熊猫还是长臂猿,这个错误看上去可能还像是低层次的。但如果攻击者能够利用相同的方法控制自动驾驶汽车的 AI 系统,问题就会变的棘手起来。应该限速的时刻,攻击者如果能成功利用自动驾驶的算法,就可以设法让系统犯错。实际上,这样的事情已经发生,攻击者已经开始使用算法的弱点来绕过垃圾邮件过滤之类的系统。
Google Cloud Vision API
据麻省理工学院计算机科学与人工智能实验室 12 月公开的的研究显示,这些对抗性的例子比以前所了解的要容易得多。 该团队可靠地愚弄了Google 的 Cloud Vision API,这是一种已经应用在现实世界中的
机器学习算法。
以往的对抗案例都是在“白盒”环境下进行实验设计和进行的,计算机研究员们在了解了驱动算法执行的计算机底层的运作原理后就可以进行针对性的探索,了解怎么做就可以欺骗他们。但这些情况下,对于案例并不具备攻击性,并没有什么威胁,因为攻击条件和现实环境相比还是离得远了些。
MIT 研究团队11月公开的结果显示,他们成功在实验中让 InceptionV3 图像分类器将一个3D打印的海龟被识别成一把来复枪。更有趣的是,他们还能将3D海龟进行一些调整,在AI识别后可以是任何其他的物件。这是一个
应用3D打印条件下的对抗案例。
而在 MIT 最新的研究成果中,他们的研究是在黑盒条件下进行的。在事先并不获知目标算法的运行原理的情况下,他们能够设计出一种快速获取黑盒对抗案例的方法,并能应用在多种不同的图像算法上,这其中也包括了 Google 的 CloudVision API 。在谷歌案例之中,MIT的研究员们针对的是识别不同图像的系统。
通过轻微调整照片中的像素,图像系统能够完全把机枪的照片识别成直升机。尽管对于人眼而言,这两个图像看起来完全相同。但这些人眼可以分辨的差异却会愚弄计算机设备。他们使用通用方法来制定对抗案例,他们会分析图像识别的结果,在其他结果的方向上对图像进行调整。
研究人员以随机方式生成需要的标签,在机枪案例中,分类器中的“直升机”标签也可以改成“羚羊”,哪一种标签对他们而言没有差别,研究能够证明的只是这种调整像素的方法可以无差别地实现任何结果。
MIT的研究成果验证了,现在的攻击者也可以应用这种方法来创建对抗案例。
图片分类标签混淆
谷歌的回应与算法承担的重任
谷歌通常被认为是世界上最好的安全团队之一,但其最具未来主义意义的产品——智能算法却仍然可以被这种“幻觉”操纵最终的判定结果。谷歌并没有直接对研究结果进行评论。但在研究结果公布的不久之后,谷歌似乎已经看到了现在算法存在的问题,并在努力解决,他们在12月时也发布了名为《Adversarial Patch》的论文探讨相关攻击方法的策略研究。
现在还没有过网络犯罪份子的相关应用实例,但我们相信在不久的未来,类似思路的攻击也有一定可能成为现实,例如,黑客可以利用行李扫描算法,将一个毛绒玩具识别成爆炸物。或者,他们可以利用面部识别系统,将无辜的人识别成罪犯,而让真正的罪犯逃之夭夭。
科幻故事中的犯罪指数算法
智能算法在当代生活中的重要性与日俱增,它们负责在社交平台上过滤垃圾和无用的内容,又负责驾驶无人汽车,以及在未来的一天负责扫描行李中的武器和爆炸物。
然而,我们在赋予算法相关执行和决策权力的同时,也赋予了算法与之相应重量的责任和信任,对抗性案例的存在就好比是微小但却游离在之外的漏网之鱼,揭露了当前发展阶段下的不足和局限。
不少安全研究人员和机器学习专家正在结合企业实践和学术研究成果寻找合适的解决方案,例如将敌对的案例纳入神经网络训练之中,让新的算法了解真实和敌对案例图像的区别;当然这只是一种解决方案,也有其他研究人员提出了新的探索方向,来解决这个问题,但目前还没有确定的答案,哪种方法是有效的,哪种方法没有。
参考资料及PDF如下
https://arxiv.org/pdf/1412.6572v3.pdf?loc=contentwell&lnk=a-2015-paper&dom=section-9
https://arxiv.org/abs/1512.00567
https://arxiv.org/pdf/1712.09665.pdf
https://www.labsix.org/physical-objects-that-fool-neural-nets
https://www.wired.com/2016/07/fool-ai-seeing-something-isnt/
https://www.wired.com/story/machine-learning-backdoors/
https://www.wired.com/2016/07/fool-ai-seeing-something-isnt/
https://boingboing.net/2018/01/08/what-banana.html
https://blog.openai.com/adversarial-example-research/
*本文作者Elaine,转载请注明FreeBuf.COM