某日凌晨 2:13,汇丰风控系统接连收到 17 次 FaceID 登录请求。表面上是一位常用 iPhone 的老用户,却在毫秒级触发了"高危行为图谱"。
为什么 FaceID 没识别错,却仍然被汇丰风控拦截?
本篇,我们将从一次"模拟 FaceID 攻击"事件切入,拆解汇丰多重登录风控机制------并附完整模型检测与策略代码。
一、风控体系多层结构图

二、FaceID 模拟攻击复盘
攻击者行为流程:
- 获取受害人 iCloud 备份 + 旧设备
- 使用"假 iPhone + 导入模型"方式伪造 FaceID(物理伪造)
- 模拟真实解锁 + 提交登录请求
- 被风控系统标记为"FaceID 符合但行为异常"
三、端侧行为采集与设备指纹(JavaScript 示例)
javascript
function collectDeviceSignal() {
return {
device_id: getHardwareId(),
touch_speed: getTouchMetrics(),
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
gyro: window.DeviceMotionEvent ? true : false,
camera: navigator.mediaDevices ? true : false
}
}
异常点举例:
- 时间戳 vs 时区不匹配(人在美国,设备系统在中国)
- Touch 轨迹"极其匀速" → 脚本模拟行为
- 设备序列号与注册时不一致
四、登录风险评分模型(Python)
🎯 模型输入特征:
bash
[
is_faceid_passed, # 1
device_match_score, # 0~1
touch_behavior_score, # 0~1
timezone_gap_hours, # eg. 11
login_hour # 2 (凌晨2点)
]
🎯 模型输出 + 拦截策略:
ini
def risk_score(features):
score = 0
if not features[0]: return 100 # FaceID 未通过直接拒绝
score += (1 - features[1]) * 40
score += (1 - features[2]) * 30
score += min(features[3], 12) * 2
if features[4] < 6: score += 10 # 凌晨时段加权
return min(score, 100)
⏱ 实例输入:
ini
risk_score([1, 0.55, 0.3, 12, 2]) # 返回风险分:85
✅ 输出结果:
json
{
"uid": "8891001",
"risk_score": 85,
"trigger": ["设备指纹偏移", "滑动轨迹异常", "操作时间异常"],
"action": "require_sms_2fa"
}
五、行为图谱:登录关联分析
基于 Neo4j 构建登录行为图谱:
sql
MATCH (u:User)-[:LOGIN]->(d:Device)
WHERE d.ip <> u.last_known_ip
RETURN u.uid, d.device_id, d.ip
示例图谱视图:
- 同一 UID 在 2 小时内连接 4 个国家
- 设备指纹从
iphone_14
→iphone_x
,降级跳变 - IP 和经纬度跳变超过 2000 公里
→ 地理不一致、设备降级、行为异常同时命中
六、拦截策略联动中心(策略 DSL)
汇丰风控策略系统采用 DSL 规则配置:
vbnet
rule: suspicious_login
when:
- device_score < 0.6
- touch_score < 0.4
- timezone_diff > 6
- is_faceid_passed == true
then:
- trigger_2fa
- log("模拟 FaceID 风险:UID ${uid}")
系统可自动:
- 发起短信 / 邮件二次认证
- 冻结高敏感交易(大额转账)
- 向审计中心打标用户行为记录
七、反制建议(从攻击手段出发)
攻击方式 | 风控反制措施 |
---|---|
FaceID 模拟识别 | 加入操作轨迹与真实人脸联动识别 |
设备模拟 + Root 权限 | 检测设备 root 状态 + 系统完整性校验 |
夜间操作 / 自动滑动脚本 | Touch/滑动轨迹分析 + 时段异常得分 |
跨国频繁登录 | GeoIP 跳变检测 + 登出旧设备后强制二次登录验证 |
🎯 总结
本次模拟攻击虽然绕过了 FaceID 系统,但无法伪造用户"习惯"------
汇丰风控体系通过:
- 端侧滑动行为建模
- 设备指纹融合比对
- 多模型联动风控策略
最终在毫秒级精准拦截了异常行为。
📌 结果展示(监控视图)
模块 | 检测耗时 | 拦截率 | 日均触发 |
---|---|---|---|
行为轨迹识别 | < 20ms | 93% | 12,000+ |
风险评分模型 | < 8ms | 96% | 8,000+ |
GeoIP + 时区对比 | < 3ms | 92% | 15,000+ |
🧠 技术语录
"人脸可以模拟,滑动节奏骗不了;登录可以绕过,习惯画像骗不了。强大无须多盐"