摘要

在现有社交媒体的今天,聊天视频是社交的一种手段,而面部活体检测则成为抵御身份欺诈的最后一道屏障。但是,攻击者可以通过虚拟摄像头注入预录视频,绕过面部活体检测的传感器层。

本文深入拆解这一攻击手法的实施方式及其背后的技术逻辑,并探讨对身份验证体系的深层威胁与防御方向。

身份验证

在数字世界里,“证明你是你”是一个根本性的安全命题。主流的身份验证方式可以分为四个递进的层级:

  • 知识因子:密码、PIN码、安全问题。这是成本最低、也最容易被钓鱼和爆破的方式。
  • 持有因子:一次性验证码、硬件令牌。增加了攻击成本,但SIM卡劫持和OTP拦截已相当成熟。
  • 文档因子:身份证、护照、驾照。通过OCR提取信息并与数据库比对,但证件伪造产业已高度工业化。
  • 生物特征因子:人脸、指纹、虹膜、声纹。因为“身体无法被窃取”,被视为最强验证手段。

其中,面部识别因其非接触、低摩擦的特性,成为金融、加密货币交易平台等高风险场景的首选。但它回答的仅仅是“这是对的人吗?”,而一个更前置的问题——“这是真人吗?”——则由面部活体检测来回答。

面部活体检测的本质,是判断摄像头前呈现的到底是一个真实的、有生命的人类,还是一个伪造的呈现物。根据实现方式,它分为两大流派:

类型
机制
优势
劣势
被动活体检测
无需用户配合,通过分析输入图像的纹理、光照、颜色空间等特征判断真伪
用户体验好,快速无感
对输入质量要求高,低光环境等场景表现不佳
主动活体检测
要求用户做出指定动作(转头、眨眼、追踪移动物体等)
难以用预录视频欺骗
体验繁琐,用户容易不耐

 

然而,这个看似坚固的防御体系,正在面临一种根本性的威胁——攻击者选择直接欺骗传感器本身。

传统呈现攻击

在学术界,对生物识别传感器的攻击被称为“呈现攻击”,常见有三种形态:

  • 2D静态欺骗:将目标的高清照片打印在纸上,或显示在手机、显示器屏幕上,对着摄像头展示。
  • 视频重放攻击:播放预先录制或AI生成的视频,而非静态图像。
  • 3D硅胶面具:制作高仿真的三维面具,物理上覆盖攻击者的面部。

2019年曾发生过一起轰动行业的真实案例:诈骗者使用硅胶面具,通过Skype视频通话冒充法国外交部长,骗取了高达9000万美元的资金。

在这三种方法中,视频重放攻击看似最经济,但存在两个难以克服的技术短板:

一是质量损失。 当预录视频通过显示器屏幕再次被摄像头捕获时,会经历一次“二次采样”——摄像头的CMOS传感器重新捕捉屏幕发出的光线,这个过程必然引入:

  • 颜色空间退化:原始视频的HSV/HSL色彩信息被压缩并二次编码,饱和度与亮度曲线发生偏移;
  • 对焦/模糊损失:显示器的像素网格与摄像头的对焦系统之间产生摩尔纹或柔焦效果;
  • RGB通道失真:屏幕的背光光谱与自然光不同,灰度层次被压缩。

二是显示器物理特征的暴露。 任何显示屏都无法完全隐藏自身的存在:

  • 屏幕表面的眩光和反射;
  • 特定角度的色度偏移;
  • 显示器刷新率导致的频闪(50Hz/60Hz的电网频率残留)。

这些特征正是活体检测系统重点捕捉的异常信号。2019年Black Hat大会上展示的硬件级视频注入方案虽然有效,但基于专用芯片(如TC358749XBG)的搭建成本高、资源消耗大,不具备大规模滥用条件。

这就引出了一个关键问题:能不能绕过“显示器呈现”这个环节,直接把视频信号注入给验证系统?

虚拟摄像头注入

核心思路极为简洁:

传统攻击:真人视频 → 显示器播放 → 摄像头“看”屏幕 → 验证系统

注入攻击:预录视频 → 虚拟摄像头驱动 → 验证系统

关键差异在于——去掉了“显示器播放”和“物理摄像头捕获”这两个造成质量损失的环节。攻击者使用软件虚拟出一个摄像头设备,将其输入源设置为预录视频文件,验证系统读取到的画面比特级完全等同于原始视频,没有任何二次采样的质量退化。

这一思路的根本转变在于:攻击面从“算法”下沉到了“传感器层”。活体检测算法再精妙,如果它接收到的信号本身就是精心准备好的合法内容,一切分析都建立在虚假的基座上。

虚拟摄像头的本质是一个软件中间层:在上层应用看来,它是一个标准的摄像头设备,提供标准的视频流接口(DirectShow、AVFoundation、Camera2 API等);在底层,它允许用户自由选择输入源——视频文件、图片、桌面录屏、甚至另一台物理摄像头的转发流。

市面上有大量免费且跨平台的虚拟摄像头实现:

  • OBS Studio Virtual Camera:开源、跨平台、社区庞大,是本次研究的主要工具;
  • ManyCam:商用的多功能虚拟摄像头;
  • Snap Camera:曾与Snapchat集成的虚拟摄像头;
  • YouCam、SplitCam、XSplit VCam 等。

这些工具本是为直播、视频会议、内容创作等合法场景设计,但其“允许选择任意视频源作为摄像头输入”的核心能力,恰好构成了对活体检测的致命威胁。

我们可以将攻击落地方式归纳为三条路径,覆盖了用户可能使用的所有终端形态。

桌面端直接注入

当用户通过桌面浏览器或桌面应用进行面部活体验证时,攻击者将虚拟摄像头(如OBS Virtual Camera)设置为系统默认摄像头,并把预录视频作为输入源。

验证平台的前端通过WebRTC的getUserMedia() API获取摄像头流,无法区分物理设备与虚拟设备——操作系统层面两者都是/dev/video*或DirectShow设备节点。

移动模拟器注入

当验证服务要求使用移动端应用时,攻击者在PC上运行Android模拟器(如BlueStacks),将模拟器的摄像头映射到预先配置好的虚拟摄像头。验证应用在模拟器内正常运行,接收到的视频流来自预录文件。这种方法成本极低,但面临两个防御手段:

  • 模拟器检测:应用可检测运行环境特征——Build信息、传感器缺失、硬件指纹等;
  • 反篡改保护:对应用包进行完整性校验、Hook检测等。

物理手机配合虚拟环境

这是最贴近真实终端、也最难检测的方案。攻击者在一台真实的Android手机上安装虚拟环境应用(如Virtual Camera: Live Assist),在该虚拟环境中运行目标验证应用,并将虚拟环境的“摄像头”指向预录视频。

因为底层仍然是真实的物理设备,模拟器检测和反篡改机制全部失效——但对于验证系统而言,摄像头输入的依然是攻击者精心准备的视频内容。

攻击素材获取

这一攻击体系成立的前提是攻击者获取了目标人物的视频素材。而现实是:在抖音、快手、X等平台上,大量用户持续生产正脸对着镜头讲话、转头、微笑的短视频——这些恰好构成了面部活体检测所需的“素材库”。

此外,商务视频会议、公开演讲、vlog等场景也在持续提供角度完整、光线良好的面部影像。攻击者可以直接借助AI生成Deepfake,直接从社交媒体抓取原视频并伪造就足以实施攻击(在课程的“进攻性AI”中可以复现该攻击)。

与需要专用硬件、高价硅胶面具或专业3D打印的方案不同,虚拟摄像头注入攻击的成本结构极为“优越”:

  • 软件全部免费、开源、易于获取;
  • 配置时间按分钟计,不需要专业知识;
  • 不需要任何物理材料或硬件模块。

这意味着它具备了从定向攻击扩散为大规模欺诈手段的所有条件。

长期以来,身份验证领域的安全研究集中在算法层面——如何更准确地识别人脸、如何更灵敏地捕捉活体特征。

防御

面对这一攻击范式,业界正在多个层面探索应对方案。

防守方的第一条防线是区分“物理摄像头”与“虚拟摄像头”。可行的检测维度包括:

  • 设备名称检查:虚拟摄像头通常携带品牌标识(如“OBS Virtual Camera”)。但需要注意,部分虚拟摄像头支持自定义设备名称,因此仅靠名称不可靠;
  • 支持分辨率枚举:物理摄像头的支持分辨率通常与传感器规格一致,而虚拟摄像头的分辨率列表往往是软件的默认集合,与典型物理传感器存在差异;
  • 摄像头API行为分析:物理摄像头对特定控制命令(如自动曝光、白平衡调整)的响应模式有硬件级特征,虚拟摄像头通常返回预设值或根本不实现这些接口。

更为根本的方案是实现“远程图像证明”:由验证服务端要求客户端对捕获的媒体数据进行密码学签名。

流程简化为:

  1. 客户端使用私钥对视频帧的哈希值签名;
  2. 视频数据与签名一同提交至服务端;
  3. 服务端使用公钥验证签名,确认数据未被篡改或替换。

这能确保接收到的视频确实由指定的客户端在当下生成,而非从视频文件管道注入——尽管在纯软件层面实现仍有挑战(客户端环境本身可能被操纵)。

但是,单一验证手段必然存在被绕过的可能,多层防御才是正确的方向:

  • 将面部活体检测与证件/ID验证结合,并进行人脸比对;
  • 将实时自拍与预留的参考自拍进行交叉比对;
  • 监控验证失败的尝试次数——预录视频通常难以在第一次尝试时就成功通过所有动态要求;
  • 对于高风险场景,采用真随机动作序列的主动活体检测,要求用户做出由系统实时生成且不可预测的动作,从根本上杜绝预录视频的可用性;
  • 对极高敏感度的操作,引入人工远程监考机制——由真人通过视频通话实时审核用户身份,并要求完成特定交互任务。

持续改进AI模型,以更精细的粒度检测视频流中的异常——包括但不限于循环播放的检测、Deepfake生成痕迹、数字滤镜(平滑、磨皮等美颜处理)的识别等。这些技术需要与传统检测手段并行部署,构成纵深防御体系。

总结

在身份验证的链条上,传感器本身正在成为一个被长期忽视的信任锚点。当攻击者从“欺骗算法”转向“欺骗传感器”,整个生物识别验证体系的假设前提便需要被重新审视。

此外,AI技术可以帮助攻击者快速构造所对应的面部和语音结构,极大地减小了攻击的难度(在课程中的“进攻性AI”复现)。

这不是一个能被单一技术方案解决的问题。它要求身份验证的架构设计者、应用开发者和安全从业者共同接受一个新的共识:在证明“用户是谁”之前,必先回答“来自传感器的数据是否值得信赖”。 这是一个在数字与物理世界交汇处,还将持续演进的攻防前沿。