微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么使用 UserDefaults 在 iOS 上存储敏感信息不安全?

如何解决为什么使用 UserDefaults 在 iOS 上存储敏感信息不安全?

我对 iOS swift 比较陌生,但据我所知

  1. 用户无法访问或修改我的 iOS 应用程序的 UserDefaults

  2. 其他应用程序无法访问或修改我的 iOS 应用程序的 UserDefaults

至多,UserDefaults 中的信息会被删除。但第三方不能随意阅读或修改

那么在这里存储敏感信息到底有什么危险呢?有人能举出一个合理的攻击示例,即在 iOS 平台上使用 UserDefaults 而不是 Keychain Services 会暴露重大软件漏洞吗?

解决方法

首先,加密 - UserDefaults 不使用开箱即用的加密。

其次,在任何设备上,用户都可以访问文件系统,特别是您的应用程序容器,因此使用 iExplorer 应用程序的 UserDefaults 并访问代表用户默认值的整个 plist - 更改它并提取信息 - 不受恶意保护用户。

第三,您在应用中使用的第三方库能够访问您的“标准”用户默认设置或猜测您用于提取/覆盖信息的某些容器名称。

可能还有更多原因,但我认为这些是主要原因

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。