简介:AI换脸攻击已从实验室走向真实犯罪:公开司法案例显示,攻击者仅凭一张照片即可合成动态视频绕过人脸核验、窃取个人信息。本文剖析该攻击的完整技术链路与失效根因,并系统介绍主动/被动活体检测、注入检测、多因子风控等防御方案与工程实践,帮助开发者构建纵深防御的可信身份认证体系。
近期公开的司法案例显示,两名被告人通过收集他人照片,利用AI视频生成技术将静态人像合成为包含眨眼、点头、张嘴等动作的动态视频,再借助技术手段将视频注入人脸核验流程,绕过部分平台的人脸识别校验,进而窃取被害人个人信息。这起案件揭示了一个严峻现实:随着生成式AI的普及,“单张照片+短时间合成”已足以对仅依赖2D人脸比对的身份核验体系构成实质性威胁。
对开发者而言,这个案例的价值不在于猎奇,而在于它完整暴露了“以人脸比对为核心的身份认证体系”的薄弱环节——比对算法本身没有问题,问题出在“输入源是否可信”。
目前的图像驱动技术主要依赖两条路线:
从公开案例可以抽象出一条典型的攻击链路:
核心原因在于比对与防伪是两个独立的问题:
系统随机下发动作指令(如“眨眼—张嘴—向左转头”或朗读随机数字),要求用户在限定时间内完成。其防御逻辑在于:攻击者无法预知指令序列,无法提前合成对应动作的视频。工程上需注意两点:
被动方案不要求用户配合,从单帧或多帧图像中挖掘“真脸”与“假脸”的细微差异:
针对虚拟摄像头、视频流劫持这类注入手段,可在端侧增加检测:
没有任何单一技术能一劳永逸,工程上更可靠的做法是构建纵深防御:
用一个简化的决策流程示意核验链路(伪代码):
def verify_identity(user, frames, context):# 1. 图像质量与合规性检测if not check_face_quality(frames):return Reject("IMAGE_QUALITY_LOW")# 2. 主动活体:服务端校验随机指令完成情况(含时序)if not verify_active_challenge(frames, context.challenge):return Reject("LIVENESS_ACTIVE_FAIL")# 3. 被动活体:翻拍/合成痕迹评分liveness_score = passive_liveness_score(frames)# 4. 人脸比对:与注册底库照片比对similarity = face_compare(frames, user.registered_face)# 5. 上下文风控:设备指纹、网络环境、行为序列risk = risk_engine.evaluate(context)# 6. 综合决策if liveness_score >= 0.9 and similarity >= 0.8 and risk.level == "LOW":return Approve()if risk.level == "HIGH":return ManualReview(context) # 人工复核并留存证据return StepUpAuth() # 升级为多因子认证
这起案例本质上是一次“生成式AI与身份认证体系”的攻防演练:攻击成本已降到极低,而防御方若仍停留在“人脸比对通过即放行”的单一逻辑上,风险敞口将持续扩大。对开发者而言,正确的应对思路是承认“任何单点都可能被攻破”,转而构建活体检测、比对校验、设备风控、人工复核层层递进的纵深防御体系,并以合规为底线处理生物特征数据。身份认证的对抗性决定了它没有“终态方案”,持续演进才是唯一确定的答案。