跳过内容

MASWE-0008:缺少设备安全锁验证实现

Beta 版内容

此内容处于 beta 版,仍在积极开发中,因此随时可能发生变化(例如结构、ID、内容、URL 等)。

发送反馈

占位符漏洞

此缺陷尚未创建,目前为占位符。但您可以检查其状态或自行开始处理。如果此问题尚未分配,您可以请求将其分配给您,并按照我们的指南提交包含该缺陷新内容的 PR。

查看我们在 GitHub 上关于 MASWE-0008 的 Issues

初始描述或提示

应用程序可能未检查设备安全锁(例如设备密码),并可能允许未经授权访问敏感数据。在 iOS 上,强制执行设备锁安全(即确保设置了密码)还有一个额外的好处,那就是它与数据加密紧密结合,前提是应用程序利用了正确的数据保护 API。

相关主题

  • 在 Android 上,通过 `isDeviceSecure()` 检查用户是否设置了设备密码,比仅通过 `KeyguardManager.isKeyguardSecure()` 确保设置了安全屏幕锁更好
  • 在尝试认证之前,请通过调用 iOS 上的 `LAContext.canEvaluatePolicy(_:error:)` 方法来测试以确保您实际上有能力执行此操作
  • 为确保可以使用生物识别技术,请在调用 `SecAccessControlCreateWithFlags` 方法时,验证是否设置了 `kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly` 或 `kSecAttrAccessibleWhenPasscodeSet` 保护类

参考资料

MASTG v1 覆盖范围

测试

MASTG-TEST-0249:安全屏幕锁检测 API 的运行时使用 MASTG-TEST-0247:安全屏幕锁检测 API 的引用 MASTG-TEST-0248:安全屏幕锁检测 API 的引用 MASTG-TEST-0246:安全屏幕锁检测 API 的运行时使用