android - Android开发中删除文件的安全方法
问题描述
在使用安全工具分析我的 Android 应用程序后,它检测到了一个高级漏洞“文件不安全删除检查”。我对此进行了调查,似乎问题在于应用程序使用了“file.delete()”。
该功能被认为是不安全的,因为理论上可以使用扫描所有存储设备的工具检索数据。那么,如果这种删除方式是“不安全的”......在Android中删除文件的“安全”方式是什么?(以避免出现所谓的“高级”错误)。在Android开发中删除文件的正确方法是什么?
我在 2 个不同的应用程序中收到相同的安全警告,一个使用本机 Java,另一个使用 Xamarin Forms。非常感谢!
解决方案
在Android中删除文件的“安全”方法是什么?
绝大多数Android 设备都没有。你delete()
使用File
.
该功能被认为是不安全的,因为理论上可以使用扫描所有存储设备的工具检索数据
如果 Android 设备恰好使用经典硬盘驱动器(旋转磁介质),您可以在删除之前覆盖数据。在任何类型的闪存介质上,这都是无效的,因为写入数据的物理位置可能随每次写入操作而变化(“磨损均衡”)。
所以,这真的归结为你的目标:
如果您认为如果可以读取此数据会损害用户,请使用用户提供的密码对其进行加密存储。
如果您只是想避免此警告,请询问此“安全工具”的开发人员他们希望您做什么。或者,找到更好的工具。
推荐阅读
- android-studio - 如何更改 Android Studio (IntelliJ IDEA) 中的一些关键字颜色?
- r - 计算两个日期之间的值的平均值
- jquery - 内联引导日期选择器日期范围
- c# - C# 使用 emgu 库,但 System.TypeInitializationException 总是出错
- cas - CAS根据不同服务切换主题
- android - 是 Kotlin 中任何其他类的 Nothing 子类吗?
- kubernetes - Kustomize - “未能找到补丁的唯一目标......”
- java - 如何在应用程序的生命周期中保持绑定服务运行?
- c - 在c中读取时解析文件
- python-3.x - 如何在使用 pyaudio 时不获取 OSError: [Errno -9993] I/O 设备的非法组合