我对 iOS swift 比较陌生,但据我所知
用户无法访问或修改我的 iOS 应用程序的
UserDefaults
其他应用程序无法访问或修改我的 iOS 应用程序的
UserDefaults
至多,UserDefaults
中的信息会被删除。但不能被第三方自由读取或修改。
那么在这里存储敏感信息到底有什么危险呢?有人可以举一个合理的攻击示例,说明在 iOS 平台上使用 UserDefaults
而不是 Keychain Services
会暴露重大软件漏洞吗?
最佳答案
首先,加密 - UserDefaults 不使用开箱即用的加密。
其次,在任何设备上,用户都可以访问文件系统,特别是您的应用程序容器,因此可以使用 iExplorer 应用程序访问 UserDefaults,并访问代表用户默认设置的整个 plist - 更改它并提取信息 - 不受恶意保护用户。
第三,您在应用中使用的第三方库能够访问您的“标准”用户默认值或猜测您用来提取/覆盖信息的某些容器名称。
可能还有更多原因,但我想说这些是主要原因
关于ios - 为什么在 iOS 上使用 UserDefaults 存储敏感信息不安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68022172/