MASTG-TEST-0270: 引用检测生物识别注册变化的 API
概述¶
此测试检查应用程序是否未能保护敏感操作,以防止在生物识别注册更改后未经授权的访问。 获取设备密码的攻击者可以通过系统设置添加新的指纹或面部表示,并使用它在应用程序中进行身份验证。
该测试识别了通过 SecAccessControlCreateWithFlags
在 Keychain 中存储敏感项目时,缺少 kSecAccessControlBiometryCurrentSet
访问控制标志的情况。 此标志确保当生物识别数据库更改时(例如,添加新的指纹或面部时),关联的 Keychain 项目将变得不可访问。 因此,只有在创建项目时注册了生物识别数据的用户才能解锁它,从而防止通过以后注册的生物识别进行未经授权的访问。
步骤¶
- 在应用程序二进制文件上运行静态分析工具,例如 * iOS 版 radare2,并查找使用
SecAccessControlCreateWithFlags
API 且带有kSecAccessControlBiometryCurrentSet
标志的用法。
观察¶
输出应包含使用相关 API 的位置列表。
评估¶
如果应用程序对任何值得保护的敏感数据资源使用了 SecAccessControlCreateWithFlags
且未使用 kSecAccessControlBiometryCurrentSet
标志,则测试失败。
演示¶
MASTG-DEMO-0045:使用 r2 的 kSecAccessControlBiometryCurrentSet 用法