Як видалити певний файл в Android, щоб його не вдалося відновити?


9

З мого досвіду, файл, видалений з комп'ютерної файлової системи, часто можна відновити, якщо його не перезаписати спеціальною програмою (зазвичай це називається "подрібнення").

Чи відрізняється смартфон HTC на базі Android? Як певний файл можна видалити з такого смартфона, щоб неможливо було відновити файл?


Ви шукаєте лише параметри, розміщені на телефоні, чи приймаєте пропозиції щодо видалення файлу, коли телефон підключений до дисковода?
Бернхард Хофманн

@Bernhard Hofmann: Ну, якщо підключення як привід полегшує таку дію - це набагато краще, ніж нічого.
гострий зуб

Відповіді:


8

На жаль, це не так просто.

Оскільки для безпечного видалення файлів не існує API, для отримання доступу до блоку до пристрою зберігання знадобиться корінь для програми "захищене видалення" . Тільки доступ до блоків видаленого файлу зрештою дозволяє додатку перезаписати залишки файлу випадковими даними. Врешті-решт, тому що флеш-накопичувач може виконувати вирівнювання зносу . Якщо це так, блок # 42 не завжди буде тим самим фізичним блоком, що робить виклики системи неефективними.

Я думаю, що тому ще не існує безпечного рішення для видалення для Android. Принаймні, я не міг знайти його на XDA .


Чи може програма, можливо, відкрити існуючий файл, перезаписати все сміттям, закрити файл та видалити його?
гострий зуб

Ви могли це програмувати. Але це буде марно, оскільки не гарантується, що перезапис відбуватиметься в тих же фізичних блоках, що і в існуючих даних.
Потік

1
Ви маєте на увазі, що файлова система чи інша особа прозоро переселять нові письмові дані в нове місце та маркують раніше зайняте місце безкоштовно?
shartooth

1
Так, це вибір ОС, куди він хоче записати нові дані з різних причин (фрагментація тощо) і що майже кожна сучасна ОС робить це. Навіть якщо це не так, все одно є шар, де може відбуватися вирівнювання зносу.
Потік

3

Одним з простих рішень було б видалити файл, а потім заповнити пам’ять будь-якими іншими даними, щоб простір, що раніше належав видаленому файлу, обов'язково перезаписався.

Після заповнення пам'яті файли, які використовуються для заповнення, можна видалити, звільнивши пробіл знову - лише зараз спроби відновлення знайдуть лише файл наповнювача, а не оригінальний видалений файл.

Зауважте, що це призначено лише для боротьби з простими інструментами для відновлення будинку testdisk. Теоретично все ще можуть бути способи відновити принаймні частини або навіть увесь оригінальний файл - однак вони потребують деяких складних методів аналізу високого класу. Одним із прикладів такого методу може бути аналіз, чи збереглися деякі дані через нівелювання спалаху . Однак це зробити непросто, і AFAIK вимагатиме підключення картки пам'яті до певного пристрою зчитування, і навіть може знадобитися роз'єднання пристрою пам'яті.


Вирівнювання зносу на більшості флеш-носіїв не завжди гарантує, що перезапис файлу запишеться в одне і те ж фізичне місце на пам'яті. en.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, які реалізують рівень зносу. Оскільки він переписує оригінальні сектори, я б очікував, що це не вплине на вирівнювання зносу.
Бернхард Хофманн

Ну, якщо на рівень зносу впливає ця програма - вона не робить магії, просто відкриває файл для запису (як і будь-яка інша програма) і записує туди сміття, а потім закриває файл. Якщо вирівнювання зносу програма не може знати, вона використовує звичайні примітиви операційної системи.
shartooth

Цікаво, чи використання декількох разів чистий варіант забезпечить захист від вирівнювання зносу. Оскільки це поза нашим контролем, кілька разів очищення вільного простору повинно було б "знайти" звільнені сектори та видалити їх.
Бернхард Хофманн

Можливо, але я вважаю, що це зайняло б багато часу.
гострий зуб

1

Якщо файл знаходиться на sdcard, то ви можете вставити sdcard у свій зчитувач картки ноутбука та використовувати його srm, sdeleteабо все, що ви зазвичай використовуєте на робочому столі для безпечного видалення файлу.

Якщо файл знаходиться у внутрішній пам'яті, то, мабуть, єдиним надійним способом повністю видалити будь-який його слід (і все інше на телефоні) буде включення повного шифрування телефону в Налаштуваннях> Безпека, зачекайте, поки все зашифровано (близько однієї години ), а потім виконати скидання заводу.

У ігровому магазині також є додатки, які нібито можуть витерти вільний простір алгоритмами рівня DoD, але я поняття не маю, наскільки вони хороші або як вони працюють.

І btw, майте на увазі, що флеш-пам’ять має обмежену кількість циклів читання-запису, тому запуск цих програм занадто часто може потенційно скоротити час роботи мікросхеми пам'яті.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.