The Daily Swig

Badacze przedstawili swoje postępy w pracach nad BitCrackerem, narzędziem do łamania haseł napędzanym przez procesory graficzne, stworzonym specjalnie w celu złamania BitLockera, pełnego szyfrowania dysków wbudowanego w system Microsoft Windows.

Biała księga (PDF) opublikowana niedawno przez Elenę Agostini, inżyniera oprogramowania w firmie Nvidia, oraz Massimo Bernaschi, dyrektora ds. technologii w Narodowej Radzie Badań Naukowych Włoch (CNR), opisuje BitCrackera jako rozwiązanie zaprojektowane do „podejmowania prób deszyfrowania, za pomocą ataku słownikowego, jednostek pamięci zaszyfrowanych przez BitLockera”.

BitCracker został po raz pierwszy wydany w grudniu 2015 roku i od tego czasu jest nieustannie rozwijany.

Atak słownikowy

BitLocker to implementacja pełnego szyfrowania dysku firmy Microsoft, wydana po raz pierwszy jako uaktualnienie do systemu Windows Vista w 2007 roku. BitLocker jest zgodny z modułami TPM (Trusted Platform Modules) i szyfruje dane przechowywane na dysku, aby zapobiec nieautoryzowanemu dostępowi w przypadku kradzieży urządzenia lub ataków opartych na oprogramowaniu.

BitLocker To Go działa w ten sam sposób w przypadku urządzeń zewnętrznych, takich jak dyski USB.

Technologia domyślnie wykorzystuje 128-bitowe szyfrowanie AES, ale można je skonfigurować do 256 bitów, aby uzyskać wyższy poziom bezpieczeństwa.

Jako że BitLocker wykorzystuje wysoki poziom szyfrowania AES, BitCracker polega na wysokowydajnych procesorach graficznych (GPU), aby atak słownikowy był wykonalny.

Oprogramowanie jest dostępne dla społeczności open source i można je uzyskać za pośrednictwem serwisu GitHub.

An OpenCL implementacja BitCracker została zintegrowana z popularnym, open source’owym narzędziem do hakowania haseł John The Ripper, wersja Bleeding-Jumbo, wydana w zeszłym roku.

„Proces deszyfrowania BitLockera wymaga wykonania bardzo dużej liczby haszy SHA-256, a także AES, więc proponujemy bardzo szybkie rozwiązanie, wysoce dostrojone do GPU Nvidii, dla obu z nich”, wyjaśniają badacze.

BitCracker został przetestowany z trzema architekturami GPU Nvidii: Kepler, Maxwell i Pascal.

LISTEN NOW SwigCast, Episode 2: ENCRYPTION

Bits and pieces

BitLocker wykorzystuje dwa różne tryby uwierzytelniania; hasło użytkownika lub tryb odzyskiwania, w którym użytkownik albo wpisuje hasło, aby zaszyfrować lub odszyfrować dysk, albo używa 48-cyfrowego klucza odzyskiwania wygenerowanego przez BitLockera, aby uzyskać dostęp do swojej zawartości.

Podczas szyfrowania każdy wolumin sektora jest szyfrowany indywidualnie przy użyciu klucza szyfrowania całego woluminu (FVEK) i klucza głównego woluminu (VMK), z których ten ostatni jest również szyfrowany i przechowywany w woluminie.

Jeśli dysk został zaszyfrowany przy użyciu metody hasła użytkownika, na przykład, w metadanych woluminu można znaleźć dwa zaszyfrowane klucze VMK – jeden zaszyfrowany hasłem użytkownika i jeden zaszyfrowany hasłem odzyskiwania.

Podczas odszyfrowywania BitLocker rozpoczyna odszyfrowywanie VMK, następnie FVEK, a potem samego dysku.

Narzędzie BitCracker koncentruje się na odszyfrowaniu klucza VMK, odsłaniając hasło zdolne do odszyfrowania urządzenia.

Wykonywany jest atak słownikowy, wykorzystujący wydajność i moc GPU. Standard SHA-256 przekształca wiadomości w tak zwane „bloki W” przed ich zaszyfrowaniem, więc aby przyspieszyć działanie, zespół stworzył narzędzie do wstępnych obliczeń dla niektórych zestawów słów W, zmniejszając liczbę wymaganych operacji arytmetycznych poprzez utworzenie tęczowej tabeli lookup. Nie można jednak zastosować tego rozwiązania do innych konfiguracji SHA-256.

MOGĘ TAKŻE LUBIĆ Narzędzia open source pomagają wykrywać zabezpieczenia kontenerów w chmurze

Aby jeszcze bardziej zwiększyć szybkość potencjalnych ataków, Agostini i Bernaschi byli również w stanie usunąć obliczenia MAC i porównania.

Wydajność BitCrackera została porównana z innym popularnym programem do łamania haseł, Hashcat, przy użyciu procesora graficznego Pascal.

Zespół przyznaje, że porównanie nie jest całkowicie sprawiedliwe, ponieważ Hashcat nie wykorzystuje funkcji W-block BitCrackera ani obliczeń MAC.

Jednakże Hashcat był w stanie uzyskać 3 290 milionów hashy na sekundę (MH/s), co zdaniem badaczy jest „porównywalne z najlepszą wydajnością BitCrackera na tym samym procesorze graficznym.”

Złożony proces szyfrowania BitLockera oznacza, że istnieje ograniczenie liczby haseł, które mogą być testowane w jednym czasie.

Jednakże praca badawcza sugeruje, że przy użyciu jednego wysokiej klasy procesora graficznego, teoretycznie możliwe jest przetestowanie ponad 122 milionów haseł w ciągu zaledwie 24 godzin.

„Wyniki pokazują, że BitCracker może konkurować ze state-of-the-art password cracker pod względem surowej wydajności na podstawowych jądrach obliczeniowych, podczas gdy jest jedynym, który zapewnia konkretne skróty, aby przyspieszyć procedurę deszyfrowania BitLocker”, wyjaśniają naukowcy.

Przyszły rozwój

BitCracker ma pewne ograniczenia. Narzędzie jest obecnie w stanie ocenić hasła składające się z ośmiu do 27 znaków, a użytkownicy muszą dostarczyć swój własny słownik wejściowy.

Dodatkowo, BitLocker jest często używany w połączeniu z TPM w ustawieniach korporacyjnych, zamiast polegać wyłącznie na haśle użytkownika, więc ataki mogą być ograniczone do konfiguracji konsumenckich lub być może osób w poszczególnych organizacjach, a nie wdrożeń obejmujących całą firmę.

Jak zauważył użytkownik Reddita i współpracownik GitHuba, Rarecoil, jest również tak, że narzędzie ma już kilka lat, a zarówno słowniki, jak i zoptymalizowane zestawy reguł wykraczają poza zakres ataków BitCrackera.

Agostini i Bernaschi zaproponowali również metody ulepszenia BitCrackera w przyszłości, w tym dodanie ataku w trybie maski lub przypisanie inteligentnych prawdopodobieństw do słowników wejściowych w celu przyspieszenia procesu.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.