Zapisz się na newsletter i nie przegap
nowych wpisów dotyczących bezpieczeństwa!

Bezpieczne usuwanie zawartości z dysków

0

W codziennej pracy pracownika działu IT/administratora często przychodzi moment, w którym musi poświęcić czas na zapewnienie bezpieczeństwa danych, zapisanych na dyskach twardych lub innych nośnikach magnetycznych. Na ogół jest to dosyć lekceważony fragment polityki bezpieczeństwa, którego nieprzestrzeganie może rodzić poważne skutki, zarówno w przypadku wycieku danych personalnych, jak też i danych firmowych.

Jeżeli w swojej pracy spotykasz się z takimi sytuacjami, jak:

  •  konieczność odesłania uszkodzonej jednostki (desktop/laptop) do naprawy gwarancyjnej, zapewnianej przez serwis producenta,
  • modernizacja stacji roboczej – wymiana dysku twardego na większy/szybszy model, wraz z powrotem wymiennej jednostki do puli,
  • migracja danych w zestawach serwerowych/macierzowych,
  • przekazanie popularnych pamięci flash USB (pendrive), czy kart pamięci (SD/CF/microSD) innemu użytkownikowi,
  • kasacja uszkodzonych komputerów,
  •  naprawa i kasacja uszkodzonych dysków twardych, pamięci flash USB, kart pamięci,

to zachęcam do zapoznania się z resztą artykułu.

Ale tam przecież nie ma nic ciekawego!

We wszystkich tych przypadkach oczyszczenie dysków jest więcej niż zalecane – pozostawienie krytycznych dla firmy lub ważnych osobistych danych na nośnikach, nad którymi tracimy kontrolę, jest więcej niż niedopatrzeniem. W dobie zagęszczenia informacji, jakie niesie ze sobą pojedynczy cyfrowy plik, nie ma danych których nie warto byłoby chronić.

Popularne przekonanie: ‚tam było tylko kilka zdjęć’ blednie w przypadku, gdy nawet mało wytrawny włamywacz może z danych EXIF odczytać geolokację zdjęć, czas wykonania, czasem tagi związane z osobami na nich obecnymi.

O ile dane prywatne są po prostu narażaniem naszego i naszych bliskich bezpieczeństwa, o tyle brak odpowiedniego zabezpieczenia danych osobowych osób trzecich jest przestępstwem ściganym z urzędu (Przepisy ustawy o ochronie danych osobowych z dnia 29 sierpnia 1997r.)

Warto więc poznać kilka podstawowych i darmowych metod na podniesienie poziomu bezpieczeństwa, wciąż pozostając pod kontrolą naszych ulubionych systemów Linuksowych.

Przecież można sformatować

Muszę tu zaznaczyć, iż w pełni profesjonalne kasowanie zawartości dysków twardych w środowiskach o podwyższonym poziomie bezpieczeństwa, odbywa się za pomocą degauserów (odpowiednich urządzeń operujących polem elektromagnetycznym). W pewnych ściśle określonych przypadkach nośniki niszczone są fizycznie lub po prostu składowane w wewnętrznych magazynach.

Wstępem do rozważań o konieczności usunięcia danych, jest znikoma pod tym względem skuteczność procesu popularnego ‚formatowania’ czyli ponownego zakładania wskazanego systemu plików. Wielu użytkowników – o zgrozo również ludzi z IT – wierzy, iż dysk po sformatowaniu nie zawiera żadnych sensownych danych, a nowemu właścicielowi z pewnością nie będzie chciało się ich żmudnie odzyskiwać.

Założenie z natury błędne, o czym miało okazję się przekonać min. kilku pracowników jednej z polskich instytucji rządowych (jeden z głośnych przypadków odzyskania danych niejawnych i danych osobowych). Obrazowo, formatowanie systemu plików możemy porównać do wyrwania kartki indeksu z książki – jak łatwo dostać się do pozostałej treści nie trzeba chyba tłumaczyć. W zależności od pojemności nośnika, popularne aplikacje open-source (Recuva) czy linuksowy foremost – radzą sobie z tym w czasie od kilku minut w górę.

Trudno naprawdę polecić tą metodę do zabezpieczania naszych cyfrowych śladów – ponownie podkreślając iż niska skuteczność nie gwarantuje żadnego realnego poziomu bezpieczeństwa dla naszych danych.

Jak w takim razie łatwo usunąć dane?

Wracając do meritum czyli możliwości usuwania danych pod kontrolą systemu Linux, poniższe rozwiązania opisywane są w kolejności od najprostszych do najbardziej wyrafinowanych.

W środowisku Unix/Linux skorzystać możemy z zastosowania popularnego narzędzia ‚dd’, przy wykorzystaniu wszechobecnych urządzeń (/dev/zero lub /dev/urandom).

Przed uruchomieniem dd, warto upewnić się który z dysków zamierzamy usunąć wydając np. polecenie:
$ sudo fdisk -l

W poniższych przykładach litera dysku (a/b/c/d …) zastąpiona została znakiem ‚X’.
Dla przykładu – usunięcie MBR (Master Boot Record) bez usuwania tablicy partycji podstawowych z dysku to:

$ sudo dd if=/dev/zero of=/dev/sdX bs=446 count=1

Usunięcie MBR oraz tablicy partycji

$ sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1

Wyzerowanie (zapisanie dysku wartością 0)

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

Zapisanie dysku przypadkowymi wartościami z /dev/urandom

$ sudo dd if=/dev/urandom of=/dev/sdX bs=1M

Tak utworzona szybka metoda czyszczenia zawartości dysku posiada jedna sporo wad: po pierwsze, bez możliwych modyfikacji nie będziemy w stanie sprawdzać na bieżąco stopnia zaawansowania naszych operacji, po drugie: optymalna szybkość wymaga eksperymentowania z parametrem „bs=”, po trzecie i chyba najważniejsze: o ile nie napiszemy skryptu, nie jesteśmy w stanie zautomatyzować tego procesu.
Z pomocą – przynajmniej w przypadku 2 pierwszych problemów przychodzi dodatkowe polecenie systemowe ‚shred’.
Ten bardzo wygodny w obsłudze program możemy zastosować do czyszczenia zarówno plików, partycji, jak i całych dysków.
Szybkie czyszczenie wskazanego dysku:

$ sudo shred -vf -n1 /dev/sdX

Nadpisywanie wartościami pseudolosowymi, wypełnienie zerami z ostatnim przebiegiem:

$sudo shred -vfz -n1 /dev/sdX

v- verbose
f- force permissions
z- zeroize (ostatni przebieg)

Obydwie opisane powyżej metody – choć szybkie – mogą jednak nie spełniać co bardziej rygorystycznych warunków postawionych przed naszym zadaniem całkowitego i nieodwracalnego zniszczenia zawartości. Obydwie chociaż relatywnie proste w zastosowaniu, są jednak zależne od systemu operacyjnego z poziomu którego je uruchamiamy. Ciężko je nazwać wygodnymi dla pracy z większą ilością dysków. Trudności sprawia również chęć skorzystania z bardziej zaawansowanych metod jak np. metoda Guttmana lub DoD.

Skuteczniejsze rozwiązania

Również generatory liczb pseudolosowych obecne w systemach bieżącej generacji systemów operacyjnych nie spełniają właściwości wskazanych min. przez National Security Council w programie NISP. Lukę tą wypełnia dostępny na SourceForge.net projekt o nazwie DBAN (Darik’s Boot and Nuke), ostatnio ożywiony prawie po 2 latach milczenia.

DBAN składający się z mini dystrybucji Linuxa oraz stworzonego na jej potrzeby programu dwipe zapewnia nam:

– możliwość pracy na wielu dyskach równolegle (wszystkie wykryte przez kernel dyski SCSI/SAS/SATA/PATA/Flash/SSD)
– możliwość wyboru generatora liczb pseudolosowych – np. Mersenne Twister lub ISAAC
– możliwość wyboru metody min. metoda Gutmana (35 przebiegów), DoD 5220.22-M (7 przebiegów), DoD Short (3 przebiegi) oraz Zeroize (1 przebieg) i Random (1 przebieg). Możliwe są kombinacje wskazanych metod.
– możliwość uruchomienia aplikacji za pomocą CDROMU, dysku USB, dyskietki lub co opiszemy dokładniej – środowiska PXE.
– możliwość przekazania parametrów do aplikacji dwipe na poziomie kernela – dzięki temu bezobsługowa opcja ‚autonuke’ spowoduje wyczyszczenie wskazaną metodą wszystkich odnalezionych przez kernel dysków.
– umiejętność kasowania przemapowanych sektorów dysków twardych (sektorów, które przez oprogramowanie dysku zastąpiły błędne sektory w pierwotnej lokalizacji)

Autorzy zapewniają, że możliwe i legalne jest wykorzystanie tego projektu w działalności komercyjnej i doradczej.

Ponieważ rozwój projektu DBAN od ok. roku 2010 zatrzymał się na jednej z ostatnich wersji beta (wygląda jednak, iż powoli ktoś ożywia dawny projekt) społeczność open-source (autor: Andy Beverley) rozpoczęła pracę nad forkiem dwipe o nazwie nwipe. Decydując się na podłączenie go do większego projektu (PartedMagic) – nwipe omija jedną z większych wad DBAN – niską wykrywalność nowych kontrolerów dyskowych, których obsługa wraz z upływem czasu była coraz bardziej znikoma. Stanowiło to sporą przeszkodę w szerszym zastosowaniu dwipe w środowiskach, posiadających bieżące generacje sprzętu, podobnie jak w zastosowaniach w oczyszczaniu dysków RAID.
W obecnej edycji nwipe może być skompilowany i używany poza środowiskiem DBAN, używając do wykrywania dysków biblioteki parted, jest w stanie odnaleźć i obsłużyć znacznie szerszą gamę urządzeń.

Scenariusze wykorzystania DBAN/nwipe:
– uruchomienie DBAN za pomocą CDROM – metoda najprostsza. Minusem rozwiązania jest jednak fakt iż nowoczesne komputery w tym komputery przenośne nie posiadają już napędów optycznych. Utrudnione jest również dokonywanie zmian w samych ustawieniach aplikacji (np. kombinacja wielu metod lub ich szczegółowa parametryzacja)
– uruchomienie DBAN za pomocą USB/Flashdrive – dla wielu, w tym wskazanych już ultrabooków czy netbooków, jedna z metod podstawowych. Minusem metody są również utrudnione (chociaż mniej niż w przypadku napędów optycznych) zmiany w parametrach aplikacji. Ponadto sporym minusem jest fakt iż dysk USB, z którego uruchomiliśmy oprogramowanie, również wykrywany jest i obsługiwany bez większych problemów. Sprawia to, że użycie opcji ‚autonuke’ jest co najmniej utrudnione, chyba iż nie mam nic przeciwko uzupełnianiu zawartości dysku USB po każdym jego uruchomieniu.
– preferowana i wskazana metoda – start za pomocą PXE, np. jako element uzupełniający dla systemu DRBL. W pełni możliwa do parametryzacji (zmiany w pliku konfiguracyjnym pojawiają się natychmiast po ich zapisaniu, możliwe jest tworzenie wielu profili z ustawieniami, możliwa i bezproblemowa jest opcja automatycznego czyszczenia ‚autonuke’). Jako jedyny minus można wskazać iż starsze komputery oraz ultrabooki, nie wyposażone w kartę sieciową wspierającą PXE, muszą być obsługiwane za pomocą dysku USB lub CDROMU.

Przykładowe działanie

Załóżmy następujący scenariusz:
– do oczyszczenia przeznaczona jest większa ilość dysków o różnych typach interfejsów (PATA/SATA/SCSI/SSD), różnych pojemnościach, szybkościach obrotowych, parametrach pracy itp.
– w ramach projektu mogą pojawić się również karty pamięci (SD/CF/microSD)
– w ramach projektu mogą pojawić się komputery typu laptop/ultrabook
– nośniki muszą być oczyszczone za pomocą przynajmniej 3-przebiegów (random, 1, zero)
– nośniki, które nie zakończyły procesu oczyszczania, muszą być zaznaczone i przekazane do zniszczenia fizycznego

Wymagania:
– działający serwer DRBL/PXE
– dowolna ilość stacji roboczych wyposażona w kartę sieciową zgodną ze standardem PXE, wyposażonych również w wewnętrzny kontroler PATA/SATA lub SCSI
– opcjonalna stacja dysków 1.44 (logi)
– opcjonalnie rozgałęzienia i przelotki (SATA<>PATA) kabli zasilających dyski.

Scenariusz rozpoczynamy od posortowania nośników w miarę możliwości wg. interfejsów i pojemności – optymalne wykorzystania zakłada niewielkie różnice w pojemnościach względem kolejnych partii dysków – ma to na celu ograniczenie oczekiwania przez mniejsze dyski na zakończenie procesu ze strony najbardziej pojemnego z nich.

Ze strony serwera DRBL tworzymy nowy wpis w menu startowym uruchamiające aplikację DBAN z domyślnym trybem autonuke – ustawiając ten wpis jako domyślny dla podłączonych urządzeń. Przykładowa konfiguracja:

label dban
# MENU DEFAULT
# MENU HIDE
MENU LABEL Darik’s Boot and Nuke 2.2.6
# MENU PASSWD
kernel dban.bzi
append nuke=”dwipe autonuke” silent
TEXT HELP
Nuke!
ENDTEXT

Dyski podłączamy do interfejsów we wskazanej maszynie roboczej – uruchomienie stacji spowoduje załadowanie i uruchomienie aplikacji DBAN/nwipe za pomocą mechanizmu PXE oraz automatyczne przystąpienie do oczyszczania wszystkich wykrytych dysków (autonuke) wskazaną metodą.
Zakończenie procesu dla wszystkich dysków dostępne jest na ekranie podsumowania.
Dyski, które z powodów np. błędów mechanicznych lub błędnych/uszkodzonych sektorów nie były w stanie ukończyć procesu poprawnie, zaznaczone będą w odpowiednim logu. Zgodnie z założeniem scenariusza przeznaczamy je wtedy do fizycznej destrukcji.

Podsumowując: pamiętajmy o oczyszczeniu nośników zanim się ich pozbędziemy – najsłabszym ogniwem polityki bezpieczeństwa wciąż jest człowiek.

 

Przypisy
Blog autora – http://marcinbojko.wordpress.com/
Blog o danych osobowych – http://blog-daneosobowe.pl/
Recuva – http://www.piriform.com/recuva
Foremost – http://sourceforge.net/projects/foremost/
NISP – http://www.dss.mil/isp/fac_clear/download_nispom.html
Mersenne Twister – http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
ISAAC – http://eprint.iacr.org/2006/438
Metoda Guttmana – http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html
DBAN – http://www.dban.org/
Nwipe – http://sourceforge.net/projects/nwipe/
PXE – http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf
DRBL – http://drbl.sourceforge.net/

Podobał Ci się ten artykuł?

Zapisz się na listę i nie przegap nowych ciekawostek, porad i konkursów!

O Autorze

Skomentuj

Podobał Ci się ten tekst? Dołącz do nas na Facebooku i nie przegap NOWYCH artykułów!
Polub AVG na Facebooku