跳过内容

MASTG-TEST-0270: 引用检测生物识别注册变化的 API

概述

此测试检查应用程序是否未能保护敏感操作,以防止在生物识别注册更改后未经授权的访问。 获取设备密码的攻击者可以通过系统设置添加新的指纹或面部表示,并使用它在应用程序中进行身份验证。

该测试识别了通过 SecAccessControlCreateWithFlags 在 Keychain 中存储敏感项目时,缺少 kSecAccessControlBiometryCurrentSet 访问控制标志的情况。 此标志确保当生物识别数据库更改时(例如,添加新的指纹或面部时),关联的 Keychain 项目将变得不可访问。 因此,只有在创建项目时注册了生物识别数据的用户才能解锁它,从而防止通过以后注册的生物识别进行未经授权的访问。

步骤

  1. 在应用程序二进制文件上运行静态分析工具,例如 * iOS 版 radare2,并查找使用 SecAccessControlCreateWithFlags API 且带有 kSecAccessControlBiometryCurrentSet 标志的用法。

观察

输出应包含使用相关 API 的位置列表。

评估

如果应用程序对任何值得保护的敏感数据资源使用了 SecAccessControlCreateWithFlags 且未使用 kSecAccessControlBiometryCurrentSet 标志,则测试失败。

演示

MASTG-DEMO-0045:使用 r2 的 kSecAccessControlBiometryCurrentSet 用法