当你自己与其他人的图像高度匹配时,人脸识别系统还能发挥其作用吗?网络安全公司McAfee生成的对抗性伪图像就骗过了人脸识别系统。
![](https://image.jiqizhixin.com/uploads/editor/8be9b377-860f-47e2-bac2-07fd8fa11268/640.png)
在进入正文之前,我们先想象一个场景:如果对象 A(正文中的 Jesse)在航空系统的禁飞名单中,因而无法通过机场的护照人脸识别系统,也从未提交过护照照片。那么有没有办法帮助 Jesse 顺利地通过护照人脸识别系统呢?
近期,世界最大安全软件公司之一的迈克菲(McAfee)对此发起了挑战,成功帮助 Jesse 骗过了护照人脸识别系统,也证明了机器有时较人类更容易出错。迈克菲是如何做到的呢?它们引入了对象 B(正文中的 Steve),此人不在禁飞名单中,因而不受任何航空限制。所以关键是要利用 Steve 的身份通过护照人脸识别系统,也就是需要提交一张看起来像 Steve 但又能与 Jesse 的实时视频完全匹配的护照照片。Jesse 创建了一个攻击生成模型,其中提取了 1500 张他们两人的静态照片作为数据集,通过 CycleGAN 和 FaceNet 进行训练。在经过数百次训练迭代后,终于生成了满足要求的护照照片。最终,这张看起来像 Steve 的护照照片由 Steve 提交给政府,Jesse 使用 Steve 的护照顺利地通过了护照人脸识别系统。![](https://image.jiqizhixin.com/uploads/editor/e086ce50-af63-4001-aadb-f1335edadbd0/640.png)
这项挑战由迈克菲高级威胁研究团队(McAfee Advanced Threat Research, ATR)发起,参与人员有 ATR 团队负责人 Steve Povolny 以及俄亥俄州立大学大四学生、前迈克菲实习生 Jesse Chick。研究者将用于护照验证的人脸识别作为研究用例。基于人脸识别的护照验证概念非常简单,摄像头拍摄乘客的实时视频或者静态照片,然后验证服务系统会将它们与以前收集的已有照片进行对比。这些已有照片可能来自护照或者美国国土安全部数据库等其他来源。![](https://image.jiqizhixin.com/uploads/editor/c3c4e8c8-cc92-42d0-a7c6-4b2d4fd9baa7/640.jpeg)
接着,这些实时拍摄的照片被处理成与目标照片类似的格式,包括图像大小和类型等。如果两者匹配,则护照持有者得到验证。如果不匹配,检查员将会比对登机牌和身份证表格上的照片。所以,作为一项脆弱性研究,研究者需要分析如何才能破解人脸识别系统,包括预期的操作方法和可能出现的疏忽。他们考虑是否可以利用底层系统的缺陷来骗过目标人脸识别系统。更具体地讲,研究者想知道是否能够创建护照格式的「对抗性图像」,然后被误验证为目标对象。在此之前,研究者曾进行过针对图像识别系统的数字和物理介质攻击。此外,研究中采用的概念攻击场景很简单。研究者将攻击者称为「对象 A」(Jesse),他在禁飞名单中。所以,如果他实时拍摄的照片或视频与存储的护照照片比对的话,则会立即被拒绝登机并遭到警告,甚至还会被逮捕。![](https://image.jiqizhixin.com/uploads/editor/baaf5368-36ab-4ce8-aa57-8d40dfa157d2/640.png)
所以,研究者假设 Jesse 从未提交过护照照片。与此同时,同谋者对象 B(Steve)不在禁飞名单中,他协助 Jesse 骗过护照人脸识别系统。![](https://image.jiqizhixin.com/uploads/editor/4bd7af90-3b63-4d60-8ba1-61c598904da2/640.png)
Jesse 是模型黑客攻击领域的专家,他通过自己构建的系统生成了 Steve 的一张伪图像,然后让 Steve 提交给政府。最为关键的是这张提交上去的照片必须看起来像 Steve,又能与 Jesse 的实时视频完全匹配。这样才能帮助 Jesse 顺利地骗过人脸识别系统。在伪图像生成过程中,研究者首先选择使用了 CycleGAN 框架。但是,在这项人脸识别对抗攻击测试中又用到了图像验证系统,所以需要对 CycleGAN 进行扩展。所以,他们又用到了 FaceNet。研究者意识到,模型不仅需要准确地创建逼真的对抗性图像,而且需要将对抗性图像验证为目标对象。最终,考虑到需要首先进行白盒测试,以理解整个框架,研究者选择将 CycleGAN 和开源的 FaceNet 变体架构 InceptionResnet v1 相结合。研究者清楚他们需要足够大的数据集来准确地训练攻击生成模型,但在该研究中的数据集要小于很多其他的用例。这是因为他们的研究对象只有两个人:对象 A Jesse 和对象 B Steve,并在将图像输入 FaceNet 时最小化生成的两个人脸嵌入之间的「距离」,同时保持任意一个方向上的误分类。换句话说,护照照片需要看起来像 Steve,又能完全匹配 Jesse 的实时视频。反过来也是这样。研究者在包含 1500 张 Jesse 和 Steve 图像的数据集上进行训练,它们都是从实时视频中捕获的静态图像。此外还提供了多种表情和人脸姿势,以丰富训练数据并准确地表示(represent)为想要拍摄有效护照照片的人。![](https://image.jiqizhixin.com/uploads/editor/9e6b5436-cbcc-42c4-a090-9fdf924a6144/640.png)
然后,研究者集成 CycleGAN 和 FaceNet 架构,并开始训练模型。如下图所示,生成器的原始输出非常粗糙,虽然看起来有几分像人类,但辨认起来却非常困难,并且出现了极其明显的扰动(perturbation)。![](https://image.jiqizhixin.com/uploads/editor/47b9d90f-f8a9-4a69-9a7a-3082b09005c9/640.png)
但随着训练迭代的增加,图像的视觉展示效果出现了明显改观。人脸开始消除一些异常(abnormality),同时融合 Jesse 和 Steve 的特征。具体效果如下图所示:![](https://image.jiqizhixin.com/uploads/editor/a28dee49-976a-4b32-a355-a8511e7182cf/640.png)
随着训练迭代的进一步增加,判别器对生成器的输出图像越来越「满意」。虽然还需要处理一些细节,但生成的图像越来越像 Steve 了。![](https://image.jiqizhixin.com/uploads/editor/9c3bbfe4-edec-4de7-bd80-f23406a17d9a/640.png)
数百次训练迭代之后,研究者终于得到了符合要求的「候选图像」,它可以作为有效护照照片帮助 Jesse 通过护照人脸识别系统。![](https://image.jiqizhixin.com/uploads/editor/69f4cd38-0357-4424-9e4d-5a7bdcf3e4d3/640.png)
可以看到,Steve 的伪图像足够真实,能够令人相信它不是计算机生成的。下面的三个 Demo 视频展示了使用灰盒模型的对抗攻击。但是需要注意的,在 Demo 展示中,对象 A Jesse 和对象 B Steve 互换了身份,即 Steve 成为了攻击者,他在禁飞名单中,想要骗过护照人脸识别系统;Jesse 成为了同谋者,他不在禁飞名单中,想要协助 Steve 通过护照人脸识别系统。也就是说,Demo 展示的内容是 Steve 借助生成的 Jesse 伪图像通过护照人脸识别系统。此外,研究者还添加了一个随机测试对象 Sam,以作为参考。首先是正向测试(positive test),屏幕右侧为 Steve 的真实、非生成图像。系统在对照 Sam 时是不匹配的,对照 Steve 自己时匹配度 100%。这说明系统可以正确地识别出 Steve 自己。![](https://image.jiqizhixin.com/uploads/editor/ca4d397f-0981-41fc-bc7a-79721554b5ee/640.gif)
其次是负向测试(negative test),屏幕右侧为 Jesse 的真实、非生成图像。系统准确地识别出了 Sam 和 Steve 与右侧 Jesse 不是同一个人。这说明系统在非对抗性条件下可以正确区分不同的人。![](https://image.jiqizhixin.com/uploads/editor/5a7d6b1b-87b2-4d05-b639-7446c6966fc6/640.gif)
最后是对抗性测试(adversarial test),屏幕右侧为模型生成的 Jesse 的对抗性或者伪图像。由于 Sam 不在 CycleGAN 训练集中,所以他与右侧的 Jesse 不匹配。攻击者 Steve 则对误分类为 Jesse。![](https://image.jiqizhixin.com/uploads/editor/28692dee-2936-4189-8b84-d47d9e656f0c/640.gif)
所以,在这种对抗性攻击场景中,如果护照扫描仪完全取代人类检查员,则它已经误认为攻击者 Steve 与护照数据库中同谋者 Jesse 的伪图像是同一个人。由于 Jesse 不在禁飞名单中,也没有任何其他限制,所以 Steve 能够以 Jesse 的身份通过机场人脸验证并顺利登机。而如果这时有人类检查员的参与,则很可能会辨认出 Steve 与护照上的 Jesse 伪图像并不是同一个人。这也由此说明了人脸识别系统较人类更容易出错。目前,该研究已经在白盒和灰盒攻击测试中取得了进展,并实现了很高的成功率。他们希望启发或者与其他研究者合作进行黑盒攻击测试,从而证明该研究同样适用于护照验证系统等真实世界的目标,并由此对这些系统做出改进。原文链接:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/dopple-ganging-up-on-facial-recognition-systems/?utm_source=twitter_mcafee_labs&utm_medium=social_organic&utm_term=&utm_content=&utm_campaign=&sf236565025=1