Jak usunąć konkretny plik w Androidzie, aby nie można go odzyskać?

9

Z mojego doświadczenia wynika, że ​​plik usunięty z komputerowego systemu plików można często odzyskać, chyba że zostanie zastąpiony specjalnym programem (zwykle nazywanym „niszczeniem”).

Czy smartfon HTC z systemem Android jest inny? Jak można usunąć określony plik z takiego smartfona, aby nie można go było odzyskać?

sharptooth
źródło
Czy szukasz tylko opcji hostowanych przez telefon, czy zaakceptowałbyś sugestie dotyczące usunięcia pliku, gdy telefon jest podłączony jako dysk?
Bernhard Hofmann,
@Bernhard Hofmann: Cóż, jeśli podłączenie jako dysk ułatwia takie działanie - jest znacznie lepsze niż nic.
sharptooth

Odpowiedzi:

8

To niestety nie jest takie proste.

Ponieważ nie ma interfejsu API do bezpiecznego usuwania plików, wymagałoby to rootowania dla „bezpiecznej aplikacji do usuwania” w celu uzyskania dostępu do urządzenia pamięci masowej na poziomie bloku . Tylko dostęp do bloków usuniętego pliku ostatecznie pozwala aplikacji na zastąpienie resztek pliku losowymi danymi. W końcu, ponieważ urządzenie pamięci flash może przeprowadzić wyrównywanie zużycia . W takim przypadku blok 42 nie zawsze byłby tym samym blokiem fizycznym, co powoduje, że wywołania systemowe są nieskuteczne.

Myślę, że dlatego nie ma jeszcze bezpiecznego rozwiązania usuwania dla Androida. Przynajmniej nie mogłem go znaleźć na XDA .

Pływ
źródło
Czy program może otworzyć istniejący plik, zastąpić go koszem, zamknąć plik, a następnie usunąć?
sharptooth
Możesz to zaprogramować. Ale będzie to bezużyteczne, ponieważ nie ma gwarancji, że nadpisanie nastąpi w tych samych fizycznych blokach, co istniejące dane.
Flow,
1
Czy masz na myśli, że system plików lub jakaś inna jednostka w przejrzysty sposób przeniesie nowe zapisane dane do nowej lokalizacji i oznaczy wcześniej zajmowaną lokalizację jako wolną?
sharptooth
1
Tak, to wybór systemu operacyjnego, w którym chce zapisywać nowe dane z różnych powodów (fragmentacja itp.) I to, co robi prawie każdy współczesny system operacyjny. Nawet jeśli nie, nadal istnieje warstwa, w której może wystąpić wyrównanie zużycia.
Flow,
3

Jednym prostym rozwiązaniem byłoby usunięcie pliku, a następnie wypełnienie pamięci wszelkimi innymi danymi, aby przestrzeń poprzednio należąca do usuniętego pliku została z pewnością nadpisana.

Po zapełnieniu pamięci można usunąć plik (i) użyty do wypełnienia, ponownie zwalniając miejsce - dopiero teraz próby odzyskania znajdą tylko plik wypełniający, a nie oryginalny usunięty plik.

Pamiętaj, że jest to przeznaczone wyłącznie do walki z prostymi narzędziami do odzyskiwania domu, takimi jak testdisk. Teoretycznie mogą istnieć sposoby na odzyskanie co najmniej części, a nawet całego oryginalnego pliku - jednak wymagałyby one pewnych zaawansowanych metod analizy. Jednym z przykładów takiej metody jest analiza, czy niektóre dane są zachowane z powodu wyrównywania zużycia flash . Nie jest to jednak łatwe do wykonania, a AFAIK wymagałby podłączenia karty pamięci do jakiegoś niestandardowego czytnika, a nawet może wymagać rozłożenia urządzenia pamięci na części.

Ilari Kajaste
źródło
Wyrównanie zużycia na większości nośników Flash nie zawsze gwarantuje, że nadpisanie pliku spowoduje zapis w tej samej fizycznej lokalizacji w pamięci. en.wikipedia.org/wiki/Wear_leveling
Chahk
@Chahk, tak, zgadzam się, dlatego zawarłem zastrzeżenie dotyczące „wyrafinowanych metod”. Chodzi o to, że odzyskanie normalnie usuniętego pliku za pomocą narzędzi domowych takich jak trywialne jest banalne testdisk. Jeśli istnieje kilka łatwych w użyciu domowych narzędzi do odzyskiwania treści, które zostały oszczędzone z powodu wyrównywania zużycia, nigdy o nich nie słyszałem. Zauważ, że nigdy nie powiedziałem, że to zalewanie danych byłoby metodą absolutną , ale całkiem prawdopodobne, że jest wystarczająco silne na potrzeby osoby pytającej.
Ilari Kajaste
Dodałem więcej szczegółów do zrzeczenia się odpowiedzialności, aby poprawić moją odpowiedź, a teraz wspomnę o analizowaniu wyrównywania zużycia błyskawicznego jako jednym z przykładów możliwego pozostałego wektora ataku.
Ilari Kajaste
1

Jeśli podłączysz urządzenie jako napęd dyskowy, możesz użyć narzędzia takiego jak sdelete w systemie Windows, aby bezpiecznie usunąć pliki. http://technet.microsoft.com/en-us/sysinternals/bb897443

Ze strony internetowej: „SDelete implementuje standard czyszczenia i dezynfekcji Departamentu Obrony DOD 5220.22-M, aby dać Ci pewność, że po usunięciu za pomocą SDelete Twoje dane pliku znikną na zawsze”.

Bernhard Hofmann
źródło
Czy pomoże to w przeciwdziałaniu wyrównywaniu zużycia wspomnianemu w tej odpowiedzi android.stackexchange.com/questions/14739/... ?
sharptooth
Szczerze mówiąc, nie mam pojęcia. Nie wiem nawet, czy są jakieś urządzenia z Androidem, które implementują wyrównywanie zużycia. Ponieważ zastępuje oryginalne sektory, oczekiwałbym, że nie będzie miało na to wpływu wyrównywanie zużycia.
Bernhard Hofmann
Cóż, jeśli występuje wyrównywanie zużycia, dotyczy to tego programu - nie ma magii, po prostu otwiera plik do pisania (jak każdy inny program) i zapisuje tam śmieci, a następnie zamyka plik. Jeśli wystąpi wyrównywanie zużycia, program nie może tego wiedzieć - używa zwykłych operacji systemu operacyjnego.
sharptooth
Zastanawiam się, czy użycie opcji clean kilka razy zapewniłoby ochronę przed wyrównaniem zużycia. Ponieważ jest to poza naszą kontrolą, czyszczenie wolnego miejsca kilka razy powinno „znaleźć” uwolnione sektory i je usunąć.
Bernhard Hofmann
Może, ale przypuszczam, że zajęłoby to dużo czasu.
sharptooth
1

Jeśli plik znajduje się na sdcard następnie można wstawić sdcard do czytnika kart i używania notebooka srm, sdeleteczy jak zwykle używać na pulpicie do bezpiecznego usuwania plików.

Jeśli plik znajduje się w pamięci wewnętrznej, prawdopodobnie jedynym niezawodnym sposobem na całkowite usunięcie jego śladu (i wszystkiego innego na telefonie) byłoby włączenie pełnego szyfrowania telefonu w Ustawieniach> Bezpieczeństwo, poczekaj, aż wszystko zostanie zaszyfrowane (około godziny ), a następnie przywróć ustawienia fabryczne.

W sklepie z zabawkami są też aplikacje, które rzekomo mogą wyczyścić wolne miejsce za pomocą algorytmów poziomu DoD, ale nie mam pojęcia, jak dobre są i jak działają.

A przy okazji pamiętaj, że pamięć flash ma ograniczoną liczbę cykli odczytu i zapisu, więc zbyt częste uruchamianie tych aplikacji może potencjalnie skrócić żywotność układu pamięci.

ccpizza
źródło