r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościBEZPIECZEŃSTWO

LUKS/dm-crypt to podstawowa metoda blokowego szyfrowania w linuksowych systemach operacyjnych. Przezroczysty dla systemu plików mechanizm wyróżnia się ogromną elastycznością i wsparciem dla wielu różnych kryptosystemów i funkcji haszujących, stosuje się go więc domyślnie w większości dystrybucji jako sposób na zabezpieczenie nie tylko danych, ale i dostępu do systemu. Okazało się jednak, że ta ochrona przed dostępem do systemu jest raczej złudna. Napastnik może bardzo łatwo uzyskać dostęp do podstawowej 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 o hasło mechanizmu zarządzania kluczami (LUKS) podczas rozruchu systemu, dostaniemy minimalną powłokę systemu (busybox) z uprawnieniami roota.

Czym to grozi?

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

r   e   k   l   a   m   a

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

Zdaniem odkrywców luki, Hectora Marco i Ismaela Ripolla, wzięła się ona z nieprzemyślanego wprowadzania nowych mechanizmów bezpieczeń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ściowych błędów sprzętowych – a główny skrypt nie znając przyczyny błędu, w panice otwiera powłokę, by użytkownik sam sobie naprawił problem, jeśli potrafi.

To bardzo typowa sytuacja w linuksowym świecie, gdzie oprogramowanie tworzą deweloperzy dla deweloperów: wspomniane zachowanie jest przyjazne i wygodne w kontrolowanym przez siebie środowisku, jednak w rzeczywistym świecie należy je uznać za naiwne: otworzenie użytkownikowi busyboksa z uprawnieniami roota nigdy nie powinno być domyślnym zachowaniem, tym bardziej, że taka powłoka daje pełen dostęp do sieci.

Co robić i jak żyć?

Zabezpieczenie się przed takim atakiem jest równie proste, co jego przeprowadzenie. Wystarczy do konfiguracji programu rozruchowego GRUB dodać parametr panic=5. Uniemożliwi to dostęp do konsoli, gdy kernel 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 przygotowana została też już łatka, która poprawia wspomniany skrypt. Teraz sekwencja startowa zostaje całkowicie zatrzymana po wyczerpaniu dopuszczalnej liczby wprowadzeń hasła. Jedynym wyjściem pozostaje zrestartowanie 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 w chmurze, nie trzeba więc mieć fizycznego dostępu. Problem dotyczy zarówno Debiana/Ubuntu jak i systemów używających zamiast mechanizmu initramfs mechanizmu Dracut (a więc np. Fedora czy Rosa).

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

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.