2、攻击手段剖析:纸质照片攻击、屏幕翻拍攻击、视频重放攻击、3D面具攻击的原理与特点

做活体检测这几年,我见过最离谱的一次——有人拿着一张A4纸打印的照片,对着摄像头晃了晃,系统就通过了。嗯,那是早期的一个项目,用的还是最基础的人脸比对,完全没有活体检测。从那以后我就明白,不了解攻击手段,就做不出靠谱的防御。

这一章,咱们把四种主流攻击方式掰开揉碎。你想想看,攻击者手里有什么?一张照片、一部手机、一段视频,或者一个3D打印的面具。每种手段的原理和特点都不一样,防御策略自然也不同。

核心认知: 所有攻击的本质,都是让传感器采集到“非真实人脸”的视觉信号,从而欺骗识别系统。理解攻击原理,是设计防御方案的第一步。
四种常见活体攻击手段对比 活体检测系统 纸质照片攻击 静态打印/裁剪 屏幕翻拍攻击 手机/平板显示 视频重放攻击 预录视频播放 3D面具攻击 立体仿生面具 特征 • 成本极低 • 无动态信息 • 易被纹理检测识破 特征 • 有摩尔纹风险 • 屏幕边界可检测 • 亮度异常 特征 • 有动态信息 • 唇动/眨眼可模拟 • 需动作指令配合 特征 • 成本高 • 立体感强 • 材质纹理可区分 防御难度:低 防御难度:中 防御难度:中高 防御难度:高

2.1 纸质照片攻击:最原始,也最顽固

说白了,这就是把目标人物的照片打印出来,直接怼到摄像头前。我早期做安防项目时,客户反馈最多的就是这种攻击——门槛太低了,一张A4纸、一台打印机,谁都能干。

原理分析: 攻击者利用的是人脸识别系统对“人脸特征”的匹配逻辑。只要照片中的人脸特征与注册库中的特征向量足够接近,系统就会判定为同一人。早期的1:N识别系统,甚至不需要活体检测,一张照片就能通过。

我踩过的坑: 有一次,客户说他们的系统被员工用照片打卡作弊。我过去一看,发现系统只做了人脸检测,没做活体检测。解决方案很简单——加一个眨眼检测,照片就过不去了。但后来攻击者又用“照片+手指遮挡”模拟眨眼……嗯,道高一尺魔高一丈。

纸质照片攻击的特点:

  • 成本极低: 一张打印纸+彩色打印机,成本不到1块钱。
  • 无动态信息: 照片是静态的,没有眨眼、张嘴、转头等动作。
  • 边缘明显: 照片边缘、纸张纹理、裁剪痕迹在图像中清晰可见。
  • 反光异常: 照片表面通常有光泽,在特定光照下会产生镜面反射。
  • 缺乏深度: 照片是平面的,没有面部深度信息。

防御思路: 最简单的做法是要求用户做动作——眨眼、张嘴、摇头。照片做不到这些。但要注意,攻击者可能会用“照片+手指遮挡”模拟眨眼,所以单一动作指令不够,需要组合使用。

2.2 屏幕翻拍攻击:手机屏幕成了武器

这种攻击比纸质照片高级一点。攻击者用手机或平板电脑显示目标人物的照片,然后对着摄像头翻拍。你想想看,现在手机屏幕分辨率越来越高,显示的人脸几乎以假乱真。

原理分析: 屏幕翻拍的本质是“二次成像”。摄像头采集到的不是真实人脸,而是屏幕发出的光线。屏幕的像素点、刷新率、色彩空间都会在图像中留下痕迹。

我在项目中遇到过一种情况:攻击者把目标人物的照片存在手机里,然后用另一台手机对着屏幕翻拍。更狡猾的是,他们还会调整屏幕亮度,让照片看起来更自然。

屏幕翻拍攻击的特点:

  • 摩尔纹: 屏幕的像素网格与摄像头传感器之间会产生干涉条纹,这是最明显的破绽。
  • 屏幕边界: 翻拍图像中经常能检测到屏幕的边缘或边框。
  • 亮度异常: 屏幕的亮度分布与真实人脸不同,通常整体偏亮或偏暗。
  • 色彩偏差: 屏幕的色域与真实人脸不同,翻拍后颜色会失真。
  • 刷新率痕迹: 如果摄像头帧率与屏幕刷新率不匹配,会出现滚动条纹。
特征维度 真实人脸 屏幕翻拍
纹理细节 自然皮肤纹理,毛孔可见 像素网格纹理,有摩尔纹
光照分布 环境光均匀,有阴影过渡 屏幕自发光,亮度均匀无阴影
边缘特征 面部边缘自然模糊 屏幕边缘锐利,有矩形边界
色彩表现 自然肤色,色彩丰富 色彩偏冷或偏暖,饱和度异常
动态信息 有微表情、呼吸等微小运动 完全静止,或只有整体移动
注意: 随着手机屏幕分辨率越来越高(4K、8K),摩尔纹检测的难度在增加。我建议不要只依赖单一特征,要结合纹理分析、边缘检测、光照一致性等多个维度综合判断。

2.3 视频重放攻击:动态也能造假

这是纸质照片和屏幕翻拍的升级版。攻击者提前录制一段目标人物的视频,然后在摄像头前播放。视频里包含了眨眼、张嘴、摇头等动作,能骗过简单的动作指令检测。

原理分析: 视频重放攻击利用了活体检测系统对“动态信息”的依赖。如果系统只检查“有没有眨眼”,那视频里的眨眼就能通过。但视频重放有一个致命弱点——它无法响应随机指令。

我记得有一次做金融场景的活体检测,客户要求必须通过随机指令验证。攻击者录了10分钟的视频,里面包含了各种动作。但系统每次随机生成指令,比如“先眨眼再张嘴”,视频里很难恰好有对应的动作序列。

视频重放攻击的特点:

  • 有动态信息: 包含眨眼、唇动、头部转动等动作,能骗过简单动作检测。
  • 无法响应随机指令: 预录视频无法实时响应系统随机生成的动作指令。
  • 画质损失: 视频经过压缩、转码、播放后,画质会有明显下降。
  • 背景异常: 视频背景通常是固定的,或者有明显的播放器界面痕迹。
  • 音频缺失: 如果系统要求朗读数字或说话,视频重放无法实时配合。
关键防御策略: 使用随机动作指令序列。比如系统随机要求“先向左转头,再眨眼,最后张嘴”。预录视频无法覆盖所有组合,攻击成功率会大幅下降。我建议指令数量至少3个,组合方式超过10种。

2.4 3D面具攻击:最逼真,也最难防

这是目前最棘手的攻击方式。攻击者使用3D打印技术,制作一个目标人物的立体面具。面具的材质、颜色、甚至皮肤纹理都高度仿真。戴上它,摄像头采集到的就是一个“立体人脸”。

原理分析: 3D面具攻击针对的是基于深度信息的活体检测。普通照片和视频是平面的,没有深度信息。但3D面具是立体的,能骗过结构光、ToF等深度传感器。更高级的面具甚至能模拟皮肤弹性,在按压时产生形变。

我在一个高端安防项目中遇到过3D面具攻击。攻击者用高精度3D扫描仪获取了目标人物的面部数据,然后用硅胶材料打印了一个面具。说实话,第一次看到测试视频时,我差点没分辨出来——太像了。

3D面具攻击的特点:

  • 立体感强: 有真实的面部轮廓和深度信息,能骗过深度传感器。
  • 成本高: 高精度3D扫描+打印+手工上色,成本可能上千甚至上万元。
  • 制作周期长: 从扫描到成品,通常需要几天到一周时间。
  • 材质差异: 硅胶、树脂等材料的反射特性与真实皮肤不同。
  • 动态响应差: 面具无法模拟真实的肌肉运动,表情僵硬。
防御难点: 3D面具能骗过大多数基于深度信息的活体检测。我建议采用多模态融合方案——结合RGB纹理分析、红外成像、热成像、以及行为特征(如微表情、肌肉运动)来综合判断。单一传感器很难防住高精度面具。

2.5 四种攻击的对比总结

为了方便你快速对比,我把四种攻击的核心维度整理成了一张表。做方案选型时,可以直接参考。

攻击类型 攻击成本 制作难度 动态信息 深度信息 防御难度 典型场景
纸质照片 极低(<1元) 极低 无 无 低 考勤打卡、门禁
屏幕翻拍 低(手机即可) 低 无 无 中 手机解锁、远程认证
视频重放 中(需录制视频) 中 有(预录) 无 中高 金融交易、在线开户
3D面具 高(千元级) 高 有限 有 高 高安全等级场景
我的建议: 做活体检测方案时,先评估你的业务场景。考勤打卡用简单的动作指令就够了;金融交易至少需要随机指令+纹理分析;高安全等级场景,必须上多模态融合。别一上来就搞复杂方案,也别轻视任何攻击手段。