Linus Torvalds: kluczy Microsoftu w jądrze Linuksa nie będzie!
Linus Torvalds znany jest ze swojej bezkompromisowości – jak toz Finami bywa, śmiało mówi rzeczy, które na poziomiekorporacyjnej komunikacji Anglosasom przez usta by nie przeszły. Takbyło też, gdy przyszło ocenić mu strategie, jakie innideweloperzy zajmujący się Linuksem przyjęli, by umożliwićuruchamianie swoich dystrybucji na nowych komputerach zpreinstalowanym Windows 8 i technologią Secure Boot. Jedno jestpewne – w społeczności Linuksa nikt nie jest szczęśliwy zprzymusowego wprowadzenia UEFI i SecureBoot na nowe komputery. Niktteż 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 Hatprzygotował obszerny zbiór łatek dla Linuksa 3.9, których celemmiał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łówją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, MatthewGarreta, wielu zaczęło pytać: na jakiej podstawie deweloper ten przyznajeMicrosoftowi tak ważną rolę w rozwoju Linuksa?Sprawa ucichła jednak aż do czasu, gdy Dawid Howells, innyinżynier „czerwonego kapelusza”, napisał do Linusa Torvaldsaprośbę o wprowadzenie wspomnianych łatek do jądra. Ten początkowoodmówił,żądając dalszych dyskusji, określając zarazem pomysł jako idiotyczny– zaprojektowany wokół głupich interfejsów, z kompletnieidiotycznych powodów (chodziło o wykorzystanie systemu podpisywania kodu Microsoftu).[img=uefi]Gdy Garrett dołączył do dyskusji, zauważając, że jest tylko jedna organizacjaupoważniona do podpisów, i podpisuje ona tylko binaria PE(Portable Executable: format plików wykonywalnych i bibliotekdynamicznych używany głównie w Windows – przyp.red), Torvaldswybuchł gniewem, oskarżając Red Hat o (delikatnie mówiąc)skłonność do innychpraktyk seksualnych wobec Microsoftu. Twórca Linuksaprzypomniał, że linuksowe jądro obsługuje standard X.509, a jeśliktoś chce się bawić w jakieś podpisywanie binarekPE, 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, żeproducenci chcą korzystać z kluczy podpisanych przez zaufanypodmiot – a dziś takim podmiotem jest tylko Microsoft, byspotkać się z ripostą Torvaldsa: czemu ma to mieć cośwspólnego z jądrem, i czemu Microsoft miałby podpisywać modułylinuksowego jądra? Pytania te są o tyle poważne, że Microsoftrezerwuje sobie prawo do odwołania swoich podpisów, w razie gdybydoszło do naruszenia bezpieczeństwa kodu UEFI.Do dyskusji włączali się kolejnideweloperzy 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 ibootloader Fundacji Linuksa, są podpisane tym samym kluczem, nie mażadnego specyficznego dla dystrybucji klucza, który Microsoftmógłby zablokować. Po drugie, Microsoft nie będzie się zajmowałzarządzaniem bezpieczeństwem Linuksa – podobno ludzie z Redmondprywatnie przyznali, że dopóki nie pojawi się możliwyexploit dla Windows, wykorzystujący zgodne z Secure Boot systemyLinuksowe, w ogóle ta sprawa ich nie obchodzi. Z kolei Ted T'souznał, że takie odwołanie podpisów byłoby PR-ową katastrofądla Microsoftu, jak i proszeniem się o kłopoty w wielujurysdykcjach – 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 powinnapodpisywać domyślnie tylko swoje własne moduły – i nic innego.Nie powinna też domyślnie pozwalać na ładowanie żadnychinnych modułów (w tym oczywiście binarek Nvidii czy AMD). Podrugie, 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 tobezpieczniejsze niż zależenie od wielkiej firmy (…) ufającejkażdemu, kto ma kartę kredytową. Po czwarte wreszcie, należyzachęcać ludzi do generowania własnych kluczy i dodawania ich dokonfiguracji UEFI, dążąc do tego, by całkowicie wyeliminowaćmodel jednorazowego podpisywania prywatnym kluczem. To krok wstronę realnego bezpieczeństwa, a nie bezpieczeństwa w modelu„my kontrolujemy użytkownika”.Co to w praktyce oznacza dlaużytkowników? Na pewno żadne klucze Microsoftu ani żadnepodpisane nimi binarne moduły w jądrze Linuksa się niepojawią (przynajmniej dopóki Linus będzie miał coś dopowiedzenia). Nie oznacza to, że Linuksa czy binarnych modułów niebędzie się dało na nowych komputerach zainstalować – wręczprzeciwnie. 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łekten jednak nie jest duży – najprościej wyłączyć Secure Boot.
01.03.2013 | aktual.: 01.03.2013 23:08
Zalogowani mogą więcej
Możesz zapisać ten artykuł na później. Znajdziesz go potem na swoim koncie użytkownika