Как удалить определенный файл в Android, чтобы его нельзя было восстановить?

9

По моему опыту, файл, удаленный из файловой системы компьютера, часто можно восстановить, если он не был перезаписан специальной программой (обычно это называется «уничтожение»).

Отличается ли смартфон HTC на базе Android от других? Как можно удалить конкретный файл с такого смартфона, чтобы его невозможно было восстановить?

Sharptooth
источник
Вы ищете только опции, размещенные на телефоне, или вы примете предложения по удалению файла, когда телефон подключен как дисковод?
Бернхард Хофманн
@ Бернхард Хофманн: Ну, если подключение как привод облегчает такие действия - это гораздо лучше, чем ничего.
sharptooth

Ответы:

8

К сожалению, это не так просто.

Поскольку не существует API для безопасного удаления файлов, ему потребуется root для «приложения безопасного удаления», чтобы обеспечить доступ на уровне блоков к устройству хранения. Только доступ к блокам удаленного файла в конечном итоге позволяет приложению перезаписывать остатки файла случайными данными. В конечном счете, так как устройство флэш - памяти может выполнить выравнивание износа . Если это так, блок № 42 не всегда будет одним и тем же физическим блоком, что делает системные вызовы неэффективными.

Я думаю, именно поэтому пока нет безопасного решения для удаления Android. По крайней мере, я не мог найти один на XDA .

поток
источник
Может ли программа открыть существующий файл, переписать его с помощью корзины, закрыть файл и затем удалить его?
Острозуб
Вы могли бы запрограммировать это. Но это будет бесполезно, поскольку не гарантируется, что перезапись будет происходить в тех же физических блоках, что и существующие данные.
Поток
1
Вы имеете в виду, что файловая система или какой-либо другой объект будет прозрачно перемещать новые записанные данные в новое место и помечать ранее занятое место свободным?
Острозуб
1
Да, это выбор ОС, в которой она хочет записывать новые данные по разным причинам (фрагментация и т. Д.), И то, что делает почти каждая современная ОС. Даже если нет, все равно есть слой, где может произойти выравнивание износа.
Поток
3

Одним из простых решений было бы удалить файл, а затем заполнить память любыми другими данными, чтобы пространство, ранее принадлежавшее удаленному файлу, обязательно было перезаписано.

Как только память заполнена, файлы, используемые для заполнения, могут быть удалены, освобождая место снова - только теперь при попытках восстановления будет найден только файл-заполнитель, а не исходный удаленный файл.

Обратите внимание, что это предназначено только для борьбы с простыми инструментами домашнего восстановления, такими как testdisk. В теории все еще могут быть способы восстановить хотя бы части или даже весь исходный файл - однако для этого потребуются сложные методы анализа высокого уровня. Одним из примеров такого метода может быть анализ того, сохранились ли некоторые данные из-за выравнивания износа вспышки . Однако это нелегко сделать, и AFAIK потребует подключения карты памяти к какому-либо пользовательскому считывающему устройству и даже может потребовать разборки устройства памяти.

Илари Каясте
источник
Выравнивание износа на большинстве флэш-носителей не всегда гарантирует, что перезапись файла приведет к записи в том же физическом месте в памяти. ru.wikipedia.org/wiki/Wear_leveling
Чак,
@Chahk, да, я согласен, поэтому я включил отказ от «сложных методов». Дело в том, что восстановить нормально удаленный файл тривиально, используя домашние инструменты, такие как testdisk. Если есть несколько простых в использовании домашних инструментов для восстановления содержимого, которое было сэкономлено из-за выравнивания износа, я никогда о них не слышал. Обратите внимание, что я никогда не говорил, что это затопление данных будет абсолютным методом, но вполне вероятно, что оно будет достаточно сильным для нужд аскера.
Илари Каджасте
Я добавил больше подробностей в заявление об отказе от ответственности, чтобы улучшить свой ответ, и теперь упомянул анализ выравнивания износа вспышки в качестве одного из примеров возможного оставшегося вектора атаки.
Илари Каджасте
1

Если вы подключаете свое устройство как дисковод, вы можете использовать утилиту, такую ​​как sdelete в Windows, для безопасного удаления файлов. http://technet.microsoft.com/en-us/sysinternals/bb897443

С веб-страницы: «SDelete внедряет стандарт очистки и дезинфекции Министерства обороны США DOD 5220.22-M, чтобы дать вам уверенность в том, что после удаления с помощью SDelete данные вашего файла исчезнут навсегда».

Бернхард Хофманн
источник
Поможет ли это против выравнивания износа, упомянутого в этом ответе android.stackexchange.com/questions/14739/… ?
Острозуб
Честно говоря, понятия не имею. Я даже не знаю, есть ли какие-нибудь устройства Android, которые реализуют выравнивание износа. Поскольку он перезаписывает исходные сектора, я ожидаю, что он не будет затронут выравниванием износа.
Бернхард Хофманн
Что ж, если есть выравнивание износа, эта программа подвержена влиянию - она ​​не использует магию, просто открывает файл для записи (как любая другая программа) и записывает туда мусор, а затем закрывает файл. Если есть выравнивание износа, программа не может знать - она ​​использует обычные примитивы операционной системы.
Острозуб
Интересно, обеспечит ли использование чистой опции несколько раз защиту от выравнивания износа. Поскольку это вне нашего контроля, очистка свободного пространства несколько раз должна «найти» освобожденные сектора и стереть их.
Бернхард Хофманн
Возможно, но я полагаю, это займет много времени.
Sharptooth
1

Если файл находится на SD-карте, вы можете вставить SD-карту в устройство для чтения карт ноутбука и использовать его или все srm, sdeleteчто вы обычно используете на рабочем столе, для безопасного удаления файла.

Если файл находится во внутренней памяти, то, вероятно, единственный надежный способ полностью удалить его следы (и все остальное на телефоне) - включить полное шифрование телефона в меню «Настройки»> «Безопасность», подождать, пока все будет зашифровано (около часа). ), а затем выполните сброс настроек.

В магазине игр также есть приложения, которые якобы могут стирать свободное пространство с помощью алгоритмов уровня DoD, но я понятия не имею, насколько они хороши или как они работают.

И, между прочим, имейте в виду, что флэш-память имеет ограниченное количество циклов чтения-записи, поэтому слишком частый запуск этих приложений может потенциально сократить время жизни чипа памяти.

ccpizza
источник