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.
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.