93 naciśnięcia klawisza Enter dają dostęp do zaszyfrowanych linuksowych systemów

93 naciśnięcia klawisza Enter dają dostęp do zaszyfrowanych linuksowych systemów15.11.2016 13:22

LUKS/dm-crypt to podstawowa metoda blokowego szyfrowania wlinuksowych systemach operacyjnych. Przezroczysty dla systemu plikówmechanizm wyróżnia się ogromną elastycznością i wsparciem dlawielu różnych kryptosystemów i funkcji haszujących, stosuje sięgo więc domyślnie w większości dystrybucji jako sposób nazabezpieczenie nie tylko danych, ale i dostępu do systemu. Okazałosię jednak, że ta ochrona przed dostępem do systemu jest raczejzłudna. Napastnik może bardzo łatwo uzyskać dostęp dopodstawowej powłoki systemowej, wystarczy mu do tego… klawiatura.

Nie trzeba żadnej specjalnej wiedzy technicznej, nie trzebażadnych specjalnych exploitów. Korzystając z klawisza Enter,naciśniętego kilkadziesiąt razy podczas wyświetlania zapytania ohasło mechanizmu zarządzania kluczami (LUKS) podczas rozruchusystemu, dostaniemy minimalną powłokę systemu (busybox) zuprawnieniami roota.

Czym to grozi?

Oczywiście systemowa partycja pozostaje zaszyfrowana, napastniknie ma wglądu w jej zawartość. Jednak rozruchowa partycja /boot, wktórej przechowywany jest m.in. obraz jądra, nie jest zaszyfrowana.Napastnik może umieścić tam swój plik wykonywalny z ustawionymbitem SetUID, który wykorzysta później do eskalacji uprawnień naswojej maszynie, może podmienić też kernel na „odpowiednio”zmodyfikowany.

Na tym nie koniec: systemowa partycja może sobie byćzaszyfrowana, ale nie przeszkadza to w atakach na nią. Złośliwynapastnik może ją po prostu skasować. Może też skopiować ją naswój własny dysk, by później spróbować siłowych ataków.

Zdaniem odkrywców luki, Hectora Marco i Ismaela Ripolla, wzięłasię ona z nieprzemyślanego wprowadzania nowych mechanizmówbezpieczeństwa, które zwiększyły złożoność systemu,sprawiając że przeoczono banalny wręcz błąd. Skrypt/scripts/local-top/cryptroot obsługuje przyjmowanie haseł, ale teżzawiera obejście w razie problemu sprzętowego z klawiaturą.Wciśnięcie łącznie 93 razy klawisza Enter (na systemach x86)sprawia, że przekroczona zostaje domyślna liczba przejściowychbłędów sprzętowych – a główny skrypt nie znając przyczynybłędu, w panice otwiera powłokę, by użytkownik sam sobienaprawił problem, jeśli potrafi.

Jest bardzo źle, więc dajmy użytkownikowi powłokę. Z rootem
Jest bardzo źle, więc dajmy użytkownikowi powłokę. Z rootem

To bardzo typowa sytuacja w linuksowym świecie, gdzieoprogramowanie tworzą deweloperzy dla deweloperów: wspomnianezachowanie jest przyjazne i wygodne w kontrolowanym przez siebieśrodowisku, jednak w rzeczywistym świecie należy je uznać zanaiwne: otworzenie użytkownikowi busyboksa z uprawnieniami rootanigdy nie powinno być domyślnym zachowaniem, tym bardziej, że takapowłoka daje pełen dostęp do sieci.

Co robić i jak żyć?

Zabezpieczenie się przed takim atakiem jest równie proste, cojego przeprowadzenie. Wystarczy do konfiguracji programu rozruchowegoGRUB dodać parametr panic=5. Uniemożliwi to dostęp do konsoli, gdykernel zostaje uruchomiony w trybie paniki.

# sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub # grub-install

Oczywiście przygotowanazostała też już łatka, która poprawia wspomniany skrypt. Terazsekwencja startowa zostaje całkowicie zatrzymana po wyczerpaniudopuszczalnej liczby wprowadzeń hasła. Jedynym wyjściem pozostajezrestartowanie komputera. Łatka trafiła już do najpopularniejszych dystrybucji.

Warto podkreślić, że podatne są nie tylko desktopowe systemy,ale też zabezpieczone LUKS-em linuksowe serwery działające wchmurze, nie trzeba więc mieć fizycznego dostępu. Problem dotyczyzarówno Debiana/Ubuntu jak i systemów używających zamiastmechanizmu initramfs mechanizmu Dracut (a więc np. Fedora czy Rosa).

Więcej informacji znajdziecie na bloguodkrywców tej luki, zaprezentowanej po raz pierwszy 11 listopada nakonferencji DeepSec 2016 w Wiedniu.

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.