Jak mogę bezpiecznie usunąć dysk twardy?

209

Planuję sprzedać zewnętrzny dysk twardy USB, który obecnie zawiera starą instalację Ubuntu z zapisanymi hasłami i informacjami bankowymi.

Jak mogę bezpiecznie usunąć dysk przed sprzedażą?

ændrük
źródło
2
Zapoznaj się również z tą stroną EFF, aby uzyskać wyczerpujące wyjaśnienie dotyczące wielu systemów operacyjnych.
Tom Brossman,
@Lekensteyn 'Remove the keylots'? Właśnie przeszukałem AU i nie dostałem nic oprócz tego częściowo powiązanego pytania i odpowiedzi. Czy powinienem zadać to pytanie jako nowe pytanie, czy jest ono tutaj omówione?
Tom Brossman,
Jeśli masz bezpieczne hasło, świat nie zostanie utracony, gdy stracisz dysk. Zalecane jest jednak wyczyszczenie bloków klawiszy zgodnie z opisem w 5.3 kodu.google.com/p/cryptsetup/wiki/… . Śmiało i zapytaj o usuwanie zaszyfrowanych dysków.
Lekensteyn,

Odpowiedzi:

225

Bezpieczne usuwanie urządzenia pamięci masowej

Istnieje narzędzie wiersza polecenia o nazwie shred, które zastępuje dane w pliku lub całym urządzeniu losowymi bitami, co prawie uniemożliwia ich odzyskanie.

Przede wszystkim musisz zidentyfikować nazwę urządzenia.

Może to być coś w stylu /dev/sdblub /dev/hdb(ale nie tak /dev/sdb1, to partycja). Możesz użyć, sudo fdisk -laby wyświetlić listę wszystkich podłączonych urządzeń pamięci masowej i znaleźć tam zewnętrzny dysk twardy.

Uwaga: Upewnij się, że jest to właściwe urządzenie, wybranie niewłaściwego urządzenia spowoduje jego wyczyszczenie.

Odmontuj wszystkie aktualnie zamontowane partycje na tym urządzeniu, jeśli takie istnieją. Następnie uruchom następujące polecenie, zastępując /dev/sdXnazwę swojego urządzenia:

sudo shred -v /dev/sdX

Spowoduje to trzykrotne nadpisanie wszystkich bloków urządzenia losowymi danymi, -vflaga jest pełna i wypisuje bieżący postęp.

Możesz dodać opcję -nNrobienia tego tylko N razy, aby zaoszczędzić czas na urządzeniach o dużej pojemności. Może to chwilę potrwać, w zależności od wielkości zewnętrznego dysku twardego (myślę, że zajmuje to około 20 minut dla mojego dysku flash 4 GB).

Możesz także ustawić wszystkie bity na zero po ostatniej iteracji, dodając opcję -z, wolę to zrobić.

sudo shred -v -n1 -z /dev/sdX

Następnie musisz ponownie podzielić urządzenie na partycje. Najprostszym sposobem jest zainstalowanie GParted i użycie go:

sudo apt-get install gparted
gksu gparted

Wybierz swoje urządzenie z listy w prawym górnym rogu. Następnie wybierz, Device -> Create partition tableaby utworzyć tablicę partycji na urządzeniu.

Następnie dodaj pojedynczą partycję, która wykorzystuje całe nieprzydzielone miejsce na urządzeniu, wybierając fat32jako system plików. Zastosuj zmiany, klikając przycisk Zastosuj (zielony znacznik wyboru) na pasku narzędzi.

Napiwki

  • Przeczytaj stronę podręcznika shredonline lub pisząc man shredw terminalu.
  • Uważaj, aby niektóre części dysku nie zostały usunięte - użyj polecenia „SECURE ERASE” oprogramowania układowego napędu, np. Przez hdparm, aby prawidłowo wyczyścić dysk.
Frxstrem
źródło
31
Najlepsza praktyka tutaj: odłącz wszystkie dyski twarde, podłącz dysk zewnętrzny, a następnie wykonaj powyższe czynności na dysku CD na żywo, aby zapobiec nawet możliwości zepsucia czegokolwiek, co jest ważne.
Nick Pascucci,
30
Należy zauważyć, że ta odpowiedź została uznana za przestarzałą przez metodę SECURE ERASE polegającą na żądaniu, aby dysk sam się skasował. Powinno to zająć się wszystkimi możliwymi danymi i nie będzie niepotrzebnie obciążać systemu. Możesz wykonać bezpieczne kasowanie, w którym dysk kasuje się sam, korzystając z hdparmnarzędzia. Ta metoda próbuje usunąć cały dysk, w tym uszkodzone sektory. Co więcej, jest to znacznie szybsze niż zwykłe nadpisywanie. Jest to również zalecane metody dla dysków SSD, gdzie shredjest to bardzo zły pomysł.
Maarten Bodewes
6
@owlstead: Czy mógłbyś opracować? Co to jest BEZPIECZNE USUWANIE i jak z niego korzystać? Doceniamy, jeśli udzielisz osobnej odpowiedzi, jeśli masz lepszą.
Mads Skjern
17
Komentarz na temat korzystania z polecenia Bezpieczne usuwanie ATA wprowadza w błąd. Istnieją poważne problemy z korzystaniem z SE (dotyczące braku spójnego wsparcia ze strony dostawców i braku przejrzystości procesu). Powiązane: security.stackexchange.com/questions/62253
MV.
2
@Fiksdal Nie wiem, minęło pięć lat, odkąd napisałem tę odpowiedź i nie pamiętam motywacji, by sformułować ją w ten sposób. To powiedziawszy, myślę, że miałem na myśli „praktycznie niemożliwe dzisiaj, ale prawdopodobnie możliwe w przyszłości z wystarczającą poprawą technologiczną”.
Frxstrem,
94

Po prostu „wyzeruj” go za pomocą ddnarzędzia:

  1. Uruchom Narzędzie dyskowe za pośrednictwem System > Administration > Disk Utility
  2. Znajdź dysk w lewym panelu, wybierz go, a po prawej znajdź ścieżkę urządzenia (np. /dev/sdX)
  3. Uruchom następującą komendę z terminalu gnome (Aplikacje> Akcesoria> Terminal):

    sudo dd if=/dev/zero of=/dev/sdX bs=1M

    Upewnij się, że używasz właściwej ścieżki urządzenia, a nie tylko kopiuj tę linię!

Spowoduje to zastąpienie całego dysku zerami i jest znacznie szybsze niż generowanie gigabajtów losowych danych. Podobnie jak wszystkie inne narzędzia, nie zajmie się blokami, które zostały zmapowane z jakiegokolwiek powodu (błędy zapisu, zarezerwowane itp.), Ale jest bardzo mało prawdopodobne, że kupujący będzie miał narzędzia i wiedzę, aby odzyskać cokolwiek z tych bloków.

PS: Zanim fani Bruce'a Schneiera zlekceważą mnie: chcę dowodu, że można odzyskać dane z nie-starożytnego obrotowego dysku twardego, który został zastąpiony zerami. Nawet nie myśl o komentowaniu inaczej! : P

htorque
źródło
6
+1 dla Bruce'a Schneiera (i DD, które naprawdę jest doskonałym narzędziem)
3
6
Nie mówię, że to najsilniejszy „dowód”, ale metoda Gutmanna istnieje z jakiegoś powodu. O ile mi wiadomo, współczesne dyski twarde są teoretycznie podatne na odzyskiwanie danych, jeśli zostaną one zastąpione zerami. Niezależnie od tego, czy nadal tak jest, mam nadzieję, że możesz przyznać, że nie zaszkodzi to nadpisując przy użyciu / dev / random lub określonego algorytmu do tego celu.
Cerin
13
Nie, to nie zaszkodzi, zajmie to dużo czasu (zwłaszcza jeśli używasz / dev / random: P) z wątpliwą korzyścią. Ostatni artykuł na ten temat, który przeczytałem (przepraszam, brak szczegółów, myślę, że to był rok 2008) zasugerował - na podstawie danych z testów z prawdziwym sprzętem - że szansa na odzyskanie jednego bitu wynosi <50% → oznacza, że ​​masz niższą poziom błędu podczas „odzyskiwania” każdego bitu za pomocą rzutu monetą. Tak więc, chyba że istnieje dowód na to, że zerowanie nie wystarcza (w tej chwili nie jest to „może”, a raczej „bez cholerstwa”), jest to dla mnie metoda wyboru.
htorque
12
@Cerin Rozumiem, że nigdy nie było dowodów na to, że te paranoiczne fantazje dotyczące odzyskiwania danych są w ogóle możliwe. Jak wskazano w sekcji „Krytyka” w artykule, który podłączyłeś, sam Guttman krytycznie odnosi się do sposobu, w jaki jego algorytm został użyty „ bardziej jako rodzaj inkantacji voodoo w celu wygnania złych duchów niż w wyniku technicznej analizy technik kodowania dysku ” . Jedyne powody, dla których warto wyczyścić dysk więcej niż zero, są emocjonalne ... tzn. Poprawiają samopoczucie ...
irracjonalny Jan
4
Fajnie, ale czy mógłbyś uprzejmie wyjaśnić mi, dlaczego umieściłeś bs=1Mparametr? Mogę odczytać man, a IIUC ograniczasz bufor do 1 megabajta; dlaczego jest to tak pożądane?
gaazkam
20

Spójrz na to ostateczne pytanie dotyczące Security Stack Exchange

Jak mogę w sposób niezawodny usunąć wszystkie informacje z dysku twardego?

Omówiono tutaj różne opcje bezpiecznego usuwania, a także fizyczne zniszczenie i czyszczenie, abyś mógł wybrać najlepszą opcję.

Pamiętaj jednak, że obecny stan odzyskiwania dla różnych pamięci jest następujący:

  • Bardzo stare dyski twarde: między ścieżkami były luki, więc potencjalnie można było wykopać te szczeliny (jeśli miałeś pod ręką skanujący mikroskop elektronowy). Wielokrotne zastąpienie było potencjalnie przydatne.
  • Nowe dyski twarde: obecnie nie istnieje technologia, która może odczytać nawet po jednym nadpisaniu.
  • Dyski twarde półprzewodnikowe: poziomowanie zużycia oznacza, że ​​nie można bezpiecznie nadpisywać. Zamiast tego albo szyfrujesz cały wolumin i pozbywasz się klucza do wycierania, albo niszczysz urządzenie.
Rory Alsop
źródło
Jaka jest definicja bardzo starego, np. 30 lat temu?
Zmotywowany
Napędy MFM 10 Mb od około 20-25 lat temu, tak
Rory Alsop
Jak to się ma do napędów w urządzeniach takich jak telefony komórkowe i tablety?
Zmotywowany
@Motivated Biorąc pod uwagę, że telefony i tablety używają pamięci flash, prawdopodobnie jest to ta sama odpowiedź, co w przypadku dysków SSD, ale nie jestem pewien. Możesz poprosić Super User o lepsze informacje.
wjandrea
20

Ogólnie używam niszczącego testu odczytu i zapisu badblocks -w. Dwie główne zalety to

  • jest częścią systemu podstawowego i prawie każdego systemu ratunkowego, więc jest dostępny np. z powłoki ratunkowej instalatora Ubuntu
  • na końcu pojawi się raport, czy na dysku są uszkodzone bloki

Pamiętaj, że jeśli raport wskazuje na problem, nie sprzedawałbym już dysku, ponieważ prawdopodobnie wkrótce się nie powiedzie.

Przykład użycia (jeśli masz dysk sdd):

sudo badblocks -wsv /dev/sdd

(dodano svdla paska postępu + pełne)

Simon Richter
źródło
11

Teraz narzędzie Disks ( gnome-disks) ma funkcję bezpiecznego usuwania ATA . Możesz go użyć do skasowania dysku twardego. Ta sama opcja wyjaśniona w tej odpowiedzi przy użyciu narzędzia wiersza polecenia hdparm.

  1. Otwórz narzędzie Dyski → Wybierz dysk docelowy
  2. Z menu: Formatuj dysk ...
  3. Wybierz z listy rozwijanej Erase: ATA Enhanced Secure Erase
  4. Format

Ulepszone bezpieczne usuwanie ATA 1 ATA Enhanced Secure Erase 2

user.dz
źródło
2
Chociaż jest to ogólnie najlepsza opcja, nie ma ona zastosowania przez USB (jak zadano w powyższym pytaniu). Istnieją ostrzeżenia i zastrzeżenia dotyczące tego na stronie ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Mimo to zapytałem o to w numerze Gnome .
colan
1
@colan Jak rozumiem, zależy to od obsługi funkcji w pełnym stosie (Dyski - Jądro - Sterownik - Kontroler - Napęd). Chociaż moja obudowa była odpowiednia dla dwóch dysków twardych (WD USB3 HDD i WD z aktywnym adapterem SATA-USB3), potwierdzam, że nie we wszystkich przypadkach, widziałem niektóre adaptery SATA-USB3 z zakodowanym wyrównaniem bloków (odczyt przy 512b & Blok 4k nie tworzy identycznych obrazów), niektóre nie obsługują SMART, który ma również kilka długich poleceń exec, Niektóre napędy USB mają niestandardową / skręconą implementację dla chronionej hasłem / szyfrowanej partycji (użycie go przez inny adapter USB spowoduje break it)
user.dz
8
  • Musisz utworzyć urządzenie zwrotne, które będzie działać / dev / random na całej zawartości dysku.
  • To zapełni cały dysk prawie całkowicie losowymi danymi. Następnie możesz ustawić wszystkie bity z powrotem na 0 za pomocą dd.

  • Właściwie, dd powinien być w stanie losowo losować wszystkie informacje.

  • Powiedziałeś, że przechowujesz informacje bankowe na dysku twardym, więc sugeruję, abyś uruchomił dowolną z poniższych komend z płyty CD na żywo (gdzie hdX to dysk twardy ).

    dd if=/dev/zero of=/dev/hdX

    dd if=/dev/random of=/dev/hdX

    dd if=/dev/urandom of=/dev/hdX

  • Jakkolwiek zajmie to bardzo dużo czasu, w zależności od rozmiaru dysku twardego.

Dla Twojej informacji:

Zobacz poniższe linki,

Uwaga:

  • Losowo używa losowych bitów, a zero używa 0 bitów.
  • Urandom to pół losowa wersja random.
karthick87
źródło
Czy losowość jest naprawdę konieczna? Czy nie wystarczy zastąpić wszystkie bity 1, a następnie 0?
Buck
7

możesz użyć czyszczenia

Instalacja

sudo apt-get install wipe

Możesz użyć tego oprogramowania lub użyć następującego polecenia:

shred -vfz -n ? (drive)

Gdzie "?" oznacza, ile razy chcesz zniszczyć dysk, a następnie, gdy były „(dysk)”, włóż dysk, który chcesz zniszczyć. Gdy skończysz, rób z nim, co chcesz. Myślę, że ta metoda jest bardziej skuteczna, ponieważ możesz kontrolować, co dzieje się z twoim dyskiem i mieć natychmiastowe wyniki.

Spinki do mankietów

  1. http://wipe.sourceforge.net/
  2. http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-securely-wipe-your-pcs-hard-drive/
  3. http://ubuntuforums.org/showthread.php?t=817882
Tachyony
źródło
6
Po co używać jednego na drugim, wycierać kontra strzępy?
Mads Skjern
7

Najlepiej jest użyć funkcji bezpiecznego wymazywania dysków ATA. Bezpieczne kasowanie usuwa dysk na poziomie oprogramowania układowego. Nie mogę być bardziej bezpieczny.

Najpierw sprawdź, czy obsługiwane jest bezpieczne usuwanie:

sudo hdparm -I /dev/sdX | grep -i security

(zamień sdX na sda / sdb / sdc, bez względu na dysk).

Jeśli nie widzisz danych wyjściowych, po prostu użyj dd:

sudo dd if=/dev/zero of=/dev/sdX bs=1M

Jeśli zobaczysz wynik, sprawdź, czy urządzenie nie jest zamrożone:

sudo hdparm -I /dev/sdX | grep -i frozen

Jeśli nie jest zamrożony, ustaw hasło na „Eins”:

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX

Opcjonalnie: możesz chcieć wiedzieć, ile to zajmie:

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'

Następnie wykonaj kasowanie:

sudo hdparm --user-master u --security-erase Eins /dev/sdX

Wtedy poczekaj. Najwyraźniej w przypadku dysku o pojemności 1 TB może to potrwać 3 godziny lub dłużej.

Jest ładny skrypt, który zautomatyzował te kroki .

Berend de Boer
źródło
6

Możesz użyć DBAN . Wikipedia :

Darik's Boot and Nuke (powszechnie znany jako DBAN) [...] został zaprojektowany w celu bezpiecznego wymazywania dysku twardego, dopóki dane nie zostaną trwale usunięte i nie będą już możliwe do odzyskania, co osiąga się poprzez zastąpienie danych losowymi liczbami wygenerowanymi przez Mersenne twister lub ISAAC ( PRNG). Metody Gutmanna, Szybkie usuwanie, Krótkie usuwanie DoD (3 przebiegi) i DOD 5220.22-M (7 przebiegów) są również zawarte jako opcje obsługi remanencji danych.

DBAN można uruchomić z dyskietki, dysku CD, DVD lub dysku flash USB i jest oparty na systemie Linux. Obsługuje dyski twarde PATA (IDE), SCSI i SATA. DBAN można skonfigurować tak, aby automatycznie czyścił każdy dysk twardy widziany w systemie, co czyni go bardzo przydatnym w scenariuszach niszczenia danych bez nadzoru. Istnieje DBAN dla systemów Intel x86 i PowerPC.

DBAN, podobnie jak inne metody usuwania danych, nadaje się do użycia przed recyklingiem komputera w sytuacjach osobistych lub handlowych, takich jak przekazanie lub sprzedaż komputera [2]. W przypadku infekcji złośliwym oprogramowaniem można użyć DBAN przed przywróceniem dysku do produkcji.

NN
źródło
3

Kolejna zaleta shred nad dd w tym scenariuszu: mam wadliwy dysk, który muszę zwrócić sprzedawcy w celu wymiany.

dd zatrzymuje się przy pierwszym złym bloku i nie spycha reszty (chyba, że ​​boleśnie używam Skip = ..., aby skoczyć do przodu za każdym razem, gdy się zatrzymuje).

shred ignoruje błędy zapisu i szczęśliwie kontynuuje w tym przypadku.

Jürgen Weigert
źródło
0

Zrootuj i

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)

Bądź pewien, że masz odpowiedni dysk!

Pete Ashdown
źródło
7
Nigdy nie używaj / dev / random do takich operacji. / dev / random generuje losowe dane przy użyciu puli entropii i blokuje operację, jeśli ta pula entropii jest pusta. Więc jeśli nie zrobisz nic z komputerem, aby wygenerować nową losowość, operacja potrwa wieczność. Zamiast tego użyj / dev / urandom. Zobacz takżeman random
htorque,
2
Prawdopodobnie trzeba by poprzedzić polecenie sudo. Ponadto ddzwykle kończy się szybciej, gdy używany jest rozmiar bloku większy niż domyślny. Sugerowałbym więc bardzo ostrożne użycie:sudo dd if=/dev/random bs=1m of=/dev/sdX
irracjonalnego Jana
ah, znaczyło to być sudo dd if=/dev/urandom bs=1m of=/dev/sdXOh, cóż.
irracjonalny Jan
0

Ci, którzy zalecają użycie niszczenia, udzielają złych rad. Strona man Shreda mówi, że jest efektywnie bezużyteczny w kronikowanych systemach plików, z których Ubuntu jest prawie na pewno korzystać, jeśli nie zmienisz domyślnych ustawień systemu plików (kronikowane są ext3 i ext4. Podobnie jak resierfs i Reiser4, a także wiele WIELU innych popularnych systemów plików Linux .).

Nie wspominając już o tym, że shred jest całkowicie bezużyteczny do całkowitego wygaszania lub losowania dysku, ponieważ działa tylko na pojedyncze pliki lub zestawy plików (na poziomie systemu plików, a nie na surowym poziomie danych). Jeśli chcesz bezpiecznie wyczyścić dysk, musisz użyć dd w głównym węźle urządzenia (na przykład: / dev / sdc zamiast / dev / sdc1), gdy nic na nim nie jest zamontowane.

Zajmie to trochę czasu, ale w przeciwieństwie do niszczenia całkowicie i nieodwracalnie wyczyści dysk twardy z MBR do końcowego sektora. Ponadto, DUŻE OSTRZEŻENIE na dd, upewnij się, że używasz go na odpowiednim urządzeniu, bo przynajmniej CZĘŚCIOWO wyczyścisz niewłaściwy dysk. Może to być katastrofalne, jeśli przypadkowo użyjesz dd na dysku systemowym, co nie tylko spowoduje, że nie da się go uruchomić, ale może nieodwracalnie uszkodzić dowolną partycję na dysku. To dało mu przydomek „niszczyciel dysku”.

Shred NIE jest niezawodnym narzędziem do bezpiecznego czyszczenia dysku. Jeśli sprzedajesz lub oddajesz komputer, PRAWIDŁOWYM sposobem na opróżnienie dysku jest wyzerowanie go lub zrandomizowanie za pomocą dd i nigdy, nigdy nie używaj niszczenia, ponieważ dzienniki systemu plików skutecznie przywrócą poszarpane pliki bez żadnego wysiłku.

Yaro Kasear
źródło
9
Nie wskazujesz niszczenia pliku. Wskazujesz na całe urządzenie. System plików jest nieistotny.
David Biorąc pod uwagę
1
@DavidGiven Cóż, technicznie rzecz biorąc, możesz zniszczyć tylko plik wewnątrz systemu plików i właśnie o tym mówi strona niszczenia strony. W takim przypadku ostrzeżenia Yaro byłyby w pewnym sensie ważne. Ale tak, zniszczenie całej partycji to coś zupełnie innego; w takim przypadku system plików rzeczywiście nie ma znaczenia.
Alois Mahdal,
0

Najłatwiejszym sposobem na to jest użycie:

sudo shred -fv /dev/xxx

gdzie xxx oznacza urządzenie, aby upewnić się, jakie masz urządzenie, wpisz:

sudo fdisk -l

Urządzenie jest oznaczone po dysku słowa i karbonizatu okrężnicy : , na przykład:

Disk /dev/sde: 500.1 GB etc...

Nie montuj systemów plików na dysku, które chcesz wyczyścić itp. Shred zrobi to, co chcesz w części czasu. Opcja -z jest dla ostatniego uruchomienia z 0, aby ukryć czyszczenie i nie jest konieczne do czyszczenia danych.

Najlepszym sposobem jest użycie dd jak napisali poprzedni użytkownicy:

sudo dd if=/dev/urandom of=/dev/xxx bs=1M

użyj urządzenia urandom, ponieważ jest to bardziej nowoczesny i lepszy sposób na uzyskanie losowego wzorca.

Inne narzędzia w tym momencie mogą być starsze i mniej ludzi się rozwija. Shred jest podstawową aplikacją Linuksa.

Spójrz na ten przykład: wipe 2009 http://lambda-diode.com/software/wipe/ . Ale to znana aplikacja. Można użyć wybielacza, ale jak próbowałem, zajęło to dużo czasu.

Daro z Polski
źródło
-1

Jeśli dd cmd nie działa, możesz użyć metody przekierowania, aby wymazać dane.

Lubić,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 

lub

alternatywnie możesz użyć cp (kopiuj cmd), aby zastąpić poprzednie dane.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
kali doss
źródło