当前位置:网站首页>面部识别:攻击类型和反欺骗技术
面部识别:攻击类型和反欺骗技术
2020-11-08 07:14:00 【人工智能遇见磐创】
作者|Trung Anh Dang 编译|Flin 来源|towardsdatascience
多亏了计算机科学和电子技术的迅速发展,如今,就市场份额而言,面部识别正成为仅次于指纹的全球第二大生物特征认证方法。
每天,越来越多的制造商在他们的产品中加入面部识别功能,例如苹果公司采用了人脸识别技术,银行则采用eKYC解决方案进行了入职流程。
人脸识别研究的主要目的是提高验证和识别任务的性能,与此相反,过去对人脸识别系统的安全漏洞的研究较少,直到最近几年,人们才开始关注不同类型的人脸识别攻击,包括检测一个生物特征是来自一个活着的人还是一张照片。
面部识别系统上使用的两种攻击
如上图所示,存在七个可以作为攻击目标的模块和点,它们分为两种类型:演示攻击和间接攻击。
演示攻击
演示攻击在传感器级别(1)进行,而无需访问系统内部。
演示攻击与纯粹的生物识别漏洞有关。在这些攻击中,入侵者使用某种伪像,例如,照片,面具,合成指纹或打印的虹膜图像,或试图模仿真实用户的行为(例如步态,签名)欺诈地访问生物识别系统。
由于“生物特征不是秘密”,攻击者意识到这种现实,即暴露了大量生物特征数据,显示了人的脸部,眼睛,声音和行为,因此他们利用这些信息资源来尝试利用以下示例欺骗人脸识别系统。
-
攻击者使用要被冒充的用户照片。
-
他们使用要模仿的用户视频。
-
黑客可以构建和使用被攻击人脸的3D模型,例如,超逼真面具
我们使用反欺骗技术来防止这些攻击。
间接攻击
可以在数据库,匹配的通信通道等上执行间接攻击(2-7)。在这种类型的攻击中,攻击者需要访问系统内部。
可以通过与“经典”网络安全有关的技术(而不是与生物识别技术)相关的技术来防止间接攻击,因此在本文中我们将不再讨论。
进攻方式
如果不实施演示攻击检测,大多数最新的面部生物特征识别系统都容易受到简单攻击。
通常,可以通过向相机呈现目标人员的照片,视频或3D蒙版来欺骗面部识别系统。或使用化妆或整形手术。但是,由于高分辨率数码相机曝光率高、成本低,使用照片和视频是最常见的攻击类型。
-
照片攻击:照片攻击包括将被攻击身份的照片显示在面部识别系统的传感器上。
-
视频攻击:攻击者可以在任何复制视频的设备中播放合法用户的视频,然后将其呈现给传感器/摄像机。
-
3D蒙版攻击:在这种类型的攻击中,攻击者构建面部的3D重建并将其呈现给传感器/相机。
-
其他攻击:化妆,手术
反欺骗技术
因为大多数面部识别系统很容易受到欺骗方的攻击。因此,为了在真实场景中设计一个安全的人脸识别系统,从系统的初始规划开始,防欺骗技术应该是首要任务。
由于面部识别系统试图区分真实用户,因此无需确定提供给传感器的生物特征样本是真实的还是假的。我们可以通过以下四种不同方式来实现它们。
传感器
我们使用传感器来检测信号中的实时特征。
专用硬件
借助专用硬件(例如3D摄像机)来检测生命迹象,但并非总是可以部署。
挑战响应法
使用挑战响应法,其中可以通过请求用户以特定方式与系统进行交互来检测演示攻击。
-
微笑
-
悲伤或幸福的面部表情
-
头部动作
算法
使用以下识别算法本质上具有抵御攻击的能力。
镜面特征投影:首先,通过刻画真实图像对应的镜面特征空间,在此基础上学习真实数据和虚假数据的投影。其次,根据真实投影训练SVM模型,然后使用3D掩模投影和打印照片投影作为检测模拟的反欺骗模型。
深度特征融合:通过深入研究人脸图像颜色特征信息对人脸检测的重要性,利用深度卷积神经网络ResNet和SENet构建了深度特征融合网络结构,有效地训练相关的人脸防欺骗数据。
图像质量评估:该方法基于图像质量度量的组合。该解决方案将原始图像与经过处理的图像进行比较。
深度学习:此方法基于多输入架构,该架构结合了预训练的卷积神经网络模型和本地二进制模式描述符。
生物特征认证方法 https://towardsdatascience.com/biometric-authentication-methods-61c96666883a
如何实施?
我们可以使用反欺骗技术构建演示攻击检测系统(PAD),并将其与面部识别系统集成。
使用这种方法,防欺骗系统首先做出决定,只有确定样本来自有生命的人之后,面部识别系统才会对其进行处理。
欢迎关注磐创AI博客站: http://panchuang.net/
sklearn机器学习中文官方文档: http://sklearn123.com/
欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/
版权声明
本文为[人工智能遇见磐创]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4253699/blog/4707731
边栏推荐
- Getting started with go wire dependency injection
- Android Basics - RadioButton (radio button)
- 双向LSTM在时间序列异常值检测的应用
- A compilation bug brought by vs2015 Update1 update [existing solutions]
- CPP (2) creating CPP project
- Privacy violation and null dereference of fortify vulnerability
- 什么你的电脑太渣?这几招包你搞定! (Win10优化教程)
- WPF personal summary on drawing
- Is blazor ready to serve the enterprise?
- The instanceof operator in ecmascript7 specification
猜你喜欢
See once to understand, graphic single chain table inversion
ulab 1.0.0发布
C / C + + Programming Notes: what are the advantages of C compared with other programming languages?
iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
UCGUI简介
高并发,你真的理解透彻了吗?
Get tree menu list
Simple use of future in Scala
A compilation bug brought by vs2015 Update1 update [existing solutions]
Unparseable date: 'Mon Aug 15 11:24:39 CST 2016',时间格式转换异常
随机推荐
归纳一些比较好用的函数
FORTRAN 77 reads some data from the file and uses the heron iteration formula to solve the problem
PerconaXtraDBCluster8.0 最详尽用法指南
FORTRAN77从文件中读入若干数据并用heron迭代公式开方
Abnormal + Abstract
A compilation bug brought by vs2015 Update1 update [existing solutions]
WPF personal summary on drawing
Basic operation of database
Wechat applet request reported 400 error @ requestbody failed to receive
解决RabbitMQ消息丢失与重复消费问题
Golang anonymous structure member, named structure member, inheritance, composition
iOS上传App Store报错:this action cannot be completed -22421 解决方案
鼠标变小手
Insight -- the application of sanet in arbitrary style transfer
nvm
Sentry installation
你的主机中的软件中止了一个已建立的连接。解决方法
QT hybrid Python development technology: Python introduction, hybrid process and demo
面部识别:攻击类型和反欺骗技术
[original] about the abnormal situation of high version poi autosizecolumn method