Linuksowe szyfrowanie dysku można obejść, przytrzymując Enter

Linuksowe szyfrowanie dysku można obejść, przytrzymując Enter04.09.2023 12:13
Linuksowe szyfrowanie dysku da się obejść
Źródło zdjęć: © Pixabay | WOKANDAPIX

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.

Dalsza część artykułu pod materiałem wideo

Kamera solarna z akumulatorem w super cenie – recenzja Foscam B4

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.

Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.