Peter Gutmann - Patron Nagrody.
Patron nagrody, Peter Gutmann, jest nowozelandzkim naukowcem, jaki w swojej bogatej karierze zajmował się zagadnieniem skutecznego niszczenia danych oraz wieloma innymi zagadnieniami z dziedziny techniki komputerowej, na jakich jednak zna się znacznie lepiej, niż na dyskach. Tym niemniej międzynarodową sławę przyniosła mu publikacja "Secure Deletion of Data from Magnetic and Solid-State Memory" oraz zaprezentowana w niej 35-przebiegowa metoda niszczenia danych przez ich nadpisanie, zwana od nazwiska twórcy metodą Gutmanna.
Metoda Gutmanna pozwala na skuteczne i nieodwracalne zniszczenie danych, jednak jest absurdalnie nadmiarowa. W dodatku publikacja uzasadniająca wprowadzenie algorytmu Gutmanna niewiele ma wspólnego z rzeczywistym funkcjonowaniem dysków twardych, a zawarte w niej błędy wciąż są podstawą wielu pokutujących w środowisku informatycznym i bezkrytycznie powielanych w różnych publikacjach mitów. Z tego względu Peter Gutmann jest idealnym patronem dla nagrody za zniszczenie danych zarazem skuteczne, jak i w sposób sprzeczny z wiedzą techniczną.
Laureaci Nagrody Gutmanna.
Macierz RAID-6.
Macierze RAID, to zespoły dysków łączone w jedną logiczną całość w celu przyśpieszenia przetwarzania danych, zwiększenia odporności na awarie dysków lub zwiększenia rozmiaru dostępnych woluminów. Macierz RAID-6 jest odporna na awarię dwóch dysków. Jednak w tym konkretnym przypadku pech chciał, że padły trzy z ośmiu naraz.
Uszkodzenie dysków wynikało z awarii w sieci energetycznej i miało charakter elektryczny. W teorii problem powinien być prosty i tani do rozwiązania - wystarczy naprawić najłatwiejszy z trzech uszkodzonych dysków, by móc uruchomić macierz. Niestety informatyk postąpił inaczej. Pojechał do sklepu komputerowego, kupił trzy nowe dyski i odbudował macierz. Nie przewidział, że odbudowa macierzy z włozonymi do niej aż trzema nowymi dyskami naraz doprowadzi do zniszczenia danych.
Jaka dokładnie była skala zniszczeń? Tu sprawa się rozbiła o postawę klienta. Nie chciał oddać dysków do diagnostyki bez obietnicy, że uda się odzyskać wszystkie dane. Niestety w tej sytuacji już na podstawie opisu problemu jest pewne, że nie wszystkie dane da się odzyskać i bez analizy zawartości dysków nie wiadomo, czy w ogóle da rady zrobić z tym cokolwiek sensownego. Nie wspominając o tym, że przy odzyskiwaniu danych obiecywanie czegokolwiek bez przeprowadzenia choćby podstawowej diagnostyki jest mało odpowiedzialne.
W tej sytuacji prawdopodobnie zawinił pośpiech i rutyniarstwo. Podjęte działanie w oczywisty sposób musiało spowodować nieodwracalne szkody. Zabrakło zabezpieczenia stanu wyjściowego, odpowiedniej diagnostyki uszkodzonych dysków i działań ukierunkowanych na odzyskanie danych. Zamiast tego mieliśmy działanie ukierunkowane na jak najszybsze uruchomienie macierzy, co po włożeniu dysków z obcą, "wyzerowaną" zawartością musiało zakończyć się katastrofą.
Macierz RAID-0.
Klient dostarczył do odzyskania danych uszkodzony dysk. Mniejsza o szczegóły uszkodzenia, w tym przypadku to ma drugorzędne znaczenie. Dysk udało się uruchomić i wtedy ujawniła się niespodzianka.
Podczas analizy okazało się, że struktury logiczne adresują dane w przestrzeni adresowej wykraczającej poza pojemność dysku. Tak o dwa razy. To jasny sygnał, że dysk musiał pracować w macierzy. Dialog na ten temat z informatykiem klienta jest na tyle ciekawy, że zasługuje na przytoczenie w całości. Prawie w całości - bez szczegółów pozwalających na identyfikację klienta:
- a ten dysk, to czasem nie pracował w jakiejś macierzy?
- tak, to była macierz RAID-0
- to przywieź mi drugi dysk od tej macierzy
- ale ten drugi dysk jest sprawny
- to dobrze, ale potrzebuję go, żeby złożyć macierz
- nie mogę
- dlaczego?
- bo my już tego dysku używamy do innych celów
- przyjedź, zabierz ten dysk
- ale my potrzebujemy odzyskać z niego dane
- nie zrobię ci tego bez drugiego dysku
- ale myśmy tamten dysk przeskanowali i tam nie było tych danych, jakie są nam potrzebne, więc muszą być na tym
- przyjedź, zabierz ten dysk
Macierze RAID (oprócz RAID-1) rozpraszają dane na wszystkich dyskach w tzw. paskach. Oznacza to, że każdy plik większy od rozmiaru paska będzie podzielony na części i zapisany na różnych dyskach. Nawet w przypadku plików mniejszych od rozmiaru paska, może się zdarzyć, że zostanie on podzielony na części leżące na różnych dyskach. Dlatego odzyskiwanie danych w przypadku macierzy RAID wymaga analizy wszystkich dysków i złożenia ich w odpowiedni sposób, by można było z nich wykopiować kompletne i działające pliki.
Niestety często firmowi informatycy i administratorzy systemów nie znają konfiguracji macierzy, jakimi zarządzają. Dosyć często zdarza się, że trafiają do nas macierze niekompletne. Opisany przypadek nie był też jedynym, kiedy sprawne dyski z macierzy zostały nadpisane w związku z wykorzystaniem do innych celów zanim ktoś się zorientował, że zawierały dane warte odzyskiwania. Zdarzają się też macierze "wzbogacane" o dodatkowe dyski, jakie nie były uczestnikami macierzy. Trochę to komplikuje analizy, ale na szczęście nie jest krytycznym problemem.
Często też się zdarza, że rzeczywiste parametry macierzy, a nawet jej typ, odbiegają od deklarowanych przez klienta. Ciekawy przypadek macierzy RAID-1, jaka ostatecznie okazała się macierzą RAID-0 został opisany w Security Magazine № 5(26)/2024. Przypadek ten nie kwalifikuje się jednak do Nagrody Gutmanna, gdyż dane udało się odzyskać praktycznie w całości i to pomimo głupiej i nieodpowiedzialnej ingerencji ze strony kogoś, kto już wcześniej próbował odzyskać dane z tej macierzy.
Macierz RAID-50.
Historia tego pacjenta wymaga przedstawienia szerszego kontekstu. Nie była to nagła awaria spadająca jak grom z jasnego nieba, ale problem dojrzewający przez kilka miesięcy. Niestety informatycy przez ten czas byli ślepi na niepokojące objawy wskazujące na degradację dysków i po każdym incydencie, kiedy macierz w końcu wstawała, naiwnie wierzyli, że problem sam się rozwiązał i już nie wróci.
Jednak po paru miesiącach takiego doraźnego podnoszenia macierzy resetami, w końcu zemścił się brak diagnostyki i macierz nie wstała. Został wytypowany dysk - winowajca - bo koło niego zamiast zielonej diody zaświeciła się czerwona. Tak, na tym kończyły się umiejętności diagnostyczne informatyka, jaki nawet nie potrafił poprawnie przeczytać modelu dysku z etykietki, ale ktoś mu powierzył odpowiedzialność za macierz RAID w bardzo dużej firmie technologicznej.
W tym przypadku dużą rolę odegrały kwestie organizacyjne. Niechęć klienta do przekazania dysków do diagnostyki, brak zrozumienia zarówno działania macierzy, jak i procesu odzyskiwania danych. Prawdopodobnie też obawa, że diagnostyka może ujawnić błędy administratorów, jakie ciężko będzie zamieść pod dywan. Bo nie każda organizacja chce wyciągać z błędów naukę. Niektóre wolą te błędy powtarzać.
Być może w tym przypadku odzyskanie danych wciąż byłoby możliwe, gdyby zabrać się za to zgodnie z zasadami sztuki, ale na pewno nie da się odzyskać danych z macierzy RAID bazując na analizie tylko jednego dysku. Tym bardziej, że macierz RAID-50 powinna bez trudu wytrzymać awarię jednego dysku, a więc z prawdopodobieństwem graniczącym z pewnością można się spodziewać, że tam się kryła jakaś niespodzianka, jakiej firmowy informatyk nie był w stanie zidentyfikować bez zewnetrznej pomocy. Poza tym sam pomysł zrobienia jednego uszkodzonego dysku, włożenia go do macierzy i sprawdzenia, co się stanie bez wcześniejszej analizy macierzy, jako całości, jest wysoce niebezpieczny.
Większość typów macierzy RAID (oprócz RAID-0) jest odporna na awarię co najmniej jednego dysku. Oznacza to, że w przypadku awarii jednego dysku, ten dysk może wypaść ze składu macierzy, a ona nadal może działać. Zawartość macierzy będzie się zmieniała, a w tym czasie zawartość uszkodzonego dysku ulega dezaktualizacji.
Ponowne podłączenie takiego uszkodzonego i zawierającego zdezaktualizowane dane dysku do macierzy jest obarczone ryzykiem uszkodzenia aktualnych danych oraz destabilizacji metadanych systemu plików. Zwłaszcza w sytuacji, kiedy w macierzy brakuje innego dysku, jaki uległ uszkodzeniu później. Takie działanie może doprowadzić do podobnych konsekwencji, jak w przypadku innego laureata Nagrody Gutmanna - Macierzy RAID-6.
Dlatego w praktyce odzyskiwania danych z macierzy RAID analizuje się całość macierzy, dąży się do uruchomienia i zabezpieczenia zawartości wszystkich dysków i dopiero na końcu podejmuje się decyzje związane ze złożeniem macierzy. Często w takich sytuacjach rezygnuje się z włączenia do niej dysku (dysków), jaki uległ uszkodzeniu wcześniej i bazuje się tylko na minimalnej liczbie dysków wymaganej dla uruchomienia macierzy danego typu, wybierając do tego celu te dyski, jakie pracowały w macierzy aż do jej końca. Z tego powodu trzeba by było być bardzo chciwym i skrajnie nieodpowiedzialnym, żeby przystać na odzyskiwanie danych z macierzy mając do dyspozycji tylko jeden z jej dysków.
Przeminęło z wiatrem...
Kolejny przykład zaniedbania ze strony informatyka. Pierwszy dysk w macierzy padł jakieś dwa tygodnie przed jej całkowitą awarią. Nie tylko nie został wymieniony i macierz nie została odbudowana, ale nawet nie został wyłączony i tak sobie głowice orały po powierzchni talerzy, jak pługiem po polu, czego skutki są widoczne na poniższym zdjęciu:
Kiedy informatyk w końcu zareagował, było już za późno i wszystkie dyski wyglądały podobnie, jak na powyższym obrazku. Te same modele dysków, często pochodzące z jednej partii produkcyjnej, przechodzące przez ten sam łańcuch dystrybucji i pracujące w tych samych warunkach eksploatacyjnych, często mają tendencję, by psuć się w bardzo krótkich odstępach czasu. Dlatego też tak ważna jest szybka reakcja na awarię dysku i odbudowa macierzy, zanim zepsuje się kolejny. Macierz RAID-6 wprowadzono własnie z tego powodu, że zbyt często dochodziło do awarii drugiego dysku i rozsypania macierzy, zanim odbudowała się po awarii pierwszego.
Ryzyko niemal równoczesnej awarii wielu dysków jest jeszcze większe w przypadku dysków SSD. Czynnikiem krytycznym dla awarii SSD jest ich zużycie operacjami zapisu i kasowania, a macierze RAID robią to w bardzo równomierny sposób. Dlatego w ich przypadku szczególnie warto uwzględnić to ryzyko i podjąć odpowiednie działania zapobiegawcze, np. budując macierz na różnych SSDkach, wykorzystujących różne kontrolery i układy Flash-NAND. Takie podejście obniży wydajność macierzy RAID, ale też zwiększy czasowe odstępy pomiędzy awariami dysków. Na nic jednak zdadzą się rozwiązania techniczne, jeśli administratorzy będą lekceważyć swoje obowiązki i spóźniać reakcję na awarię.
Po resecie wstało...
Resetowanie urządzeń jest jedną z popularnych w środowisku informatycznym metod rozwiązywania problemów. Podczas ponownego uruchomienia urządzenia często zapominają o starych błędach i zaczynają pracować poprawnie. Jednak taka metoda naprawcza może też być sposobem na zdobycie Nagrody Gutmanna.
Podczas ponownego uruchamiania komputera czasem zdarza się, że system wykrywa jakieś błędy na dysku i zaczyna je naprawiać. Uruchamia chkdsk, fsck, scandisk lub jakąś podobną procedurę. Na monitorze wyświetla się uspokajający komunikat o trwającej naprawie dysku...
Ale co tak naprawdę się dzieje i co faktycznie jest naprawiane? Wbrew dosyć powszechnemu przekonaniu, dysk wcale nie jest naprawiany. Wskazane wyżej procedury tak naprawdę nie mogą naprawić dysku, a co najwyżej trochę uporządkować struktury logiczne systemu plików i usunąć błędy znalezione w ich metadanych. Przy tym ich prawdziwym celem nie jest ochrona znajdujących się na dysku danych, ale doprowadzenie struktur logicznych do stanu pozwalającego na zamontowanie partycji.
I to właśnie dlatego nieraz po takiej "naprawie dysku" czegoś nam na nim brakuje, znikają jakieś pliki, a czasem też pojawiają się jakieś nowe, o dziwnych nazwach. Zjawisko to jest szczególnie niebezpieczne w środowiskach zwirtualizowanych. Pliki maszyn wirtualnych zawierają własne wewnętrzne systemy plików z ich własnymi strukturami logicznymi.
Struktury logiczne plików maszyn wirtualnych są odrębne od struktur logicznych systemu plików opisującego te pliki. Z tego względu mogą być pomyłkowo zidentyfikowane, jako struktury niespójne lub błędne, co może doprowadzić do ich uszkodzenia lub usunięcia. Czynnikiem ryzyka jest też dynamiczny przydział zasobów i zapisywanie plików maszyn wirtualnych jako plików rozrzedzonych (sparse). Ingerencja w struktury logiczne systemu plików opisującego plik maszyny wirtualnej może doprowadzić do niekontrolowanego zwolnienia zasobów, jakie za chwilę mogą zostać zajęte i zniszczone przez nadpisanie inną wirtualką. Nawet, jeśli uszkodzenie struktur logicznych nie będzie skutkowało nadpisaniem pliku maszyny wirtualnej, a jedynie jego zgubieniem, odzyskanie takiego pliku, ze względu na jego fragmentację, może być tak praco- i czasochłonnym zajęciem, że trudno sobie wyobrazić jego praktyczną realizację.
Zagrożeniem dla możliwości odzyskania plików pogubionych przez chkdsk lub fsck jest też funkcja TRIM, jaka w przypadku dysków SSD doprowadza do szybkiego fizycznego zniszczenia danych usuniętych na poziomie struktur logicznych. Funkcja TRIM jest obecna także w dyskach twardych wykorzystujących technologię zapisu dachówkowego (Shingled Magnetic Recording - SMR). W ich przypadku próba odzyskiwania danych w fizycznej adresacji daje większe szanse powodzenia, gdyż w dyskach twardych nie ma operacji fizycznego kasowania danych.
Kolejny czynnik ryzyka wiąże się z technicznym stanem dysku, jaki podczas wykonywanych przez chkdsk lub fsck operacji może się pogorszyć. Szczególnie narażone są tu dyski SSD, jakie zużywają się przez operacje zapisu i kasowania. Wykonywana w krótkim czasie duża liczba zapisów na zużytym dysku SSD może go dobić. Dlatego ignorowanie objawów wskazujących na problemy sprzętowe, a zwłaszcza degradację dysków, jest proszeniem się o Nagrodę Gutmanna
Informatyk próbował wszystkiego.
Pacjent, to dysk SSD, z jakiego przypadkowo usunięto zdjęcia ślubne. Zazwyczaj rodzaj danych nie ma znaczenia dla procesu ich odzyskiwania. Dlaczego więc w tym przypadku ma znaczenie to, że to były zdjęcia ślubne? O tym na końcu...
Laptop został oddany do informatyka w celu odzyskania danych. Co zrobił informatyk (i czego nie zrobił)?
- nawet nie wyjął dysku, pracował bezpośrednio na laptopie, z jakiego usunięto dane uruchamiając na nim system operacyjny,
- nie wyłączył obsługi funkcji TRIM,
- aktywnie korzystał z internetu, o czym świadczyły liczne instalatory niezbyt wartościowych programów do odzyskiwania danych i cracków do tych programów w katalogu "pobrane",
- zapisywał rezultaty swoich działań, w tym wyniki skanów bezpośrednio na tym samym dysku, z jakiego stracono dane.
Leonid Breżniew i Gieorgij Żukow byli takimi kanaliami, że zostali bohaterami Związku Radzieckiego aż czterokrotnie. I w tym przypadku skala popełnionych głupich błędów w odzyskiwaniu danych skłania do przyznania od razu aż czterech Nagród Gutmanna. Ale co tak naprawdę miało krytyczne znaczenie dla nieodwracalnej utraty danych? W tym przypadku najprawdopodobniej była to funkcja TRIM, jaka doprowadziła do fizycznego zniszczenia danych, a dalsze nieudolne wysiłki informatyka już nie bardzo miały co pogorszyć.
Dlaczego akurat w tym wypadku było ważne, że stracone dane, to były ślubne zdjęcia? Klient końcowy zadzwonił z pretensją i trzeba było mu wiele rzeczy wytłumaczyć. Chyba zrozumiał i na koniec zapytał, co ma w takim razie zrobić w tej sytuacji? To były czasy, kiedy pewien znany polityk unieważnił jeden ślub i wziął drugi, A ponieważ od strony technicznej już nic nie można było zrobić, jedynym wyjściem pozostało unieważnić ślub i wziąć go drugi raz.
Formatowanie partycji.
Trudno ustalić, gdzie leżą korzenie idiotycznego zwyczaju formatowania dysków przed odzyskiwaniem danych. Tym niemniej zwyczaj ten jest praktykowany, propagowany na forach internetowych o śmieciowej wartości merytorycznej, a w przypadku najbardziej niekompetentnych firm oferujących usługi odzyskiwania danych, jest elementem ich procedury nie tyle odzyskiwania danych, co ich dalszego bezmyślnego uszkadzania. W tej chwili już znacznie rzadziej, ale jeszcze kilkanaście lat temu inicjalizacja i sformatowanie dysku zdarzało się funkcjonariuszom zabezpieczającym dowody cyfrowe. Szczególnie często problem ten dotyczył dysków zawierających zapis monitoringu, jakich struktura logiczna nie była obsługiwana przez system Windows.
Takie postępowanie nawet trudno tłumaczyć brakiem wiedzy i niedostatkami systemu edukacji. Elementarna logika powinna podpowiedzieć, że ten pomysł jest skrajnie głupi. Jednak popularność tego błędu nakazuje wyjaśnić, dlaczego zasługuje on na Nagrodę Gutmanna.
Podstawową zasadą w odzyskiwaniu danych jest ochrona nośnika przed jakimikolwiek zapisami. W pewnych uzasadnionych diagnostyką i analizą struktur logicznych systemu plików sytuacjach zasada ta może być naruszona, ale powinno to dotyczyć jedynie świadomych i kontrolowanych zapisów ukierunkowanych na naprawę struktur logicznych. Formatowanie partycji tę zasadę narusza.
Podczas formatowania tworzone są nowe metadane opisujące pustą partycję. Nadpisują one metadane starej partycji, jakie, wprawdzie uszkodzone, ale mogą mieć istotną wartość w procesie odzyskiwania danych. Nawet jeśli uszkodzonych metadanych nie uda się naprawić, wciąż mogą być dla specjalisty cennym źródłem informacji o strukturze logicznej partycji i jej zawartości.
W przypadku systemów plików typu FAT, formatowanie niszczy tablice alokacji plików, co poważnie utrudnia, a często wręcz praktycznie uniemożliwia poskładanie pofragmentowanych plików. Nawet w przypadku uszkodzonych tablic alokacji plików, wciąż mogą być one użyteczne. Fakt, że typowo mamy ich dwie kopie, zwykle pozwala na złożenie prawidłowej tablicy alokacji plików w oparciu o poprawne fragmenty obu uszkodzonych kopii. Utrata tablic alokacji plików jest popularną przyczyną problemów z poprawnym odzyskiwaniem filmów z kart pamięci.
W podobny sposób formatowanie w większym lub mniejszym stopniu niszczy struktury logiczne i innych systemów plików. W teorii szybkie formatowanie nie powinno prowadzić do uszkodzenia samych plików, ale nie zawsze tak jest. Do uszkodzenia plików może dojść, jeśli sformatujemy partycję w innym systemie plików lub ustawimy inne, niż pierwotne parametry partycji.
Nie możemy też zapominać o funkcji TRIM, jaka po sformatowaniu pozwoli systemowi operacyjnemu poinformować dysk o dużym obszarze wolnego miejsca, jakiego zawartość przestaje być dostępna w adresacji LBA i może w krótkim czasie zostać fizycznie zniszczona. Z tych względów sformatowanie dysku, z jakiego utracono dane, zasługuje na uhonorowanie Nagrodą Gutmanna. Na tę samą nagrodę zasługują też administratorzy i moderatorzy internetowych forów, jacy udostępniają internetową przestrzeń "niezależnie myślącym" nieodpowiedzialnym użytkownikom dla wygłaszania "alternatywnych opinii" i nawet nie oznaczają porad formatowania dysków w celu odzyskiwania danych jako szkodliwych.