MASTG-TEST-0215: 敏感数据未从备份中排除
概述¶
此测试验证您的应用是否正确地指示系统从备份中排除敏感文件。
应用容器的 /tmp
和 /Library/Caches
子目录中的文件将从 iCloud 备份中排除。 对于应用程序容器内任何其他位置的文件和目录,iOS 提供了 isExcludedFromBackup
API,以指导系统不要备份给定的文件或目录。 但是,此 API 不保证实际排除
“
isExcludedFromBackup
资源值仅用于向系统提供关于可以排除哪些文件和目录的指导;它不是保证这些项目永远不会出现在备份或恢复设备上的机制。”
因此,正确保护文件免受备份的唯一方法是加密它们。
步骤¶
- 运行静态分析工具,例如 radare2 for iOS在应用二进制文件上,或使用动态分析工具,例如 Frida for iOS,并查找
isExcludedFromBackup
API 的使用情况。
观察¶
输出应包含使用 isExcludedFromBackup
的函数的反汇编代码,如果可能,还应包含受影响的文件列表。
评估¶
如果在源代码中发现 isExcludedFromBackup
的使用,并且任何受影响的文件都可以被认为是敏感文件,则测试用例将失败。
对于找到的敏感文件,除了使用 isExcludedFromBackup
之外,请务必对其进行加密,因为 isExcludedFromBackup
不保证排除。