跳过内容

MASTG-TEST-0248: 引用检测安全屏幕锁定的 API

概述

此测试验证应用程序是否在具有安全屏幕锁定(例如密码)的设备上运行。

在 iOS 上,应用程序可以使用 LocalAuthentication 框架来确定是否设置了安全的屏幕锁定。 具体来说,可以使用 LAContext.canEvaluatePolicy(_:error:) 方法以及 .deviceOwnerAuthentication.deviceOwnerAuthenticationWithBiometrics 策略来检查身份验证机制(包括密码)是否可用。

利用 Keychain Services API 的应用程序可以使用 kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性要求在访问敏感数据之前进行密码验证。

步骤

  1. 在应用程序二进制文件上运行静态分析工具,例如 用于 iOS 的 radare2,并查找对 LAContext.canEvaluatePolicy(.deviceOwnerAuthentication) API 的使用,或者使用 kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性存储的数据。

观察

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

评估

如果应用没有使用任何 API 来验证安全屏幕锁的存在,则测试失败。

演示

MASTG-DEMO-0024:使用 r2 的 LAContext.canEvaluatePolicy 的使用