黑客如何用一副纸眼镜,就“弄瞎”人脸识别算法?
2020-10-27谭婧
谭婧
如今,信息以光速传播,错误信息,混杂其间。小蒙小骗,大欺大诈,干扰选举,煽动暴力,搅动政局……
谣言动动嘴,辟谣跑断腿。还有一个噩耗,人工智能也掺和进去了。
阳光普照,人工智能赋能百业千行,挽起袖子进车间厂房,提起裤腿下田間地头。阳光照不到的地方,在Boss直聘上高薪诚聘“资深人工智能算法专家”的也可能是黑色产业。
人工智能的进步,导致计算机能随心所欲地让视频中的人物“变脸”,人声“变调”。有视频和录音“为证”,掀起一场彻底粉碎“不在场证据”的狂欢。
与此同时,数字伪造技术(Digital Content Forgery)也开始引发越来越多的探讨。
深度伪造技术,是一次技术的滥用。啼笑皆非的是,这一技术的开源社区还非常活跃,软件可以上网免费用,“科技作恶”的门槛一降再降。
若以“假脸”论英雄,深度伪造,可谓风光一时。殊不知,人工智能暗藏一股更强大的力量——对抗样本(adversarial sample)技术。
掌握了对抗样本,只戴一副打印的纸眼镜,就可以“弄瞎”手机锁屏的人脸识别。掌握了对抗样本,破解APP人脸识别功能,可以分分钟假冒支付宝用户消费、授权网银转账、冒充滴滴专车司机。
镜头一:人工智能学派,几十年来沐雨栉风,几经浮沉。一代宗师甩袖抛给弟子一本《对抗攻击算法拳谱》,飘然远走。
镜头二:黑客在大雨中狂奔,一个剧烈的跪滑,表情狂放,仰天长啸:“到底什么是对抗样本?”
镜头三:视频网站B站,瑞莱智慧RealAI公司(下文简称“RealAI公司”)的研究人员,戴上一副纸眼镜,秒级“弄瞎”人脸识别算法。
这已经不是我第一次寻访研究对抗攻击算法的科学家,这次我探访到了RealAI公司的安全算法负责人,萧子豪。
这位毕业于清华大学计算机系的硕士,夏天酷爱穿一件简单的T恤。他总是声调冷静,节奏缓慢,像一潭沉静的湖水。
技术的魔力,需以一个实验来说明,才能眼见为实。
人脸识别可以简单地理解为把密码写在脸上,刷脸就是刷卡。破解了人脸识别功能,就是破解了身份认证的唯一性。黑客佩戴眼镜之后,会被人脸识别算法误认为手机主人,解锁手机。
为什么只戴一副打印的纸眼镜,就可以“弄瞎”手机的人脸识别算法?先讲解步骤,再给出前沿学术论文的解释。
第一步,准备三个材料:攻击者的一张照片,受攻击者的多张照片,和一个深度学习人脸识别算法模型(开源的模型也可以)。讲到这里就顺口一提,很多人不在乎隐私保护,社交网站、朋友圈里有大量眉清目秀、五官清晰的照片,这都可能被黑客恶意保存。
“极端情况下,只用受攻击者的一张照片也可以,只是成功率会低一些。”这一句,萧子豪加重了语气。
第二步,将三个材料输入攻击算法,生成攻击人脸识别算法。这里的攻击算法就是知识产权的核心。算法会利用人脸识别算法模型,从受攻击者的照片中提取他/她的人脸信息,然后在攻击者的照片上构造出攻击用的对抗图案。一般情况下,研究人员称攻击算法生成的图案为对抗图案。对抗图案叠加在原来的图片上,得到带有攻击功能的图片,叫对抗样本。(对抗图案+原有图片=对抗样本,对抗样本指的是整张图,对抗图案既可以是局部的,也可以是全局的。)
黑客的眼镜是算法生成的局部图案。
第三步,用攻击算法生成的这张图,打印制作成眼镜。表面上,是一副普通的眼镜。背地里,眼镜上的局部图案是对抗样本。戴上眼镜的人,面对手机。随后,发生不可思议的一幕——佩戴了这副眼镜,瞬间成功解锁手机。
而本文关注这个实验中的三个知识点:黑盒、纸眼镜、迁移性。
这是一个典型的黑盒攻击的黑客实验。
萧子豪解释道,进行攻击的算法和遭受攻击的算法,就像战争中的敌我两方。这两种算法可能不是同一个模型,背后原理是抓住了人脸模型之间的相似性(虽然人脸识别模型各有千秋,但是都属于深度学习模型,免不了会有相似性)。攻击算法寻找、挖掘、抓住不同人脸识别模型之间的相似性,同时放大,这样就有攻击的机会。换句话说,只要攻击者能够从人脸识别模型里面挖掘出漏洞(相似性),就能够攻击模型。
研发攻击算法的过程中,挖掘相似性是一件很耗神、很熬人的事。
我们都知道,手机里的人脸识别算法需要将摄像头采集到的人脸信息作为输入的信息。手机上装载的人脸识别算法对黑客来说就是黑盒。因为在攻击之前,完全不知道其中的原理,所以称之为黑盒攻击。
纸眼镜有什么讲究呢?
眼镜是一个物理世界的真实物件,黑客戴上眼镜,就是为了改变人脸面部的特征。在做眼镜的时候,黑客还要考虑很多来自外部环境的干扰。室内的光照,打印机的色差,都会影响攻击效果。所以,需要有一些色彩矫正算法,或者一些光线补偿的算法,保证最后打印出来的眼镜在实际场景中能够攻破手机的人脸识别算法。
手机厂商使用的人脸模型和攻击它的模型,这个两个模型并不相同,为什么就攻击成功了呢?
答案是迁移性。
萧子豪说:“借用迁移学习的思路,有利于增加对迁移性的理解。”不过这样的解释还不够有诚意。他又补充道:“好比每个人都有常识,神经网络也有自己的常识。人和人想法会差很远,神经网络也是一样。不同神经网络之间用不同的语言。但是,可以用常识沟通彼此都认可的事情。”
“神经网络也有自己的常识”是萧子豪打的一个比方,他也愿意用“心理学或者生物学原理”来替代。
就是说,虽然人和人的想法/体质会差很远,但他们都会有相似的心理或者生理弱点。
前沿论文告诉我们,“对抗样本的一个有趣特性就是具有良好的可迁移性,这使得实际应用的黑盒攻击变得可行。”
“通过将动量项整合到攻击的迭代过程中,该方法可以稳定更新方向,并在迭代过程中避开局部最大值,从而得出迁移性更优的对抗样本,进一步提高黑盒攻击的成功率。”
今时今日,以对抗算法的地位,将其定义为人工智能算法前沿,丝毫不为过。而学术论文又在为其方法的迭代與演化,提供源源不断的新鲜思路。
纸眼镜的思路,也能用在云计算厂商人脸识别算法的API攻击中。
一般情况下,APP开发者不会自己研发人脸识别算法,而是通过第三方的API接口或SDK组件来获得人脸识别功能,这个第三方,可以是云计算厂商。黑客直接将对抗样本图上传到云厂商的API,进行攻击。这种对抗样本同样也可以使亚马逊、微软等人脸识别平台的服务出现严重的识别错误。
这也是一个典型的黑盒攻击。
将对抗样本用纸打印出来,黑客可以直接作为“作案工具”。也就是说,对抗样本通过区区打印的照片就可以攻击那些算法工程师冥思苦想才能提高精确度的人脸识别算法。给人脸识别系统捣乱,听上去如此的轻而易举,似乎成了春田花花幼稚园手工课的作业。
对抗样本技术,是在用算法欺骗算法。这里的算法,是深度神经网络算法,是人工智能算法的一种。所以,也算人工智能骗人工智能。
萧子豪特别提起2017年那场比赛,这是一个标志性事件。参赛团队均来自全球顶级院校,清华大学团队在竞赛的全部三个项目中得到冠军。由清华大学博士生董胤蓬、廖方舟、庞天宇及指导老师朱军、胡晓林、李建民、苏航组队。
朱军教授在ICLR2020会议的署名论文数量排名中,位居世界第二。
竞赛中,之前的很多积累都用上了,其中一种方法——广泛的基于梯度的迭代算法来增强对抗攻击(Momentum Iterative Method,MIM),被两位图灵奖得主J.Hopcroft教授、G.Hinton教授在ICLR2019等论文中大幅引用,也被该领域主流开源项目FoolBox、Cleverhans等收录为对抗攻击的标准算法。
2017年,清华大学计算机科学与技术系人工智能实验室就开始研究这一领域。最初刷学术数据集,后面不断地提升攻击的成功率。有了RealAI公司之后,打磨重点从图像分类往人脸识别去切。
一群科研人员掌握独门技术,认为技术切实可行,判断应用价值大,那就出发,冷静且理性。
算法研究,靠理论指导方向,靠做大量的实验来实现,对抗算法也是如此。理论和其实现无法替代,实现的过程需要征服大量细节,而细节存在于大量的实验中,多番尝试,才能追求更好。就好比化学实验,摸索某种配方比例。积累得够久,才会形成技术壁垒。
萧子豪的观点是,技术周期上的领先不会太久,领先6个月到12个月,最后也会都被别人赶超。但是,对抗算法有一个独特之处,使得其不会重度依赖从数据上获得的优势。
人脸识别算法信奉 “人海战术”,越是人脸数据训练出来的模型,效果越好。一个亿的人脸数据用二流设计的算法训练,一千万人脸数据用一流设计的算法训练,前者的准确率往往会更高。这就是一亿人脸数据带来的优势。
危险之处还在于,浑然不觉。
安全极客们在镁光灯下相会,聚在属于自己的“光明顶”——GeekPwn国际安全极客大赛。
2018年,选手用对抗样本攻击让主持人蒋昌建的照片被识别为施瓦辛格,以此事件“宣告”攻破亚马逊名人识别系统。
2019年,对抗样本“隐身术”挑战目标检测系统识别。选手需要在A4纸上打印出干扰识别的隐身图案,实现“隐身”,纸张面积随意。是的,他们就是想用一张纸骗过监控,也就是在监控视频中隐身。
比赛结果非常惊人,所有的参赛队伍都在一米处实现“隐身”。肉眼看到明明有人,但是检测时就是“瞎了”。清华战队使用的图像面积最小(14cm*14cm),所以,成功拿下第一名的桂冠。
萧子豪也参加了比赛,他告诉我,隐身不同于对手机和云厂商API攻击的地方是:“隐身是攻击物体检测,手机和云厂商是攻击人脸识别,被攻击的模型不同。物体检测模型攻击难度更大,因为其模型内置有对局部遮挡不敏感的能力。”
即使有高考保送清华的光环,算法研发对萧子豪也是高强度的脑力工作。
他的体会是:“把一个新的事物往前推,是一件很难找到方向的事情。研究算法的过程中,会被一个问题困扰一到两年、或者数年。如果所有的精力都用来对抗压力,人会被困住,没有办法前进。有人尝试个一两百次,情绪开始波动,就干不下去了。迷茫的新手试错次数更多,所以,很多人都被阻挡在门外了。”
火车跑得快,全靠车头带。目前,对抗样本的“火车头”并非工业界,而是学术界。
2013年,在谷歌公司约有十年工龄的人工智能科学家Christian Szegedy和其他研究者先在图像分类的深度学习模型中发现了对抗样本。
随后,前谷歌大脑的年轻科学家伊恩·古德费洛(Ian Goodfellow)等研究者发现了快速攻击的对抗算法。
而后,对抗性样本的研究越来越多。
随着研究推进,文本处理、语音识别、自动驾驶、恶意软件检测等深度学习表现好的领域,统统都被对抗样本攻击了,甭管用循环神经网络,还是强化学习。
“对抗样本”骄傲地笑了,它就是能让人工智能算法失效,让人工智能算法错误分类。专业解释就是,黑客对照片里的像素,进行不可察觉的微小扰动,可以使深度神经网络以较高的置信度错误分类。
这里,还有两个知识点,一个是较高的置信度,另一个是攻击结果。
我相信,这也是人工智能下一步的重要研究方向。”
而学术界众人皆知的秘密——深度神经网络容易受到对抗样本的攻击,通过添加难以察觉的扰动来误导分类器。这也是质疑人工智能技术不够安全的原因之一。
而工业界眾人皆知的秘密——深度神经网络的安全性和性能同步增长是非常困难的事情。鱼和熊掌如何兼得?
哪里有唾手可得的对抗算法开源?
第一波,由谷歌员工开源的代码库Cleverhans,用于对对抗示例漏洞进行基准测试。这是全球最早的开源项目,其中也有清华大学计算机科学与技术系人工智能研究所董胤蓬博士的贡献。
第二波,IBM公司的对抗性鲁棒性工具箱(ART),是目前用于机器学习安全性做得最好的,最全面的代码库。IBM公司花了很多力气在做对抗算法,也一直在推对抗样本攻击算法与可解释的人工智能。
第三波,德国图宾根大学开源代码库Foolbox。它提供了大多数已发布的对抗性攻击方法,用于基准测试。
截至目前,没有工业级别的开源对抗模型,开源代码还停留在学术数据集上使用的阶段。没有定制化的修改,工业界依然高度依赖学术界分享的成果与信息。全球顶级大厂也把对抗样本技术用在知名产品身上,比如IBM公司的沃森,亚马逊公司的Alexa,这一次,对抗样本的责任不是攻击,而是保护。
天下一物降一物,“深度伪造技术”也有克制之法。
田天博士告诉我:“深度伪造技术并非万无一失。生成的造假视频的画面中会有不自然的纹理存在,让其学习正常情况中的纹理特征,再以此检测造假视频中不一致的纹理,这一方法可以用于打假。
“对抗样本”与“深度伪造技术”都可以造假,到底谁更牛?
田天博士回答道:“对抗样本是探究神经网络的学习原理,而深度伪造技术属于神经网络的应用,如果要一较高下,做应用比研究原理简单一些。”
“无论何时,只要人们谈及网络空间安全形势,一定会用形势严峻、应对能力不足等悲观说法,这往往会让决策者感到迷惑:网络空间安全领域为何总是缺少作为呢?”
2020年5月,方滨兴院士在《人工智能安全》一书中给出的解释是,新技术必然会带来新的安全问题,这是“伴生效应”。