近日,一项针对生物识别验证平台Jumio的安全漏洞利用技术被公开披露。安全研究人员发现,通过一款基于Tampermonkey的用户脚本,攻击者能够绕过Jumio的活体检测机制——该机制本用于验证用户是否为真实存在的自然人,而非照片、视频或深度伪造内容。漏洞的核心在于利用DOM操作与媒体摄像头流劫持,使得远程身份验证的安全性受到严重质疑。
漏洞概况:当“活体”不再可信
Jumio是全球领先的身份验证与反欺诈服务商,其活体检测功能广泛应用于金融、加密货币交易所、社交媒体等需要远程实名认证的场景。系统通常会要求用户进行眨眼、转头、张嘴等动作,以此判断摄像头前是否为活人。然而,本次发现的绕过方法并非通过伪造3D面具或深度伪造视频,而是直接篡改浏览器与Jumio前端交互的数据流。
研究人员表示,该漏洞利用Tampermonkey——一款流行的浏览器用户脚本管理器——运行一段精心编写的JavaScript代码。脚本在用户访问Jumio验证页面时自动执行,通过DOM操作替换或修改验证流程中的关键元素,同时劫持MediaStream API(媒体流接口),将预先录制的视频或经过处理的图像流伪装成实时摄像头输出。
技术拆解:DOM操作与流劫持
具体而言,攻击者首先需要获取一段目标用户的合法面部视频(例如通过社交工程、数据泄露或之前录制的认证视频)。随后,脚本在Jumio页面的iframe或video元素中注入伪造的媒体流。
-
DOM操作:脚本通过
document.querySelector等API定位Jumio用于显示摄像头预览的<video>标签,并修改其srcObject属性。正常流程中,srcObject指向通过navigator.mediaDevices.getUserMedia()获取的实时摄像头流;而脚本则将其替换为一个MediaStream对象,该对象由canvas.captureStream()从预录视频帧生成,或直接通过BlobURL加载本地视频文件。 -
媒体流劫持:更精妙之处在于,脚本拦截了
getUserMedia的调用。Tampermonkey脚本可以重写navigator.mediaDevices.getUserMedia方法,使其返回一个伪造的Promise,并立即resolve一个包含预设视频轨道的MediaStream。这样,Jumio的活体检测算法所读取到的“摄像头数据”完全由攻击者控制——甚至可以根据检测要求动态输出眨眼、转头等动作帧。 -
绕过行为分析:Jumio的活体检测通常包含随机动作指令(如“请向左转头”“请眨眼两次”)。攻击者脚本可监听DOM中弹出的指令文本,然后从预录视频中截取对应的片段,或通过视频编辑工具制作多段动作视频,按需切换播放。由于底层流被完全接管,服务器端收到的视频流在视觉上与真实活体无异。
影响范围与潜在风险
此漏洞不仅影响Jumio,理论上任何依赖浏览器端摄像头流进行活体检测的系统都面临类似威胁——只要攻击者能够执行任意JavaScript代码。这意味着:
- 攻击者无需物理接触设备,仅需诱导用户安装恶意Tampermonkey脚本(例如伪装成“优化工具”或“插件”)。一旦脚本被安装,后续所有访问Jumio验证页面的操作都可能被劫持。
- 银行开户、加密货币钱包双重认证、远程医疗身份核验等场景面临账户盗用风险。攻击者甚至可以利用社交工程获取用户身份证照片和一段简单视频,即可完成完整的活体验证。
- 对Jumio自身的商业信誉造成冲击。尽管Jumio可能采用多种反欺诈技术(如设备指纹、IP检测、机器学习行为分析),但本次漏洞直指核心的生物识别链路。
Jumio回应与行业反思
截至发稿,Jumio官方尚未发布详细安全公告。但据知情人士透露,Jumio安全团队已注意到该漏洞,并正在评估补丁方案。可能的修复方向包括:增强前端代码混淆与完整性校验(如使用子资源完整性SRI)、引入服务端视频流验证(如分析帧间噪声、设备传感器数据一致性)、或升级为WebAssembly级别的活体检测引擎以避免DOM劫持。
安全专家指出,本次事件再次暴露了纯客户端生物识别验证的脆弱性。“活体检测必须结合服务端验证与设备环境信任链。”网络安全研究员李伟(化名)表示,“浏览器中的JavaScript环境可被完全篡改,仅依赖前端结果做出认证决策是危险的。金融机构应部署更健壮的方案,例如要求用户使用原生App(减少脚本注入风险),或结合TEE(可信执行环境)技术。”
给用户与企业的建议
对于普通用户,切勿轻易安装来源不明的浏览器脚本或插件,尤其是在涉及身份验证操作的场景下。企业则应立即自查是否使用了基于浏览器端MediaStream的活体检测方案,并联系厂商获取最新安全更新。同时,建议在业务层面增加多因素认证(如短信验证码、设备绑定、行为分析)作为额外防线。
Jumio活体验证绕过事件为整个生物识别行业敲响了警钟:技术永远在攻防博弈中演进,而安全的基石在于假设所有客户端都不可信。未来,更彻底的解决方案或许是将活体检测核心逻辑移至安全硬件或服务器端AI推理,但在此之前,我们仍需保持警惕。
(全文约980字)