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

Linus Torvalds: kluczy Microsoftu w jądrze Linuksa nie będzie!

Strona główna Aktualności

Linus Torvalds znany jest ze swojej bezkompromisowości – jak to z Finami bywa, śmiało mówi rzeczy, które na poziomie korporacyjnej komunikacji Anglosasom przez usta by nie przeszły. Tak było też, gdy przyszło ocenić mu strategie, jakie inni deweloperzy zajmujący się Linuksem przyjęli, by umożliwić uruchamianie swoich dystrybucji na nowych komputerach z preinstalowanym Windows 8 i technologią Secure Boot. Jedno jest pewne – w społeczności Linuksa nikt nie jest szczęśliwy z przymusowego wprowadzenia UEFI i SecureBoot na nowe komputery. Nikt też jednak w społeczności tej nie potrafi przedstawić rozwiązania, które zadowoliłoby wszystkich.

Konflikt między deweloperami Linuksa zaczął się od tego, że Red Hat przygotował obszerny zbiór łatek dla Linuksa 3.9, których celem miało być sprawienie, by linuksowe jądro mogło weryfikować binarne komponenty podpisane przez Microsoft, i to nie za pomocą standardowego systemu certyfikatów X.509, ale za pomocą wykorzystywanego w Redmond systemu podpisywania kodu Authenticode. Łatki pozwoliłyby wówczas na uruchamianie binarnych modułów jądra, np. sterowników graficznych Nvidii czy AMD, nawet wówczas, gdy na komputerze aktywny byłby Secure Boot. Po tym, jak łatki zostały zgłoszone do repozytorium kodu jądra przez ex-pracownika Red Hata, Matthew Garreta, wielu zaczęło pytać: na jakiej podstawie deweloper ten przyznaje Microsoftowi tak ważną rolę w rozwoju Linuksa?

Sprawa ucichła jednak aż do czasu, gdy Dawid Howells, inny inżynier „czerwonego kapelusza”, napisał do Linusa Torvaldsa prośbę o wprowadzenie wspomnianych łatek do jądra. Ten początkowo odmówił, żądając dalszych dyskusji, określając zarazem pomysł jako idiotycznyzaprojektowany wokół głupich interfejsów, z kompletnie idiotycznych powodów (chodziło o wykorzystanie systemu podpisywania kodu Microsoftu).

Gdy Garrett dołączył do dyskusji, zauważając, że jest tylko jedna organizacja upoważniona do podpisów, i podpisuje ona tylko binaria PE (Portable Executable: format plików wykonywalnych i bibliotek dynamicznych używany głównie w Windows – przyp.red), Torvalds wybuchł gniewem, oskarżając Red Hat o (delikatnie mówiąc) skłonność do innych praktyk seksualnych wobec Microsoftu. Twórca Linuksa przypomniał, że linuksowe jądro obsługuje standard X.509, a jeśli ktoś chce się bawić w jakieś podpisywanie binarek PE, to niech to sobie robi w userlandzie, na zaufanej maszynie – nie ma żadnego usprawiedliwienia na to, by robić to w jądrze.

Garrett przypomniał w odpowiedzi, że producenci chcą korzystać z kluczy podpisanych przez zaufany podmiot – a dziś takim podmiotem jest tylko Microsoft, by spotkać się z ripostą Torvaldsa: czemu ma to mieć coś wspólnego z jądrem, i czemu Microsoft miałby podpisywać moduły linuksowego jądra? Pytania te są o tyle poważne, że Microsoft rezerwuje sobie prawo do odwołania swoich podpisów, w razie gdyby doszło do naruszenia bezpieczeństwa kodu UEFI.

Do dyskusji włączali się kolejni deweloperzy jądra: James Bottomley, stojący za inicjatywą stworzenia przez Fundację Linuksa bootloadera dla UEFI, uznał, że nie ma co straszyć Microsoftem: po pierwsze, zarówno shim jak i bootloader Fundacji Linuksa, są podpisane tym samym kluczem, nie ma żadnego specyficznego dla dystrybucji klucza, który Microsoft mógłby zablokować. Po drugie, Microsoft nie będzie się zajmował zarządzaniem bezpieczeństwem Linuksa – podobno ludzie z Redmond prywatnie przyznali, że dopóki nie pojawi się możliwy exploit dla Windows, wykorzystujący zgodne z Secure Boot systemy Linuksowe, w ogóle ta sprawa ich nie obchodzi. Z kolei Ted T'so uznał, że takie odwołanie podpisów byłoby PR-ową katastrofą dla Microsoftu, jak i proszeniem się o kłopoty w wielu jurysdykcjach – w szczególności na terenie Unii Europejskiej.

Finalnie Linus przedstawił swoją wizję tego, jak Linux powinien działać w erze Secure Boot. Zamiast próbować zadowalać Microsoft robieniem głupot, trzeba postawić użytkownika na pierwszym miejscu. Co to w praktyce oznacza?

Po pierwsze, dystrybucja powinna podpisywać domyślnie tylko swoje własne moduły – i nic innego. Nie powinna też domyślnie pozwalać na ładowanie żadnych innych modułów (w tym oczywiście binarek Nvidii czy AMD). Po drugie, przed załadowaniem jakiegokolwiek modułu z zewnątrz, należy pytać użytkownika o zgodę. Po trzecie, należy zachęcać do wykorzystania na hostach losowych kluczy, a jeśli trzeba, całkowicie wyłączyć głupie testy UEFI. Będzie to bezpieczniejsze niż zależenie od wielkiej firmy (…) ufającej każdemu, kto ma kartę kredytową. Po czwarte wreszcie, należy zachęcać ludzi do generowania własnych kluczy i dodawania ich do konfiguracji UEFI, dążąc do tego, by całkowicie wyeliminować model jednorazowego podpisywania prywatnym kluczem. To krok w stronę realnego bezpieczeństwa, a nie bezpieczeństwa w modelu „my kontrolujemy użytkownika”.

Co to w praktyce oznacza dla użytkowników? Na pewno żadne klucze Microsoftu ani żadne podpisane nimi binarne moduły w jądrze Linuksa się nie pojawią (przynajmniej dopóki Linus będzie miał coś do powiedzenia). Nie oznacza to, że Linuksa czy binarnych modułów nie będzie się dało na nowych komputerach zainstalować – wręcz przeciwnie. Linus jednak chce, by leżało to w gestii użytkownika, nawet jeśli będzie to oznaczało zmuszenie go do wysiłku. Wysiłek ten jednak nie jest duży – najprościej wyłączyć Secure Boot.

r   e   k   l   a   m   a
© 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.