gpt4 book ai didi

android - 永久删除文件 Android

转载 作者:行者123 更新时间:2023-12-03 20:28:33 24 4
gpt4 key购买 nike

我找到了一个名为 Super Erase 的安卓应用程序从 android 设备永久删除文件和文件夹,以便删除的文件无法再恢复..这是我正在谈论的应用程序...尝试了常规方式删除 file.delete()但仍然可以恢复文件。我有什么帮助吗?

最佳答案

首先,secure file deletion on flash media是一个复杂的问题,没有快速简便的答案。论文 Reliably Erasing Data From Flash-Based Solid State Drives很好地概述了问题、潜在的解决方案及其局限性。他们得出的结论是

For sanitizing entire disks, ... software techniques work most, but not all, of the time. We found that none of the available software techniques for sanitizing individual files were effective. [emphasis added]



NIST 800-88还很好地概述了导致该问题的技术趋势,以及针对 Android 设备的一些最低建议(附录 A)。然而,它们往往要么是全盘删除(恢复出厂设置),要么依赖于加密删除 (CE),而不是一般的文件删除方法。

但一切都没有丢失。即使您无法清理单个文件,您也可能希望在删除文件后删除所有未分配的空间。文章 Secure Deletion on Log-structured File Systems (Reardon 等人)描述了一种在用户模式软件中实现这一目标的相当有前途的方法。 Android 的内存使用(总是?)一个日志结构的文件系统。

本文的“清除”方法不需要内核级访问,在Android上似乎也不需要任何原生代码。 (请注意,术语“清除”在 NIST 800-88 等文档中的使用略有不同。)基本思想是删除所有敏感数据,然后用垃圾数据文件填充驱动器上的剩余空间,最后删除垃圾数据文件。

虽然这比仅仅覆盖已删除的文件本身需要更多的时间和精力(以不同的模式多次覆盖),但即使您必须处理磨损均衡和日志结构 FS 的可能性,它似乎也非常健壮。

警告和进一步措施

对我来说,主要的警告是关于 Reardon 等人提到的条件。在上面的论文中:

Purging will work for any log-structured file system provided both the user’s disk quota is unlimited and the file system always performs garbage collection to reclaim even a single chunk of memory before declaring that the drive is unwritable. [emphasis mine]



第二个条件似乎很可能得到满足,但我不知道第一个条件。 Android(或其某些制造商的版本)是否对应用程序使用的磁盘空间实现配额?我没有找到任何关于用户配额的信息,但有其他分割市场的配额,比如浏览器持久存储。 Android 是否保留了一些空间供系统使用,或者为每个应用程序的缓存,例如,不能用于其他事情?如果是这样,如果我们在删除敏感文件后立即开始清除它应该会有所帮助(尽管没有保证),因此其他文件系统 Activity 几乎没有时间对最近释放的空间提出要求。

也许我们可以通过周期性清除来减轻这些风险:
  • 确定相关分区上的剩余可用空间(称为 S),例如使用 File.getUsableSpace()
  • 将一系列文件写入分区;例如,每个都是初始 S 的 20%(受文件大小限制)。
  • 当空间不足时,删除我们创建的前几个文件,然后在空间允许的情况下写入另一个或两个文件。
  • 重复最后一步几次,直到达到满意的阈值。也许直到您编写了 2*S 的填充文件为止;调整该数字以平衡速度与彻底性。你实际需要做多少这将是一个需要更多研究的领域。
  • 删除剩余的填充文件。

  • 循环清除的想法是,如果我们用完配额来覆盖所有可用空间,删除刚刚写入的填充文件将释放更多配额;然后日志结构文件系统分配新块的方式应该允许我们继续按顺序覆盖剩余的空闲空间块,而不是再次重写相同的空间。

    我正在一个测试应用程序中实现这个方法,并会在它工作时发布它。

    FAT 格式的 microSD 卡呢?

    相同的方法是否适用于外部存储或 microSD 卡? FAT 是块结构的,那么清除方法是否适用于 FAT 格式的 SD 卡?

    On most contemporary flash memory devices, such as CompactFlash and Secure Digital cards, [wear leveling] techniques are implemented in hardware by a built-in microcontroller. On such devices, wear leveling is transparent and most conventional file systems can be used on them as-is. (https://en.wikipedia.org/wiki/Wear_leveling)



    ...这表明即使在 FAT 格式的 SD 卡上,磨损均衡也意味着传统的 Gutmann methods行不通(参见他的“ Even Further Epilogue”)并且需要像“清除”这样的方法。

    清除是否足够,取决于您的安全参数。磨损均衡似乎意味着一个块可能随时“退休”,在这种情况下,如果不绕过微 Controller 的磨损均衡,就无法删除它。 AFAIK 这不能在软件中完成,即使你有内核权限;你必须设计特殊的硬件。

    但是,相对于媒体的生命周期而言,“淘汰”坏块应该是相当罕见的事件,因此对于许多场景,清除方法就足够安全了。

    抹去痕迹

    请注意,Gutmann 的方法有一个重要的优势,即删除 possible traces of old data即使在块被新数据覆盖后仍可能保留在存储介质上。这些痕迹理论上可以被拥有大量资源的坚定攻击者读取。一种真正彻底的安全删除方法将增强像 Gutmann 的清除方法,而不是替换它。

    然而,在日志结构和磨损级别的文件系统上,更大的问题是试图确保敏感块被完全覆盖。

    现有的应用程序是否使用这些方法?

    我没有关于应用商店中应用的任何内幕信息,但正在查看诸如 iShredder 之类的应用的评论。会建议他们充其量使用像 Reardon 的“清除”这样的方法。例如,他们可能需要几个小时才能一次性删除 32GB 的可用空间。

    另请注意限制:对某些安全删除应用程序的评论表明,在某些情况下,运行“安全删除”操作后仍可访问“已删除”的文件。当然,我们对这些评论持保留态度——存在用户错误的可能性。尽管如此,如果没有良好的测试,我不会假设这些应用程序是有效的。

    iShredder 4 Enterprise在他们的应用程序描述中,有用地命名了他们使用的一些算法:

    Depending on the edition, the iShredder™ package comes with deletion algorithms such as DoD 5220.22-M E, US Air Force (AFSSI-5020), US Army AR380-19, DoD 5220.22-M ECE, BSI/VS-ITR TL-03423 Standard, BSI-VS-2011, NATO Standard, Gutmann, HMG InfoSec No.5, DoD 5220.22 SSD and others.



    这个听起来令人印象深刻的列表为我们提供了一些进一步研究的指导。目前尚不清楚这些方法是如何使用的——单独使用还是组合使用——尤其是它们中的任何一种是否单独表示有效。我们知道古特曼的方法不会。类似地,DoD 5220.22-M、AFSSI-5020、AR380-19 和 Infosec No. 5 指定了类似 Gutmann 的程序来覆盖硬盘驱动器上的扇区,这对基于闪存的媒体无效。事实上,“ The U.S. Department of Defense no longer references DoD 5220.22-M as a method for secure HDD erasure”,更不用说基于闪存的媒体了,所以这个引用误导了不知情的人。 (据说 DoD 引用了 NIST 800-88。)“DoD 5220.22 SSD”听起来很有希望,但我找不到任何相关的引用资料。我没有深入研究列出的其他算法,但到目前为止的结果并不令人鼓舞。

    关于android - 永久删除文件 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33322531/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com