Linuksowe szyfrowanie dysku LUKS można obejść. W dość prosty sposób

Szyfrowanie LUKS wspomagane układem TPM można doprowadzić do awarii i skłonić do udostępnienia ratunkowej konsoli administracyjnej. Problem brzmi jak coś poważnego, w praktyce unaocznia jedynie niespójność mechanizmu automatycznego odblokowywania dysków.

Michael Fincham z Pulse Security przyjrzał się implementacji automatycznego odblokowywania dysków za pomocą TPM. Zamiast pytania o hasło, system czyta je z układu TPM i używa go do odszyfrowania – jeżeli nie zaszły żadne przesłanki blokujące TPM, czyli poszlaki wskazujące na ręczną ingerencję w sprzęt lub ustawienia UEFI.

Tą metodę od lat stosuje Windows w swojej funkcji BitLocker: dyski są szyfrowane, ale odszyfrowują się automatycznie. Poproszą o hasło jedynie, gdy uruchomi się z nich system po wkręceniu do innego komputera (inny TPM) lub nastąpi zablokowanie układu wskutek jakichś potencjalnie nieuprawionych zmian. Choć Windows promuje takie rozwiązanie już od 10 lat (TPM zdecydowanie nie jest nowością, pojawił się w komputerach w roku 2006), wiele domyślnych konfiguracji szyfrowania w Linuksach konfiguruje swój mechanizm pełnodyskowego szyfrowania (LUKS FDE) stosując wyłącznie interaktywnie wpisywane hasło. Rozwiązanie to uniemożliwia rozruchy nienadzorowane.

LUKS i TPM

Jest jednak możliwe skonfigurowanie LUKS tak, aby stosował TPM. Wymaga to użycia rozwiązania Clevis i odpowiedniej konfiguracji dracut. Są to narzędzia opracowane przez Red Hata. Działają one, wykorzystując ten sam mechanizm pytania o hasło, co w przypadku „zwykłego” LUKS-a. Clevis implementuje agenta „wpisującego” hasło za pomocą TPM. Architektura agentów odpowiadających na żądanie hasła ma słabość, w postaci… wyświetlania prośby o hasło. Jej obecność oznacza, że mimo działania agentów, dalej możliwe jest interaktywne, ręczne wpisanie hasła.

Poprzez bardzo szybkie podanie wielu złych haseł (np. poprzez przytrzymanie klawisza Enter), systemd anuluje odblokowywanie dysku. Prowadzi to do nieobecności drzewa rootfs i niemożności przejęcia przez resztę systemu rozruchu zapoczątkowanego przez /boot. Dracut zapewnia w domyślnej konfiguracji, że taki problem kończy się otrzymaniem awaryjnej powłoki administracyjnej. Mając ją, można samodzielnie zrobić to, co chwilę później i tak miał zrobić clevis: odblokować dysk za pomocą TPM. Tylko, że zamiast otrzymać odblokowany dysk i ekran logowania, utrzymujemy odblokowany dysk i powłokę administracyjną.

To jeszcze nie katastrofa

Warto mieć na uwadze kilka kwestii. Po pierwsze, sposobów na uzyskanie powłoki ratunkowej dracut jest więcej. Wystarczy odpowiednio „zdenerwować” proces rozruchu: odpiąć dysk, odpiąć (specyficznie skonfigurowaną) sieć, podpiąć wadliwą sieć, podłączyć nieobsługiwane urządzenie itp. Jeżeli stosujemy szyfrowanie LUKS+TPM, powłoka ratunkowa powinna być więc wyłączona. Z tym, że błędne podanie hasła powinno zablokować TPM i uniemożliwić rozruch, a to nie miało miejsca – jest to kwestia niezależna od powłoki ratunkowej.

Windows z zabawnych powodów nie ma takiego problemu. Jeżeli dysk jest auto-odblokowywany przez TPM, użytkownik nigdy nie otrzyma interaktywnego pytania o hasło. Możliwe jest ręczne wymuszenie wejścia Windowsa do swojego odpowiednika powłoki ratunkowej (w tym wypadku Windows RE) i od Windows 11 nie zapyta ona o hasło (!), ale to nic nie da. Jeżeli dysk jest zaszyfrowany BitLockerem, rozruch z Windows RE nie odblokowuje dysku automatycznie. Środowisko odzyskiwania co prawda nie poprosi o hasło administratora, ale poprosi o hasło do dysku. I oczywiście, podobnie jak dracut emergency shell, Windows RE Agent także może być wyłączony, co czasem ma sens. Windows RE jest potencjalnie dziurawy.

Nie do końca wiadomo, kto miałby tu coś naprawić. Problem występuje na skrzyżowaniu wielu współpracujących za sobą mechanizmów i ukazuje słabość architektury agentów. Jednocześnie jest łatwy do powstrzymania, poprzez zablokowanie powłoki ratunkowej. Niemniej, uzyskanie powłoki administracyjnej poprzez naciskanie Enter jest naruszeniem bezpieczeństwa. Kolejnym. W 2016 roku, zbliżony problem zidentyfikowano w Debianie.

Podziel się postem:

Najnowsze:

Mobilne

Gemini Live już dostępne po polsku!

Google nieustannie rozwija swoje produkty i usługi, a jednym z najciekawszych jest Gemini – zaawansowany model sztucznej inteligencji, który oferuje szeroki wachlarz możliwości. Od niedawna Gemini Live, czyli funkcja umożliwiająca swobodną rozmowę z AI, jest dostępna w języku polskim! Co to oznacza dla polskich użytkowników i jak można wykorzystać tę nową funkcjonalność?

Bezpieczeństwo

Luka w zabezpieczeniach BitLockera w Windows 11: Czy Twoje dane są bezpieczne?

Szyfrowanie dysków to jedna z podstawowych metod ochrony danych w erze cyfrowej. Użytkownicy systemów Windows często korzystają z wbudowanego narzędzia BitLocker, aby zabezpieczyć swoje poufne informacje przed niepowołanym dostępem. Jednak ostatnie doniesienia z Chaos Communication Congress (CCC) w Niemczech wskazują na poważną lukę w zabezpieczeniach BitLockera w systemie Windows 11, która może narazić dane użytkowników na ryzyko.

Bezpieczeństwo

Złamanie Enigmy: Przełomowy moment w historii kryptologii

Złamanie szyfru Enigmy przez polskich kryptologów na przełomie grudnia 1932 i stycznia 1933 roku to jedno z najważniejszych wydarzeń w historii kryptologii i II wojny światowej. Ten artykuł skupia się na wydarzeniach z tego okresu, które doprowadziły do przełomowego momentu w dekryptażu niemieckiej maszyny szyfrującej. Niemcy, przekonani o niemożliwości złamania Enigmy, używali jej do zabezpieczania tajnej korespondencji wojskowej i dyplomatycznej. Sukces polskich matematyków, Mariana Rejewskiego, Jerzego Różyckiego i Henryka Zygalskiego, dał aliantom ogromną przewagę, umożliwiając odczytywanie niemieckich komunikatów i przewidywanie ich ruchów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *