热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

花式破解人脸识别技术的5种方法

一人,一车,一司机,故事还得从一次“网约黑车”的经历说起。车到了,可疑的是,接我的司机、车的信息,


一人,一车,一司机,故事还得从一次“网约黑车”的经历说起 。

车到了,可疑的是,接我的司机、车的信息,与手机客户端上显示的完全不符,但为了赶紧回家,我顾不了太多便上了车,结果司机开了不到一分钟,就回头对我说:“我要取消订单了,等会儿你直接给我钱就行 ”,在我的一再拒绝下,司机说可以把我送回原处,让我重新打个出租车回去。

结果当我再次用该约车软件打车,发现来接我的居然还是那个司机!司机说:“你要么就打个出租车回去,只要你还用这个软件约车,打到的还是我的车!”

当时我就纳闷了,为什么还是你的车?why?

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

原来,附近有个由30多个黑车司机组成的车队,每个司机都有一堆虚假的司机账号,上百个账号由同一个人来统一接单,然后通过电台调度车辆去接人,因此不管你打到哪个号,都会调我去接人,而且就算是别人去接你,也是一样的流程。

于是我感到奇怪,这个 打车APP 上明明使用了人脸识别功能来验证司机信息,为什么这些司机可以继续使用虚假账号?经过一顿软磨硬泡,司机终于透露,虽然人脸识别听起来很牛逼,但是他们有软件可以轻易破解。

没错,人脸识别技术就这么被一群黑车师傅给黑了。

以上故事是在 Freebuf 主办的 FIT 2017 互联网安全创新大会上,来自平安科技的安全研究员高小厨(高亭宇)在一场“关于人脸识别技术应用风险”主题演讲中的一段描述。说完他便现场展示了那个司机用来破解人脸识别技术的软件,一个可以让照片“张口说话”的APP。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题    【请注意两张照片的嘴部】

高小厨说,从那之后他开始琢磨人脸识别技术在实际应用层面的风险,并调研了市面上使用了人脸识别技术的软件,最后的结果出乎自己的预料。


花式破解人脸识别技术

通过分析,他发现市面上大部分使用了人脸识别技术的软件,其识别流程均大致如下:


检测人脸 → 活体检测 → 人脸对比(和之前上传的自拍照或证件照)→ 分析对比结果 → 返回结果(通过或不通过)


据雷锋网(公众号:雷锋网)了解,其中活体检测技术即在人脸识别时要求用户进行眨眼、点头、张嘴等动作,以防止静态图像破解,国内多个知名APP中的人脸识别都采用了该项技术。

高小厨表示,一般的APP开发者不会自己开发人脸识别技术,而是通过第三方的API接口或SDK组件来获得人脸识别功能,基于这个特点,他对人脸识别技术从接入到实际使用过程中的每个关键点进行了分析,最终在多个环节都找到了多个突破点,只要略施小计,就能让人脸识别形同虚设。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题


1.注入应用绕过活体检测

高小厨首先在现场演示了通过注入应用的方式来篡改程序,从而绕过所谓的活体检测功能,使用一张静态照片就可以通过人脸识别。

在注入过程中,他首先在程序中布置一个了断点,通过不断演示人脸识别流程来触发该断点,然后分析并修改程序储存的值,来达到最终的绕过活体检测的效果。

除了注入应用之外,他还发现可以通过查看当前APP的数据结构,修改入参字典来篡改活体检测完成后的图片,从而达到活体检测由任意一个人完成都可以通过的效果,这样他同样可以拿着被攻击者的照片来通过静态人脸识别,然后自己眨眼抬头来破解活体检测。


2.视频攻击绕过活体检测

如果说前面的方法需要一些技术门槛,那这个方法就可以适用于所有小白用户,只需要安装一个能够将人脸照片制作成视频的手机软件,然后在朋友圈、个人空间等地方找到对方的一张正面照片(这个应该不难),输入到软件中,就可以令其开口说话,所谓的活体检测也就不攻自破。

文章开头所说的黑车司机也正是用的这款软件,实现了对APP人脸识别功能的破解。由此雷锋网猜想,如果使用软件合成的视频即能够破解人脸识别活体检测,那么任意一段清晰的正面视频也应该可以用来尝试破解,如果真如此,那些经常在网络上抛头露面的明星、网红、视频直播,一旦使用人脸识别作为密码,那就相当于把密码写在脸上了。


3. 三维建模绕过云端检测

高小厨注意到,除了点头、眨眼,有些人脸识别还会要求用户进行点头、摇头等动作,于是他立刻想到了使用3D建模,构建人脸模型的方式来破解。

通过网上下载的两个用来制作3D建模的软件,参照郭富城照片中的脸部特征,高小厨在短时间内就做出了对应的 3D 建模图像,人脸检测软件对比结果显示,这两个在短时间内制作出来的模型与原来照片的相似度分别高达 73.17 %和 86.71%,可以用来破解一般的人脸识别。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

【3D人脸模型,以及论发型的重要性】


4.脸部模具绕过云端检测

既然3D建模能成功绕过人脸识别,高小厨立刻想到了使用3D 打印来进行尝试,结果却出乎意料的失败了,在分析了失败原因时,他说:


通常人脸识别会分析脸部的多个特征值,而有的人脸识别技术会在眉毛部位提取多个特征点,而3D打印如果不够精细,打印出来人脸一般会缺少眉部特征。


如果3D打印模型只采用了一种材料,打印出来的人脸模型颜色会过于单一,比如材料是黄色的,眉毛也是黄色的,这会大大降低识别的成功率。


如果3D打印使用的材料不合适,打印出来的模型的脸部细节会很粗糙,需要后期手工打磨。


现场展示破解人脸识别技术的5种方法 | FIT 2017专题

虽然高小厨在现场没有直说,但雷锋网宅客频道编辑已经隐约能读懂他话中的含义:“不是3D打印不行,而是我用的这台3D打印机太辣鸡! 如果换一台更加精密的打印机,破解同样不在话下。”

当他掏出自己用于测试的3D打印模型时,不得不承认这个模型有些惨不忍睹,确实如同高小厨所说,缺乏面部细节、颜色单一,比例似乎也不太对。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

【用于测试的3D打印模型】


5.利用接口防护不当和各种奇葩的设计缺陷

高小厨发现,部分APP在使用上传人脸图像时,没有对图像数据进行签名,导致图片可以被工具截获然后篡改,而有的则是在数据报文没有加入时间戳,可以通过重放数据报文的方式来实施破解。

在测试某一款应用时,他发现人脸识别的成功与否,是通过返回报文中的一个阈值来决定的,相当于考试中的“及格分数”,如果人脸匹配度超过该阈值就可以通过,不幸的是,该APP 没有对这个返回报文加签名,导致该报文可以被篡改,最终高小厨通过调低该阈值的方式破解了它的人脸识别。

APP风险初步调研

高小厨在现场展示了自己进行的APP风险调研的结果,他发现除了一般的考勤、账号安全APP之外,大量的银行、P2P 金融企业的 APP 已经介入使用了人脸识别技术,其中:


  • 金融行业在使用人脸识别技术时安全性明显高于一般应用;

  • 当人脸识别技术涉及关键业务时,安全防护水准往往更高


比如他在测试国内某P2P金融的客户端时,尝试人脸识别解锁失败数次后,该APP 就检测出了可能存在恶意破解的情况,强制使用银行卡信息、手机短信等其他方式来完成认证。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

高小厨在现场强调了一点,除了人脸识别技术在手机上本身的应用缺陷之外,许多问题导致的原因都是开发者在调用第三方的人脸识别服务时,没有严格按照一个安全的规范来做,接入流程不够严谨,甚至经常出现为了提高用户体验而舍弃安全性的做法,这样的做法在技术实力不强的小公司十分常见,最终导致的结果就是,让用户把密码写在了自己的脸上。

转自:
http://www.leiphone.com/news/201612/ms2z3J1NIlPTkmQT.html
推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 在线教育平台的搭建及其优势
    在线教育平台的搭建对于教育发展来说是一次重大进步。未来在线教育市场前景广阔,但许多老师不知道如何入手。本文介绍了在线教育平台的搭建方法以及与传统教育相比的优势,包括时间、地点、空间的灵活性,改善教育不公平现象以及个性化教学的特点。在线教育平台的搭建将为学生提供更好的教育资源,解决教育不公平的问题。 ... [详细]
  • 本文讲述了叶王在水中醒来时,听到一个男孩说话的声音,但很快又忘记了。他经常浮到水面上晒月亮,唱歌吸引荧光,但不知道为什么要这样做。他的行为是本能的。 ... [详细]
  • 苹果8p电池多少毫安的_iphonexs电池多少毫安,iphonexs换电池多少钱
    使用iPhoneXS手机用户都反映XS的电池不耐用,同一系列的XR相比之下电池续航能力要强很多。iphonexs电池多少毫安,电池不耐用的原因有哪些&# ... [详细]
  • IsitpossibletomakeanAppfortheIphonethatapplychangestotheOriginalIphoneSMSapp?是否有 ... [详细]
author-avatar
额外的房间
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有