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

Kwalifikowany podpis elektroniczny w mObywatel: Nowa, bezpłatna opcja dla użytkowników prywatnych

Aplikacja mObywatel rozszerza swoje funkcjonalności o strategiczną usługę – bezpłatny kwalifikowany podpis elektroniczny. Nowe rozwiązanie, skierowane wyłącznie do użytkowników prywatnych, umożliwia podpisanie do pięciu dokumentów miesięcznie bez ponoszenia kosztów. Jest to istotna zmiana na rynku usług cyfrowych, ponieważ dotychczas zaawansowane podpisy tego typu były dostępne wyłącznie na zasadach komercyjnych.

Bezpieczeństwo

Analiza ESET: Północnokoreańska grupa Lazarus prowadzi działania szpiegowskie przeciwko europejskiemu przemysłowi obronnemu

Firma ESET, specjalizująca się w rozwiązaniach z zakresu cyberbezpieczeństwa, opublikowała wyniki badań wskazujące na kampanię szpiegowską prowadzoną przez północnokoreańską grupę Advanced Persistent Threat (APT) o kryptonimie Lazarus. Celem ataków były przedsiębiorstwa z europejskiego sektora obronnego.

Bezpieczeństwo

Pracownicy NFZ bezprawnie przeglądali dane ubezpieczonych. Fundusz zapowiada konsekwencje i zmiany w systemie

Narodowy Fundusz Zdrowia poinformował o poważnym incydencie bezpieczeństwa. Grupa pracowników NFZ, posiadająca legalny dostęp do Centralnego Wykazu Ubezpieczonych (CWU), wykorzystała swoje uprawnienia w sposób niezgodny z prawem, przeglądając dane pacjentów bez podstawy służbowej. Sprawa została zgłoszona do Prezesa Urzędu Ochrony Danych Osobowych (UODO).

Dodaj komentarz

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