Як видалити певний файл в 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.