28 chwil wstydu GRUBa

Co jakiś czas świat obiegają sensacje na temat dziur znalezionych w przeróżnym oprogramowaniu. Są to nieraz niedomówienia małe ale i zdarzają się potknięcia gigantyczne. Jak na tej skali umiejscowić ostatnie doniesienia z obozu GRUBa, który okazał się wrażliwy na tak trywialny błąd jak 28 naciśnięć klawisza Backspace? Podatny na tę przypadłość GRUB 2 w wersji 1.98 (grudzień 2009) do wersji 2.02 (grudzień 2015) potraktowany wspomnianym ciosem specjalnym gubi się i zrzuca użytkownika do konsoli GRUB Rescue Shell. Warunki są dwa – GRUB musi być zabezpieczony hasłem (bo to dziura właśnie w tym zabezpieczeniu) oraz włamywacz musi mieć fizyczny dostęp do komputera.

Press any key to continue
Press any key to continue
Odkryty przez dwóch badaczy z zespołu Cybersecurity Group na Politechnice w Walencji problem dotyczy rzeczonego GRUBa i jego funkcji grub_password_get(). W wyniku dodanego w 2009 roku kodu powstała możliwość spowodowania stanu niedomiaru w obsłudze zmiennej opisanej za pomocą liczby całkowitej. To powoduje błąd w pamięci a program wędruje tam, gdzie mu wskażemy – w tym przypadku 28 naciśnięciami klawisza Backspace. Wszystkie dystrybucje Linuksa wydały już odpowiednią aktualizację (poprawkę w kodzie zaoferowali i wskazali sami odkrywcy błędu).

Śmiechu warte? A i owszem. Niemniej dzieje ludzkości naszpikowane są takimi błahostkami i przeoczeniami. Istotniejszą kwestią jest to, na ile może ten błąd może zagrozić bezpieczeństwu naszych danych. Zastanówmy się:

  • Włamywacz musi mieć fizyczny dostęp do komputera. Ale mając taki czy będzie się trudził liczeniem naciśnięć klawisza Backspace i potem męczył się ze składnią w GRUB Rescue Shell, czy po prostu dobierze się do dysków i naszych danych w inny sposób?
  • Chyba żadna dystrybucja domyślnie nie zabezpiecza hasłem menu startu systemu. A czy którykolwiek zwykły użytkownik zabezpiecza samodzielnie ten element?
  • Błąd nie dotyczy Linuksa, a GRUBa 2. Jeżeli uruchamiamy komputer za pomocą UEFI, LILO, GRUB w starszej wersji, lub jakiegokolwiek innego loadera – jesteśmy bezpieczni.

Oczywiście to nie umniejsza skali połajanki jaka należy się ludziom pracującym nad GRUB 2. Opieka nad tak kluczowym elementem naszego komputera jak bootloader wymaga większego skupienia i wyobraźni w przewidywaniu efektów działania programu. Niemniej, społeczność nie śpi i otwarty kod umożliwia przeprowadzenie dochodzenia i wykrycie takich – nie bójmy się tego słowa – michałków.
 

19 komentarzy

  1. Tragedia, chyba ukryję się pod stołem – nawet bootloadery nie są już bezpieczne. :0 A tak serio, szczerze mówiąc, nawet nie wiedziałem, że to można zabezpieczyć hasłem.

  2. Błąd powinni czym prędzej załatać ale z jego powodu bym nie panikował, ile osób zabezpiecza Gruba hasłem i jednocześnie daje swój komputer niezaufanym osobom. Naprawdę węcej niż zero?
    To chyba znak, że czas migrować na systemd-boot (dawniej gummiboot)

  3. A to dlatego Grub się pojawił ostatnio w aktualizacjach? I to aż dwukrotnie.
    Lubię takie burze w szklance wody, w sumie o nic istotnego. Znaczy to że Linux i jego otoczenie są do nadal najbezpieczniejszymi z ogólnie dostępnych środowisk. Bo czy Microsoft by sobie odpuścił wszczęcie medialnej histerii, gdyby znaleziono jakąś naprawdę poważną lukę?

  4. Co jak co ale jedna paczka dla wszystkich dystrybucji to byłaby fajna sprawa 😛

  5. .spm, czemu nie?
    To by było głupie. Wtedy każda dystrybucja Linuxa używająca systemd by była w zasadzie taka sama…

    A w sumie systemd-boot sobie przetestuję, na razie używam rEFInd.

  6. Bo distra różnią się tylko systemem paczek? We wszystkich distrach te apty i srapty starają się rozwiązać jeden problem i na razie najlepiej idzie pacmanowi z Archa, ale wszystkim brakuje tego samego: konteneryzacji i deduplikacji na podstawie wersji, gdyby zrobiono to dobrze nie byłoby szans na dependency-hell i kilka innych nieprzyjemności z jednoczesnym zachowaniem zalety jaką jest oszczędność miejsca (a nie jak na Windzie – ta sama dll-ka w 30 miejscach).

  7. No dokładnie ,tragedia:P
    Ja chyba przestanę sie przyznawać,że mam Linuxa na lapku….A,zaraz,i tak przecież nikt do tej pory nie skumał:
    Ostatnie pytanie kolegi z pracy:
    -A ty masz 10kę czy to ósemka jeszcze?

    (XFCE z obramowaniem okien Zoncolor-RedmontModern, temat Numix z szarymi kolorami):)

  8. Haha,jest jedna paczka dla wszystkich dystrybucji-.exe
    wszystkich słusznych dystrybucji.:P

  9. Wydmuszka. Przesadzono z nagłośnieniem tego – pewnie, błąd – ale IMO bez znaczenia. Mając fizyczny dostęp do komputera wszystko można z niego wyciągnąć, nawet szyfrowane dyski to dziś tylko kwestia czasu.

  10. Jedna paczka .exe i otwieranie wszystkiego w systemie przez wine, ciekaw jestem jakby to wyglądało

  11. Czy wszystkie dystrybucje używające pakietów .deb/.rmp są takie same?
    Debian jest taki sam jak Mint? RedHat jak openSuse?

    Poza tym to tylko teoretyzujemy, systemd nie ma planów na własne paczki, a systemd-boot jest póki co nieobowiązkowe.

  12. Każdą dystrybucję używającą .deb można przydzielić do jednej z dwóch kategorii: myślące za użytkownika i nie myślące za użytkownika. Ubuntu, Mint, ElementaryOS należą do tej pierwszej kategorii. Debian do tej drugiej. To samo z .rpm. Takie jest moje zdanie.

  13. Nie mylisz się bo biorąc zbiór (myślące) i dopełnienie tego zbioru (nie myślące) zawsze uzyskamy całą przestrzeń, po prostu nie ma nic poza tym 😉
    Sam widzisz, że dystrybucje mogą się różnić używając tego samego formatu pakietu i gdyby wszystkie jakimś cudem umówiły się na jeden też różnice by pozostały.

  14. No chłopie,nie wiem,czy czytałeś jakies moje komentarze,ale na takie cuda chyba nie zasłużyłem:(
    Są dziennikarze i nocnikarze.a mi wyskoczył jakis błazen na K…

Dodaj komentarz

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

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.