Walka z Petyą: nasze doświadczenia z odzyskiwaniem danych z plików bazy danych Firebird zaszyfrowanych przez wirusy ransomware
Jak wiadomo, ostatnio kilka wirusów szyfrujących zaatakowało wiele firm - najbardziej znane to Wannacry i Petya. Zazwyczaj, jak donoszą firmy, konieczne jest zapłacenie okupu lub, w przypadku Petyi, wszystkie zaszyfrowane pliki zostaną utracone.
Nasza firma specjalizuje się w konsultingu baz danych Firebird, dostarczamy narzędzia do odzyskiwania i optymalizacji, dlatego otrzymaliśmy kilka zapytań od firm, które padły ofiarą ataku Petyi i innych ransomware.
Petya to rodzaj „leniwego" wirusa szyfrującego: zazwyczaj szyfruje tylko pierwszy megabajt pliku, prawdopodobnie po to, aby wykonać swoją nieprzyjemną pracę jak najszybciej. Zazwyczaj utrata pierwszego megabajta na początku bazy danych Firebird czyni ją nieczytelną: pierwszy megabajt zawiera ważne informacje systemowe o tabelach i innych strukturach. Jest to bardzo podobne do „normalnego" uszkodzenia bazy danych, spowodowanego na przykład awarią sprzętu.
Szkoda tracić wielogigabajtową bazę danych z powodu utraty pierwszego MB. Na szczęście nasze narzędzie do odzyskiwania (IBSurgeon FirstAID) może pobrać dane z baz danych Firebird i InterBase nawet w przypadkach takich jak Petya: FirstAID działa na niskim poziomie, omijając silnik Firebird lub InterBase, wymaga minimalnej ilości metadanych, aby wyeksportować rekordy z zaszyfrowanej bazy danych do nowej.
Ponadto IBSurgeon FirstAID może pożyczyć struktury metadanych z innej bazy danych: jeśli dostępna jest stara, dobra kopia bazy danych, można ją wykorzystać jako źródło metadanych i wyeksportować wszystkie niezaszyfrowane dane.
Bazy danych Firebird zawierają strony o równej wielkości: w najnowszej wersji (3.0) domyślny rozmiar strony wynosi 8k, w poprzedniej 2.5 - 4kb. Oznacza to, że Petya szyfruje albo pierwsze 128 stron (w przypadku rozmiaru strony 8Kb) albo 256 stron (w przypadku strony 4k).
Jak widać na poniższym obrazku (jest to zrzut ekranu wewnętrznej wersji IBSurgeon FirstAID), krytyczne strony systemowe (dane dla formatów rekordów) zwykle zaczynają się od strony 185 dla baz danych ze stronami 8K (jest to domyślne w Firebird 3.0) i niestety od strony 171 dla rozmiaru strony 4k.
Oznacza to, że bazy danych Firebird 3 można zazwyczaj odzyskać z szyfrowania Petyi z skutecznością bliską 100%, a baza danych Firebird 2.5 będzie wymagać pożyczenia zewnętrznych metadanych, aby uratować dane.
Oznacza to, że w tym konkretnym przypadku możemy pokonać Petyę: nie tracimy danych i nie płacimy okupu.
Większość klientów zgłosiła, że udało im się odzyskać bazy danych Firebird z Petyi za pomocą IBSurgeon FirstAID.
Oczywiście to podejście nie chroni baz danych przed wirusami szyfrującymi, ale pozwala zminimalizować straty po takiej katastrofie. Kopie zapasowe i monitorowanie baz danych są również bardzo ważne jako pasywne środki ochrony przed wirusami i innymi katastrofami.
Więcej szczegółów na temat ransomware i Firebird: Jak chronić bazy danych Firebird przed ransomware?
Zachęcamy do skontaktowania się z nami w przypadku jakichkolwiek pytań!
