Skip to main content
Loading...
Szukaj
Logowanie
Dane logowania.
Nie masz konta? Załóż je tutaj.
Zarejestruj się
Zarejestruj się
Masz konto? Zaloguj się tutaj.

Przypadek pewnej macierzy

Przypadek pewnej macierzy

Miesiąc temu trafiła do nas macierz, jaka rozjechała się po awarii serwera. Zgodzie z opisem klienta, była to macierz RAID-1 zbudowana na dwóch dyskach SSD, jednak po podłączeniu dysków do innego serwera dane nie były widoczne. W związku z tym macierz została przekazana do pewnej firmy do odzyskania danych, gdzie udało się odzyskać część plików, ale wszystkie były uszkodzone. Zresztą nie tylko o same pliki chodziło – klientowi zależało na odzyskaniu działającego systemu i całego skonfigurowanego środowiska.

Trochę teorii

Macierze RAID, to zespoły dysków łączone w taki sposób, by były przez komputer widziane jako jedna logiczna całość. Istnieją trzy zasadnicze powody łączenia dysków w macierze:

    • podniesienie bezpieczeństwa danych przez wykorzystanie nadmiarowości oferowanej przez niektóre typy macierzy,
    • zwiększenie wydajności dzięki równoległemu przetwarzaniu danych umieszczonych na wielu dyskach,
      • umożliwienie utworzenia logicznych woluminów większych od pojemności dostępnych dysków.

        Dyski mogą być łączone w macierze na kilka sposobów. RAID-0 polega na dzieleniu danych na paski (grupy sektorów o określonym rozmiarze) i rozpraszaniu ich na wszystkich dostępnych dyskach. Ten typ macierzy nie oferuje żadnej nadmiarowości, więc awaria jednego z dysków skutkuje utratą dostępu do wszystkich danych.

        RAID-1, to tzw. lustro. Polega na tym, że dane są powielane na wszystkich dostępnych dyskach, dzięki czemu w razie awarii jednego z dysków dane można bez problemu odczytać z innego. Dlatego w przypadku naszego pacjenta nawet po podłączeniu pojedynczego dysku do innego takiego samego serwera system powinien się uruchomić.

        Pozostałe typy macierzy łączą rozpraszanie danych na wielu dyskach z pewną nadmiarowością (kod Hamminga dla RAID-2, XOR dla RAID-3, 4, 5 i 6 oraz kod Reeda-Solomona dla RAID-6) pozwalającą zachować spójność danych w przypadku awarii jednego (RAID-2, 3, 4 i 5) lub dwóch (RAID-6 – dlatego w tym typie macierzy używa się dwóch różnych rodzajów danych nadmiarowych) dysków. Macierze też można łączyć w macierze na zasadzie podobnej do łączenia dysków. Takie macierze na macierzach zwykle opisuje się symbolami dwucyfrowymi łączącymi oznaczenia typów macierzy. Np. RAID-10 lub RAID-50 oznaczają macierze RAID-1 lub RAID-5 odpowiednio połączone w macierz RAID-0.

        Przystępujemy do pracy

        Oba dyski z macierzy okazały się sprawne. Tym niemniej dla bezpieczeństwa pracę zaczynamy od wykonania pełnej kopii posektorowej obu SSDków na dyski twarde. Wykonanie takiej kopii trwało mniej, niż pół godziny, a dalsza praca z dyskami twardymi jest obarczona mniejszym ryzykiem. Oczywiście w komputerze używanym do odzyskiwania danych jest wyłączona obsługa funkcji TRIM.

        Macierz była zbudowana na SSDkach 240 GB liczących 1DCF2A6F sektorów. Wszystkie liczby w tym artykule dla ułatwienia analiz będą podawane w systemie szesnastkowym bez dodatkowych oznaczeń typu 0x..., czy...h. Jeśli ktoś pracuje w IT lub profesjonalnie zajmuje się cyberbezpieczeństwem, nie powinno to być problemem. Jeśli ktoś się dopiero uczy, tym bardziej przyda mu się kolejna okazja do nauki. 

        Analizę przeprowadzimy z wykorzystaniem programu DMDE. Do samej analizy, ale w tym przypadku też i dla wykonania całego zadania wystarczająca jest wersja demonstracyjna. Wybór hiszpańskiej wersji językowej interfejsu wynika z tego, że akurat mamy praktykantów z Hiszpanii, ale na nasze potrzeby język programu nie ma znaczenia. Program ma też polską wersję językową.

        MBR

        Analizę zaczynamy od sprawdzenia głównego sektora rozruchowego (MBR) znajdującego się w LBA0.

        n6v47VLq22QAAAAASUVORK5CYII=

        Ponieważ klient zadeklarował, że pacjent, to macierz RAID-1, mogliśmy się spodziewać, że zawartość sektora LBA0 na obu dyskach będzie taka sama. A tu już na pierwszy rzut oka widać, że coś tu nie gra. Sektory ewidentnie się różnią. W obu przypadkach widzimy w tablicy partycji odesłanie do partycjonowania GPT (kod EE w offsecie 1C2). 

        Kto zauważył, że sygnatura 55AA w offsecie 1FE została zmieniona na 55AB? Jest to celowy zabieg powodujący, że komputer będzie widział dyski jako niezainicjalizowane, co chroni nas przed przypadkowym namieszaniem w zawartości przez system operacyjny, np. przez niekontrolowane uruchomienie chkdsku. Tak, na dyskach, z jakich straciliśmy dane nie powinno się wykonywać żadnych zapisów, ale po pierwsze ten zapis jest kontrolowany, wykonywany w określonym celu i łatwo odwracalny, a po drugie, został wykonany nie na oryginale, a na kopii. Oczywiście taka ingerencja jest niedopuszczalna, gdybyśmy mieli do czynienia z dowodami cyfrowymi – wówczas dla zabezpieczenia nienaruszalności zawartości dysków należałoby użyć sprzętowego blokera zapisu.

        GPT

        Ponieważ analiza MBRu budzi więcej wątpliwości, niż daje odpowiedzi, zajrzyjmy dalej, do nagłówka tablicy GPT, jaki znajduje się w sektorze LBA1.