Podczas próby bezpiecznego czyszczenia dysków SSD mamy kilka problemów:
- Dyski SSD zużywają się po ograniczonej liczbie cykli kasowania
- Dyski SSD mają kontroler, który dynamicznie odwzorowuje LBA (logiczne adresy bloków używane przez system do uzyskania dostępu do dysku) na komórki NVRAM (rzeczywiste komórki pamięci flash) w celu zrównoważenia zużycia, co oznacza nakazanie dyskowi zastąpienia bloków, które wcześniej zawierały określony plik może spowodować zastąpienie innych wolnych bloków.
- Dyski SSD mają znaczny procent pojemności rezerwowej, która jest wykorzystywana do kompensacji umierających komórek pamięci i zmniejszenia zużycia. Nie są widoczne dla systemu i mogą zawierać stare fragmenty danych.
Jakie mamy teraz opcje z Ubuntu, aby bezpiecznie wyczyścić dyski SSD?
Słyszałem, że niektóre nowsze dyski SSD powinny być w stanie bezpiecznie się wyczyścić, ale jak mogę się dowiedzieć, czy mój dysk SSD jest w stanie to zrobić i jak mam go uruchomić?
Powinna również istnieć komenda ATA bezpiecznego wymazywania. Jak mogę się dowiedzieć, czy ta funkcja jest obsługiwana i jak ją uruchomić?
Czy istnieją również sposoby bezpiecznego czyszczenia tylko danego pliku lub tylko nieużywanego miejsca?
Wydaje mi się, że wykonanie kopii zapasowej wszystkich partycji, bezpieczne wyczyszczenie całego dysku, a następnie przywrócenie kopii zapasowej byłoby możliwe, ale wydaje się zbyt skomplikowane i zajęłoby zbyt dużo czasu, aby było praktyczne. Czy są inne alternatywy? Jeśli nie, jakich narzędzi mogę użyć do tworzenia kopii zapasowych partycji bez tworzenia kopii zapasowych już usuniętych plików?
Oczywiście standardowe narzędzia, takie jak shred
lub wipe
nie nadają się do wykorzystania w punktach opisanych powyżej. Po prostu nadpisują plik (nadpisując klastry systemu plików, które są powiązane z LBA, które nie stale wskazują na te same komórki flash z powodu kontrolera wyrównywania zużycia).
źródło
Odpowiedzi:
Obecnie nie ma możliwości bezpiecznego usuwania plików na dysku SSD bez usuwania zawartości całego dysku lub dostępu do oprogramowania układowego dysku SSD.
Nie można wiedzieć, gdzie dysk SSD może przechowywać poprzednie kopie bloku logicznego.
Co gorsza, ze względu na mechanizmy rejestrowania i kopiowania przy zapisie w systemie plików może nie być możliwe ustalenie, które bloki logiczne mogą przechowywać poprzednią kopię określonego pliku.
Jedynym sposobem, aby zapobiec wyciekom usuniętych plików do osoby mającej bezpośredni dostęp do dysku, jest ich zaszyfrowanie i zabezpieczyć klucz szyfrujący przed wścibskimi oczami.
Uzupełnienie:
Zrobiłem trochę badań i odkryłem, że możesz posortować wymazać wszystkie wcześniej usunięte pliki, jeśli uda Ci się nauczyć wszystkich niezajętych sektorów systemu plików, co jest ogólnie możliwe i oferowane przez niektóre narzędzia systemu plików (np. Dla rodziny ext * ), a następnie odrzuć je (np.
blkdiscard(8)
zgodnie z opisem w tej odpowiedzi na połączone pytanie ), co zwróci bloki do wyrzucania elementów bezużytecznych, dopóki nie zostaną ponownie użyte i nadpisane w procesie.Jest to zabezpieczone przed wszystkimi, którzy nie mają bezpośredniego dostępu do komórek flash, więc wszyscy, którzy
źródło
Najłatwiejszym sposobem ustalenia, czy twój dysk obsługuje bezpieczne wymazywanie, jest zapytanie: Użyłem / dev / sdX w poniższych przykładach. Musisz go ostrożnie zmienić, aby pasował do urządzenia, z którym pracujesz:
Źródła:
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
/superuser/1161531/how-to-un-freeze-drive-in-linux
Na moim dysku SSD powoduje to:
Jeśli urządzenie obsługuje bezpieczne usuwanie, uruchomienie go jest procesem dwu- lub trzyetapowym.
sudo hdparm -I /dev/sdX
podobny do następującego:Odblokuj go, zawieszając i wznawiając system. Zrobiłem to za pomocą polecenia
sudo systemctl suspend
przesuwającego wskaźnik, aż system zostanie wznowiony.Musisz ustawić hasło, aby użyć bezpiecznego wymazywania. W tym przypadku używam foobar jako hasła, możesz użyć dowolnego niepustego hasła, które ci się podoba, ponieważ jest tymczasowe.
sudo hdparm --user-master u --security-set-pass foobar /dev/sdX
Po ustawieniu hasła możesz teraz używać go do bezpiecznego kasowania dysku:
sudo hdparm --user-master u --security-erase foobar /dev/sdX
Jeśli Twój dysk obsługuje tę funkcję i jeśli chcesz, możesz skorzystać z ulepszonego usuwania zabezpieczeń zamiast:
sudo hdparm --user-master u --security-erase-enhanced foobar /dev/sdX
źródło