极棒实验室总监揭秘生物识别验证的 AI 攻防

极棒实验室总监王海兵不久前在 FreeBuf 《AI 安全系列公开课》上进行了《揭秘生物识别验证的 AI 攻防》主题分享。

刷脸乘车、刷脸支付、刷脸解锁手机……从钱包到手机,这一次干脆彻底解放。生活中似乎不会再有忘带现金、忘记密码的尴尬,因为没有人出门会忘记”带脸“。现实真魔幻,很快在中国什么都可以刷脸了。然后呢?

AI 技术的曲折发展,宛若一个经历了大起大落、终磨一剑的绝世高手,坚守半世纪终于再次获得尊重。但是,那些招数又能否经得起现实的考验?

王海兵.png

极棒实验室总监王海兵不久前在 FreeBuf 《AI 安全系列公开课》上进行了《揭秘生物识别验证的 AI 攻防》主题分享。王海兵是 KEEN 联合创始人之一、前微软网络防火墙专家级工程师,现任极棒实验室总监,进行前沿领域的安全研究。

什么是生物识别验证?

生物识别3.jpg

在探讨生物识别验证领域中的 AI 攻防之前,我们先了解一下:什么是生物识别验证。

“验证”表示“满足规定要求”,通常可能出现以下几种情况:

What You Know?

What You Have?

What You Are?

即你知道的信息,比如密码;你拥有什么,如 U 盾;而你是谁,便是生物识别验证了。

“生物识别验证”依据人体特有的生理特征或者行为特征来进行判断,确定身份。比如指纹、人脸、掌纹、气味、热成像、语音、虹膜、静脉、笔迹、步态等等。指纹、笔迹都比较早地应用在我们日常生活中,尤其是签订文书的时候,签字、按指印,都是很常用的方法。

生物识别2.jpg

在信息技术发展起来之后,人们发现,生物识别验证依托计算机技术,能够快速而又准确地进行识别,大大提高了效率和准确率。目前科学家们已经研究出了很多高效的识别算法。这几年,深度学习的发展使得生物识别验证领域也开始采用深度学习算法。

生物识别验证,在早期成本比较高,尤其是一些难度比较大的技术,比如像虹膜验证。这些技术会用于金融领域或者用来保护非常重要的地点,比如银行的金库。在好莱坞影片中也可以经常的见到,当总统要进入白宫内部总统避难所的时候,要通过的两道验证,分别是虹膜和语音。

生物识别ppt.png

现在,随着技术的不断进步,生物识别验证的成本越来越低,大家在日常生活中也越来越多的见到。指纹验证已经有好多年了,比如苹果的 TouchID。最近比较多的大概要算人脸识别。苹果的 iPhone X 开始使用 FaceID。大家可能也听到很多新闻比如火车站用人脸识别检票、ATM 机不需要银行卡、刷脸取钱、刷脸支付等等。

生物识别验证越来越走进我们的生活。由于生物识别验证通常无需记忆、不会丢失,安全性相对较好,但是在历届 GeekPwn 黑客大赛上,曾经出现超过 10 个项目选手选择攻击智能产品的生物识别验证,其中不乏针对指纹、人脸识别、语音、笔迹甚至虹膜的攻击。

极棒大赛生物识别验证攻击.png

我将深入这些经典案例,介绍这些攻击是如何进行的。

攻击生物识别验证模型

通用模型(原).png

上图是生物识别验证系统的通用模型,几乎所有的生物验证识别系统都会采用类似的架构。

这些模块在云计算普及之后,有一些可能在云端。这个架构里,生物数据采集之后经过信号处理,提取出特征。然后与预先储存的特征数据用算法进行比对,得出验证的结果。

在历届 GeekPwn 大赛上出现过的攻击,主要攻击了数据采集、特征存储、判断决定这几个步骤。

数据采集

GeekPwn2017 上海站 (378).JPG

2017 年 10 月 24 日,百度安全研究员“小灰灰”在 GeekPwn 上海现场成功破解了一款虹膜识别验证系统和一部具备人脸识别验证功能的的某品牌最新智能手机。(文章传送门

其实“小灰灰”还准备了指纹破解的演示,但由于比赛现场干扰导致指纹采集噪点过多,未能成功实现。”小灰灰“特地撰写了《手机指纹的“马奇诺防线”》一文(文章传送门),对手机指纹安全等问题进一步剖析。“小灰灰”的项目主要就是通过对系统在采集数据时进行攻击,尽管手段不尽相同。

GeekPwn2017 上海站 (90).JPG

在 2017 年同一场极棒大赛中,有一组选手的挑战是用 3D 打印机模拟人手书写汉字,模仿人类笔迹,他们来自中国金融认证中心(CFCA)机器学习实验室。在经过训练后,他们自主发开的机器学习系统生成了没有学习过的字,并通过 3D 打印机“书写”出来。结果现场让笔迹鉴定专家也难分真假。

这里主要运用了 GAN,即生成式对抗网络(Generative Adversarial Network)。GAN 的核心是同时训练一个生成器和一个判别器,生成器制造假的数据,判别器对数据进行真假判断,然后反馈给生成器。生成器根据反馈进行调整,再生成新的数据。

GeekPwn2017 上海站 (336).JPG

同时对生成器和判别器进行训练,可以让生成器的数据越来越趋于真实,而判别器的判别能力也越来越强。

选手用 TensorFlow 框架实现了 DCGAN(深度卷积对抗生成网络),在生成器中使用了 8 层深度卷积网络。在判别器中使用了 4 层网络,以

LeakyReLU 连接。收集到的目标人物的手写字图像需要先经过一些处理。

dcgan.png

比如这个字,左边是标准的字体图像,右边是手写字的图像。一对图片就是一个学习样本。学习的结果是一个转换函数,把标准字体图像转换成手写字体图像。经过反复的训练,转换函数能力越来越强,生成的字也越来越逼真。

2017 年极棒上海站还有一场特殊的比赛——“AI 仿声验声攻防赛”。比赛中设置了四个目标设备,五组参赛团队利用大约 20 分钟的人物语音样本,学习语音特征,生成模仿人物的音频,通过声纹锁的验证实现设备解锁。

GeekPwn2017 上海站 (258).JPG

比赛最后,来自清华大学的“清晨李唐王”团队成功破解了三个目标设备,荣获第一名。

作为 GeekPwn 首创的语音类 AI 挑战赛,选手获得的有限语料不足以训练出一个 TTS(Text to Speech)模型。因此,会先采用相对大的语料库对 TTS 模型进行训练,再用目标对象的小语料库做一个转换模型,把语音按照目标对象的特征进行转换。

这大概是个比赛技巧,对此感兴趣的同学自己也可以尝试一下。

特征存储

生物识别.jpeg

利用漏洞绕过设备生物识别验证系统,是否有可能?

GeekPwn 大赛中不止一次出现了这样的破解。曾经有选手利用提权漏洞,把普通用户的权限提到系统权限,因此能够访问笔记本指纹存储的位置。

更有来自美国的选手 Nick Stephen 利用九个漏洞,一气呵成“打穿”一款智能手机的 Trustzone,通过修改决策判断模块,让任意对指纹采集区的触碰都可以解锁手机。这是个极其精妙的破解,这名选手获得了当年的“最佳技术奖”。

科幻人脸3.jpg

我们回到今年(2017)上海的比赛现场,选手 tyy 利用人脸识别门禁系统存在的信息泄露漏洞和逻辑漏洞,快速猜出了门禁设备和管理端之间的通讯密码,之后对设备进行“管理”,成功修改设备中的人脸数据信息,在未注册的情况下刷脸开门。

判断决定

那么是否有可能直接攻击匹配算法,让匹配算法得出错误结论呢?

当然是有可能的。已经有不少研究发现,尽管在深度学习的助力下,图像识别实现了相当高的准确率,但是通过对图像添加一些人眼无法分辨的修改,例如增加一些精心构造的”噪点“数据,人工智能图像识别系统就无法进行正确识别。

对抗性样本.png

例如给一只熊猫添加了人工构造的噪点之后,系统就错误地以为这是一只长臂猿。如果动物园有这样的一个门禁系统,只允许长臂猿通过,然后一只熊猫来了,在自己身上涂了些颜料,系统就以为它是长臂猿然后放行了。那么,这样的攻击就可以视为直接针对“算法”本身的攻击。

插个广告:希望在今后 GeekPwn 赛场上能够看到更多这样脑洞大开的挑战。报名地址→ GeekPwn2018 官网

总结

语音识别.jpeg

随着生物识别验证技术的进步,越来越多地走进人们的生活。同时,一些设备厂商并没有很好地注意安全问题,导致一些设备存在漏洞。

这里分享的都不是个案,还有非常多的实际问题仍在潜伏。厂商提高生物识别验证系统的安全性时,需要提高其整体的安全性,从操作系统、应用逻辑、网络环境等各个方面提高,而不光是提高算法的安全性。

分享就到这里,感谢大家!

End


本文系公开课分享整理。在 GeekPwn 公众号后台回复“生物识别验证”,获取 PPT 分享链接。

取消
Loading...
css.php