MASTG-TEST-0248: 引用检测安全屏幕锁定的 API
概述¶
此测试验证应用程序是否在具有安全屏幕锁定(例如密码)的设备上运行。
在 iOS 上,应用程序可以使用 LocalAuthentication 框架来确定是否设置了安全的屏幕锁定。 具体来说,可以使用 LAContext.canEvaluatePolicy(_:error:) 方法以及 .deviceOwnerAuthentication 或 .deviceOwnerAuthenticationWithBiometrics 策略来检查身份验证机制(包括密码)是否可用。
利用 Keychain Services API 的应用程序可以使用 kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性要求在访问敏感数据之前进行密码验证。
步骤¶
- 在应用程序二进制文件上运行静态分析工具,例如 用于 iOS 的 radare2,并查找对 LAContext.canEvaluatePolicy(.deviceOwnerAuthentication) API 的使用,或者使用 kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性存储的数据。
观察¶
输出应包含使用相关 API 的位置列表。
评估¶
如果应用没有使用任何 API 来验证安全屏幕锁的存在,则测试失败。