Jak bezpiecznie usunąć pliki przechowywane na dysku SSD?

27

Z (bardzo długiego, ale zdecydowanie wartego przeczytania) artykułu na temat dysków SSD :

Po usunięciu pliku w systemie operacyjnym nie ma reakcji ani z dysku twardego, ani z dysku SSD. Dopiero po zastąpieniu sektora (na dysku twardym) lub strony (na dysku SSD) dane zostaną utracone. Programy do odzyskiwania plików wykorzystują tę właściwość na swoją korzyść i w ten sposób pomagają odzyskać usunięte pliki.

Kluczowe rozróżnienie między dyskami twardymi i dyskami SSD polega jednak na tym, co dzieje się po zastąpieniu pliku. Podczas gdy dysk twardy może po prostu zapisywać nowe dane w tym samym sektorze, dysk SSD przydzieli nową (lub wcześniej używaną) stronę dla zastąpionych danych. Strona zawierająca teraz nieprawidłowe dane zostanie po prostu oznaczona jako nieprawidłowa iw pewnym momencie zostanie usunięta.

Więc jaki byłby najlepszy sposób bezpiecznego usuwania plików przechowywanych na dysku SSD? Nadpisywanie losowymi danymi, jak to zwykle bywa z dyskami twardymi (np. Używanie narzędzia „shred”), nie będzie działać, chyba że nadpisujesz CAŁY dysk ...

c089
źródło

Odpowiedzi:

22

Co powiesz na szyfrowanie samego woluminu? Usunięte dane nadal będą tam istnieć, ale powinny być niedostępne dla każdego bez odpowiedniego klucza.

teabot
źródło
Zabawne, że o tym nie myślałem - bo i tak zawsze używam szyfrowania LUKS na moich dyskach;)
c089,
Jak stwierdzono tutaj, będzie to miało poważny wpływ na wydajność. W przypadku dysków opartych na SandForce użycie bezpiecznego wymazywania ATA spowoduje wyczyszczenie klucza szyfrowania AES, zapewniając rozwiązanie problemu bezpiecznego usuwania, gdy nie używa się szyfrowania programowego.
c089
12

Jeśli dysk SSD obsługuje zestaw funkcji trybu bezpieczeństwa ATA, ma wbudowaną funkcję bezpiecznego wymazywania, do której dostęp powinien być możliwy za pomocą Bezpiecznego wymazywania, udokumentowanego tu i tutaj .

bk1e
źródło
2
+1 za zestaw funkcji trybu bezpieczeństwa ATA. Na stronie SecurityTube.net znajduje się dobre wideo
RJFalconer,
2
Ale ta funkcja dotyczy tylko kompletnych dysków, prawda?
c089
@ Chris089: Zgadza się: bezpieczne kasowanie usunie cały dysk. Zastąpienie całego dysku losowymi danymi nie gwarantuje usunięcia całego dysku z powodu niedostatecznego udostępniania. (Ale może to uczynić niektóre dane unerased niedostępne dla zwykłych użytkowników, przynajmniej). Patrz anandtech.com/storage/showdoc.aspx?i=3531&p=9 aby uzyskać więcej informacji.
bk1e
Uwaga: stwierdzono, że (starsze) dyski nie wdrażają tej funkcji tak, jak powinny. Powinien również działać na dyskach twardych, ale na dyskach SSD ma tę zaletę, że może faktycznie zakończyć się w kilka sekund zamiast godzin.
Maarten Bodewes
Frustrującym problemem związanym z Bezpiecznym Kasowaniem jest to, że wiele dysków wymaga fizycznego wyłączenia zasilania (odłącz wtyczkę zasilania i podłącz ją ponownie), aby wydostać się ze stanu „bezpieczeństwa zamrożonego”. Tylko wtedy działa funkcja bezpiecznego usuwania. Nie zawsze łatwe lub pożądane otwieranie komputera, szczególnie gdy jest to laptop lub gorzej osadzony system.
misha256
10

Nawet jeśli zastąpisz cały dysk, nie możesz mieć absolutnej pewności, ponieważ zarówno dyski HD, jak i dyski SSD zawierają zapasowe sektory, które są zastępowane w przypadku awarii lub w przypadku dysków SSD w celu wyrównania zużycia .

Jeśli chcesz mieć absolutną pewność, że danych nie można odzyskać, musisz fizycznie zniszczyć dysk, którego nie można odzyskać. Nadpisywanie daje rozsądną pewność na dyskach HD - na dyskach SSD tak naprawdę nie ma sposobu na osiągnięcie tego. Jeśli zapełnisz cały dysk, nadal możliwe jest, że blok, w którym znajdowały się dane, został przełączony na blok zapasowy do wyrównywania zużycia i pojawi się ponownie później.

Michael Borgwardt
źródło
Nie można jeszcze głosować negatywnie, ale bezpieczna odpowiedź kasowania unieważnia ten argument. Oczywiście, jeśli nie chcesz polegać na bezpiecznym skasowaniu producenta, fizycznym zniszczeniem lampy błyskowej jest opcja. Ale pamiętaj, aby spalić go lub złamać wszystkie żetony, flash jest bardzo odporny.
Maarten Bodewes
Zauważ, że to stara odpowiedź; do tej pory BEZPIECZNE KASOWANIE powinno być obsługiwane przez większość, jeśli nie wszystkie dyski, w tym większość dysków twardych.
Maarten Bodewes
1
Bezpieczne usuwanie Wymaż wszystkie dyski SSD. Ale nie oddzielny zestaw plików ani partycja.
Michaił Moskalev
9

Ze względu na naturę pamięci flash NAND dyski SSD nie mogą bezpośrednio nadpisywać danych. Wielokrotne zastąpienie pliku przed usunięciem nie spowoduje bezpiecznego usunięcia go na dysku SSD - dane zostałyby zapisane w innym miejscu w pamięci NAND.

Aby zrozumieć, dlaczego tak jest, konieczne jest wyjaśnienie, w jaki sposób dyski SSD działają wewnątrz.

  • Pamięć flash NAND jest podzielona na bloki , z których każdy składa się z zestawu stron zwykle o rozmiarze 4 KB (plus kody korygujące błędy). Większość współczesnych dysków SSD używa NAND z blokami 128 stron dla rozmiaru bloku 512 KB, chociaż niektóre dyski, szczególnie starsze, mogą używać bloków 256 KB lub mniejszych. Poniższy diagram zakłada 256 KB bloków, ale koncepcja jest taka sama bez względu na rozmiar bloku.

Schemat stron w bloku NAND
Źródło - dzięki uprzejmości Music Sorter z Wikipedii, CC BY-SA 3.0

  • Każda strona może być zapisana osobno, ale stron nie można przepisać, dopóki nie zostaną usunięte, a usuwanie można wykonać tylko w całych blokach. Oznacza to, że za każdym razem, gdy dane są przepisywane, dysk SSD musi oznaczać dane na dotkniętych stronach jako nieprawidłowe i przepisać je w innym miejscu, być może w innym bloku. W bardziej odpowiednim momencie, najlepiej gdy dysk jest w stanie bezczynności, a wszystkie strony w bloku są oznaczone jako nieprawidłowe, dysk SSD może usuwać bloki, które nie są już używane. Ten proces czyszczenia nosi nazwę odśmiecania .

  • Aby dysk SSD wiedział, które bloki można usunąć, system operacyjny musi powiedzieć, które bloki nie zawierają już prawidłowych danych. Odbywa się to za pomocą ATA TRIM polecenia . Dysk SSD może następnie bez problemu usuwać nieużywane bloki.

Dyski SSD próbują równomiernie rozłożyć zapisy w pamięci NAND, aby uniknąć przedwczesnej awarii, procesu polegającego na wolnej przestrzeni dostępnej dla dysku.

  • Każdy blok NAND może wytrzymać tylko skończoną liczbę cykli zapisu / kasowania. Wiele współczesnych dysków SSD klasy konsumenckiej wykorzystuje NAND 19-21 nm, przy czym każdy blok jest odpowiedni przez około 3000 cykli, zanim stanie się bezużyteczny, chociaż dyski SSD dla przedsiębiorstw i kilka wysokiej klasy dysków SSD, które wykorzystują bardziej trwałe typy NAND, są dostępne na rynku.

  • Jednak we wszystkich przypadkach dyski SSD muszą rozprzestrzeniać zapisy na całym dysku, aby uniknąć nadmiernego zużycia dowolnego bloku w celu uniknięcia przedwczesnej awarii dysku, poprzez proces zwany wyrównywaniem zużycia . Efektywne wyrównywanie zużycia można osiągnąć tylko wtedy, gdy jest zarezerwowana pewna ilość miejsca ( nadmierna aprowizacja ), aby umożliwić efektywne zbieranie śmieci zgodnie z wymaganiami, nawet jeśli dysk jest prawie pełny.

  • W ekstremalnych warunkach, gdy dysk SSD jest proszony o szybsze zapisywanie danych, niż może usunąć stare bloki (często w przypadku obciążeń związanych z dużym obciążeniem centrum danych), może zostać zmuszony do przepisania danych z jednego bloku do innego, a następnie natychmiastowego usunięcia starego bloku aby zrobić miejsce dla nowych danych, zanim zdąży ono wykonać wyrzucanie elementów bezużytecznych.

  • Wymuszone przepisywanie bloku jest mniej niż idealne, ponieważ obniża wydajność i przyczynia się do wzmocnienia zapisu , w którym do bazowej pamięci NAND zapisywanych jest więcej danych niż rzeczywista ilość, jaką napęd ma napisać. Dodane nadmierne przydzielanie zasobów pomaga zmniejszyć wzmocnienie zapisu, zapewniając więcej wolnego miejsca na przepisywanie danych i usuwanie starych bloków. Właśnie dlatego wysokiej klasy dyski SSD dla przedsiębiorstw, takie jak Samsung SSD 845DC PRO, mają rozmiary takie jak 200 GB i 400 GB, mimo że w rzeczywistości dysk zawiera odpowiednio 256 lub 512 GB pamięci NAND. Zobacz także: Dlaczego dyski SSD mają dziwne rozmiary?

  • Seria białej księgi SSD firmy Samsung zapewnia dokładne wyjaśnienie wewnętrznego działania dysków SSD. Pisanie i kasowanie stron i bloków NAND oraz odśmiecania wyjaśniono w białej księdze 04 .

Jedynym sposobem, aby naprawdę usunąć dane z dysku SSD, jest użycie poleceń ATA Secure Erase.

  • Secure Erase instruuje dysk, aby wyczyścił wszystkie przechowywane dane, w tym dane, które mogą pozostać w nadmiernie wyposażonych regionach NAND. Wszystkie bloki są usuwane, gdy jest to wykonywane, co powoduje nieskazitelny dysk.

  • W dyskach z funkcją samoszyfrowania funkcję Secure Erase można po prostu wdrożyć, usuwając klucz szyfrowania. Ponieważ dane w NAND zaszyfrowanego dysku są nieczytelne bez klucza, nie ma potrzeby kasowania wszystkich bloków, jak byłoby to konieczne na niezaszyfrowanym dysku.

bwDraco
źródło
Uwaga: nie wszystkie dyski poprawnie implementują polecenia bezpiecznego wymazywania. Jeśli nadal chcesz korzystać z dysku, może to być najlepsze, co możesz zrobić, jeśli od początku nie miałeś zdolności przewidywania. Jeśli chcesz pozbyć się dysku, powinieneś go fizycznie zniszczyć - zwłaszcza chipy flash.
Bob
Jeśli wymagane jest fizyczne zniszczenie, otworzę dysk i zniszczę podstawową płytkę drukowaną.
bwDraco
@Bob Czy masz link do źródła omawiającego nieprawidłową implementację? secure_erasePolecenia jest częścią standardu ATA. Może nie być obecny na niektórych tańszych dyskach, ale jeśli tak, powinien działać poprawnie. Powodem, dla którego działa lepiej niż inne opcje, jest przywrócenie dysku do pierwotnej konfiguracji fabrycznej. Nawet na dyskach twardych jest szybszy i bardziej skuteczny niż narzędzia takie jak DBAN.
Paul
@Paul security.stackexchange.com/questions/41676/… , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/... Absolutnie zero gwarancji arbitralności oprogramowanie wewnętrzne dysku poprawnie implementuje dowolne polecenie (błędy mogą się zdarzyć w dowolnym miejscu) - a testy wykazały, że przynajmniej niektóre dyski zdecydowanie tego nie robią. Ostatecznie największym problemem jest to, że nie można tak naprawdę zweryfikować poprawnego usunięcia.
Bob
1
Ponieważ nie możemy złożyć ogólnego oświadczenia / gwarancji sukcesu, musimy założyć, że przynajmniej niektóre dyski nie implementują go poprawnie. Jeśli założymy, że niektóre dyski nie implementują go poprawnie, bezpieczną rzeczą jest założenie, że żaden dysk nie implementuje go poprawnie, dopóki nie zostanie udowodnione inaczej. I nie jest to łatwe do udowodnienia - kasowanie może wyglądać dla Ciebie poprawnie, zachowując informacje o chipach flash dla wszystkich, co wiesz - co oznacza, że zawsze powinieneś fizycznie zniszczyć wszystko, co naprawdę wrażliwe.
Bob
6

Jak stwierdził @teabot, korzystanie z oprogramowania do pełnego szyfrowania dysku obejmie problem bezpiecznego usuwania, ponieważ nie musisz już tego robić. Jednak, jak stwierdzono w powiązanym pytaniu , będzie to miało ogromny wpływ na wydajność, ponieważ zapobiega to wielu funkcjom kontrolera, takim jak kompresja i TRIM, i zgłoszono, że zmniejsza wydajność do poziomu, w którym normalny dysk twardy jest szybszy niż kosztowny SSD. W przypadku urządzeń opartych na SandForce istnieje lepsze rozwiązanie: urządzenia te domyślnie szyfrują AES, a klucz zostanie wyczyszczony podczas korzystania z funkcji bezpiecznego usuwania ATA, dzięki czemu wszystkie dane będą niedostępne, chyba że atakujący może złamać AES (128-bitowy dla prądu, 256-bitowy dla nowych dysków wydanych w marcu 2011 r.).

c089
źródło
1
Wydaje się jednak, że nie ma rozwiązania bezpiecznego usuwania tylko kilku plików. Musisz skasować cały dysk.
089
3

Jak myślałeś, wyczyszczenie całej wolnej przestrzeni, aby upewnić się, że wszystkie bloki, które zawierały dane, są wymazane, to jedyny sposób, aby się upewnić. Cóż, poza zabraniem nuksu z orbity ...

Będzie to dość czasochłonne i skróci żywotność układów flash, jeśli użyjesz niszczenia wieloprzebiegowego.

Innym sposobem ochrony usuniętych danych jest przechowywanie ich zaszyfrowanych w pierwszej kolejności za pomocą zaszyfrowanego systemu plików wykorzystującego coś w rodzaju truecrypt.

David Spillett
źródło