2、攻击手段剖析:纸质照片攻击、屏幕翻拍攻击、视频重放攻击、3D面具攻击的原理与特点
做活体检测这几年,我见过最离谱的一次——有人拿着一张A4纸打印的照片,对着摄像头晃了晃,系统就通过了。嗯,那是早期的一个项目,用的还是最基础的人脸比对,完全没有活体检测。从那以后我就明白,不了解攻击手段,就做不出靠谱的防御。
这一章,咱们把四种主流攻击方式掰开揉碎。你想想看,攻击者手里有什么?一张照片、一部手机、一段视频,或者一个3D打印的面具。每种手段的原理和特点都不一样,防御策略自然也不同。
2.1 纸质照片攻击:最原始,也最顽固
说白了,这就是把目标人物的照片打印出来,直接怼到摄像头前。我早期做安防项目时,客户反馈最多的就是这种攻击——门槛太低了,一张A4纸、一台打印机,谁都能干。
原理分析: 攻击者利用的是人脸识别系统对“人脸特征”的匹配逻辑。只要照片中的人脸特征与注册库中的特征向量足够接近,系统就会判定为同一人。早期的1:N识别系统,甚至不需要活体检测,一张照片就能通过。
纸质照片攻击的特点:
- 成本极低: 一张打印纸+彩色打印机,成本不到1块钱。
- 无动态信息: 照片是静态的,没有眨眼、张嘴、转头等动作。
- 边缘明显: 照片边缘、纸张纹理、裁剪痕迹在图像中清晰可见。
- 反光异常: 照片表面通常有光泽,在特定光照下会产生镜面反射。
- 缺乏深度: 照片是平面的,没有面部深度信息。
防御思路: 最简单的做法是要求用户做动作——眨眼、张嘴、摇头。照片做不到这些。但要注意,攻击者可能会用“照片+手指遮挡”模拟眨眼,所以单一动作指令不够,需要组合使用。
2.2 屏幕翻拍攻击:手机屏幕成了武器
这种攻击比纸质照片高级一点。攻击者用手机或平板电脑显示目标人物的照片,然后对着摄像头翻拍。你想想看,现在手机屏幕分辨率越来越高,显示的人脸几乎以假乱真。
原理分析: 屏幕翻拍的本质是“二次成像”。摄像头采集到的不是真实人脸,而是屏幕发出的光线。屏幕的像素点、刷新率、色彩空间都会在图像中留下痕迹。
我在项目中遇到过一种情况:攻击者把目标人物的照片存在手机里,然后用另一台手机对着屏幕翻拍。更狡猾的是,他们还会调整屏幕亮度,让照片看起来更自然。
屏幕翻拍攻击的特点:
- 摩尔纹: 屏幕的像素网格与摄像头传感器之间会产生干涉条纹,这是最明显的破绽。
- 屏幕边界: 翻拍图像中经常能检测到屏幕的边缘或边框。
- 亮度异常: 屏幕的亮度分布与真实人脸不同,通常整体偏亮或偏暗。
- 色彩偏差: 屏幕的色域与真实人脸不同,翻拍后颜色会失真。
- 刷新率痕迹: 如果摄像头帧率与屏幕刷新率不匹配,会出现滚动条纹。
| 特征维度 | 真实人脸 | 屏幕翻拍 |
|---|---|---|
| 纹理细节 | 自然皮肤纹理,毛孔可见 | 像素网格纹理,有摩尔纹 |
| 光照分布 | 环境光均匀,有阴影过渡 | 屏幕自发光,亮度均匀无阴影 |
| 边缘特征 | 面部边缘自然模糊 | 屏幕边缘锐利,有矩形边界 |
| 色彩表现 | 自然肤色,色彩丰富 | 色彩偏冷或偏暖,饱和度异常 |
| 动态信息 | 有微表情、呼吸等微小运动 | 完全静止,或只有整体移动 |
2.3 视频重放攻击:动态也能造假
这是纸质照片和屏幕翻拍的升级版。攻击者提前录制一段目标人物的视频,然后在摄像头前播放。视频里包含了眨眼、张嘴、摇头等动作,能骗过简单的动作指令检测。
原理分析: 视频重放攻击利用了活体检测系统对“动态信息”的依赖。如果系统只检查“有没有眨眼”,那视频里的眨眼就能通过。但视频重放有一个致命弱点——它无法响应随机指令。
我记得有一次做金融场景的活体检测,客户要求必须通过随机指令验证。攻击者录了10分钟的视频,里面包含了各种动作。但系统每次随机生成指令,比如“先眨眼再张嘴”,视频里很难恰好有对应的动作序列。
视频重放攻击的特点:
- 有动态信息: 包含眨眼、唇动、头部转动等动作,能骗过简单动作检测。
- 无法响应随机指令: 预录视频无法实时响应系统随机生成的动作指令。
- 画质损失: 视频经过压缩、转码、播放后,画质会有明显下降。
- 背景异常: 视频背景通常是固定的,或者有明显的播放器界面痕迹。
- 音频缺失: 如果系统要求朗读数字或说话,视频重放无法实时配合。
2.4 3D面具攻击:最逼真,也最难防
这是目前最棘手的攻击方式。攻击者使用3D打印技术,制作一个目标人物的立体面具。面具的材质、颜色、甚至皮肤纹理都高度仿真。戴上它,摄像头采集到的就是一个“立体人脸”。
原理分析: 3D面具攻击针对的是基于深度信息的活体检测。普通照片和视频是平面的,没有深度信息。但3D面具是立体的,能骗过结构光、ToF等深度传感器。更高级的面具甚至能模拟皮肤弹性,在按压时产生形变。
我在一个高端安防项目中遇到过3D面具攻击。攻击者用高精度3D扫描仪获取了目标人物的面部数据,然后用硅胶材料打印了一个面具。说实话,第一次看到测试视频时,我差点没分辨出来——太像了。
3D面具攻击的特点:
- 立体感强: 有真实的面部轮廓和深度信息,能骗过深度传感器。
- 成本高: 高精度3D扫描+打印+手工上色,成本可能上千甚至上万元。
- 制作周期长: 从扫描到成品,通常需要几天到一周时间。
- 材质差异: 硅胶、树脂等材料的反射特性与真实皮肤不同。
- 动态响应差: 面具无法模拟真实的肌肉运动,表情僵硬。
2.5 四种攻击的对比总结
为了方便你快速对比,我把四种攻击的核心维度整理成了一张表。做方案选型时,可以直接参考。
| 攻击类型 | 攻击成本 | 制作难度 | 动态信息 | 深度信息 | 防御难度 | 典型场景 |
|---|---|---|---|---|---|---|
| 纸质照片 | 极低(<1元) | 极低 | 无 | 无 | 低 | 考勤打卡、门禁 |
| 屏幕翻拍 | 低(手机即可) | 低 | 无 | 无 | 中 | 手机解锁、远程认证 |
| 视频重放 | 中(需录制视频) | 中 | 有(预录) | 无 | 中高 | 金融交易、在线开户 |
| 3D面具 | 高(千元级) | 高 | 有限 | 有 | 高 | 高安全等级场景 |