Ten proces zapobiegnie uruchomieniu niecertyfikowanego oprogramowania. Może to mieć zalety, chociaż ich nie widzę.
Masz nowy mechanizm bezpieczeństwa do kontrolowania tego, co może, a co nie może uruchomić z twojego sprzętu. Funkcja bezpieczeństwa. Nie czujesz, że potrzebujesz, dopóki nie będzie za późno. Ale dygresję.
Przeczytałem wątek na liście mailingowej Linuksa, w którym pracownik Red Hat prosi Linusa Torvaldsa o pobranie zestawu zmian, który implementuje narzędzie do parsowania plików binarnych PE i podjęcia złożonego zestawu działań, aby umożliwić jądrze uruchomienie w trybie bezpiecznego rozruchu (o ile rozumiem ).
Sterowniki, podobnie jak oprogramowanie układowe GPU, muszą być podpisane zgodnie z funkcją Bezpiecznego rozruchu, w przeciwnym razie może to być kolejny rootkit. Status quo polega na tym, że sterowniki te są podpisane w formacie PE. Jądro i tak można uruchomić bez nich, ale sprzęt nie będzie działał. Parsowanie formatu PE w jądrze jest po prostu technicznie prostszym wyborem do tego, niż proszenie każdego dostawcy sprzętu o podpisywanie swoich obiektów blob dla każdej dystrybucji lub konfigurowanie w tym celu struktury przestrzeni użytkownika. Linus postanawia nie ssać penisa Microsoftu. To nie jest techniczny argument.
Jakie korzyści uzyskam dzięki UEFI i Secure Boot jako użytkownik domowy?
Najbardziej widoczną funkcją jest szybki rozruch UEFI. Mam kilka pulpitów z logo Windows 8, które uruchamiają się tak szybko, że często brakuje mi menu startowego. Intel i OEM mają dość inżynierii w tym zakresie.
Jeśli jesteś typem użytkowników Linuksa, którzy nie znoszą wzdęć i powielania kodu z pasją , możesz także zarządzać multiboot na poziomie oprogramowania układowego i całkowicie pozbyć się bootloaderów. UEFI zapewnia menedżera rozruchu, za pomocą którego można uruchomić bezpośrednio do jądra lub wybrać uruchomienie innego systemu operacyjnego z menu oprogramowania układowego. Chociaż może to wymagać majsterkowania.
Bardziej wymyślna grafika w czasie uruchamiania i w menu oprogramowania układowego. Lepsze bezpieczeństwo podczas rozruchu (Secure Boot). Inne funkcje (netboot IPv4 / 6, 2 TB + urządzenia rozruchowe itp.) Są przeznaczone głównie dla użytkowników korporacyjnych.
W każdym razie, jako Linus powiedział , BIOS / UEFI ma „po prostu załadować system operacyjny i wyjść z tego do diabła”, a UEFI z pewnością wydaje się tak dla użytkowników domowych z szybkim uruchomieniem. Z pewnością robi więcej rzeczy niż BIOS pod maską, ale jeśli mówimy o użytkownikach domowych, nie będą się tym przejmować.
Jak odbywa się to podpisywanie?
Teoretycznie plik binarny jest szyfrowany kluczem prywatnym w celu wygenerowania podpisu. Następnie podpis można zweryfikować za pomocą klucza publicznego, aby udowodnić, że plik binarny jest podpisany przez właściciela klucza prywatnego, a następnie plik binarny zweryfikowany.Zobacz więcej na Wikipedii .
Z technicznego punktu widzenia podpisywany jest tylko skrót pliku binarnego, a podpis jest osadzony w pliku binarnym w formacie PE i kręceniu w formacie dodatkowym.
Pod względem proceduralnym klucz publiczny jest przechowywany w oprogramowaniu układowym przez producenta OEM i pochodzi od firmy Microsoft. Masz dwie możliwości:
- Wygeneruj własną parę kluczy i zarządzaj nimi bezpiecznie, zainstaluj własny klucz publiczny w oprogramowaniu układowym i podpisz plik binarny własnym kluczem prywatnym ( sbsign z Ubuntu lub pesign z Fedory) lub
- Wyślij plik binarny do firmy Microsoft i pozwól mu go podpisać.
Kto może uzyskać podpisy / certyfikaty? Czy to jest opłacone? Czy to może być publiczne? (Powinien być dostępny w kodzie źródłowym Linuksa, prawda?)
Ponieważ podpisy / certyfikaty są osadzone w plikach binarnych, wszyscy użytkownicy powinni je uzyskać. Każdy może skonfigurować własny urząd certyfikacji i wygenerować certyfikat dla siebie. Ale jeśli chcesz, aby Microsoft wygenerował dla Ciebie certyfikat, musisz przejść przez Verisign, aby zweryfikować swoją tożsamość. Proces kosztuje 99 USD. Klucz publiczny znajduje się w oprogramowaniu układowym. Klucz prywatny znajduje się w sejfie Microsoft. Certyfikat znajduje się w podpisanym pliku binarnym. Nie dotyczy kodu źródłowego.
Czy Microsoft jest jedynym organem do składania podpisów? Czy nie powinna istnieć niezależna fundacja zapewniająca je?
Strona techniczna jest dość trywialna w porównaniu do procesu zarządzania PKI, weryfikacji tożsamości, koordynacji z każdym znanym producentem OEM i dostawcą sprzętu. To kosztuje kochanie. Microsoft ma przez lata infrastrukturę (WHQL) i doświadczenie. Oferują więc podpisywanie plików binarnych. Każda niezależna fundacja może zaoferować to samo, ale jak dotąd nie zrobiła tego.
Widzę, że z sesji UEFI na IDF 2013 firma Canonical zaczęła także umieszczać własny klucz do oprogramowania układowego tabletu. Dzięki temu Canonical może podpisywać własne pliki binarne bez przechodzenia przez Microsoft. Ale raczej nie podpiszą dla ciebie plików binarnych, ponieważ nie wiedzą, kim jesteś.
Jak wpłynie to na otwarte i wolne jądra, hobbystów / programistów jądra akademickich itp.
Twoje niestandardowe jądro nie uruchamia się w Bezpiecznym rozruchu, ponieważ nie jest podpisane. Możesz to jednak wyłączyć.
Model zaufania Bezpiecznego rozruchu blokuje niektóre aspekty jądra. Nie możesz zniszczyć jądra pisząc do / dev / kmem, nawet jeśli jesteś teraz rootem. Nie można hibernować na dysk (pracujący w górę), ponieważ nie ma sposobu, aby upewnić się, że obraz jądra nie zostanie zmieniony na bootkit podczas wznawiania. Nie możesz zrzucić rdzenia, gdy jądro wpadnie w panikę, ponieważ mechanizm kdump (kexec) może być użyty do uruchomienia bootkita (również pracującego w górę). Są one kontrowersyjne i nie są akceptowane przez Linusa do jądra głównego, ale niektóre dystrybucje (Fedora, RHEL, Ubuntu, openSUSE, SUSE) są dostarczane z własnymi łatkami Bezpiecznego rozruchu.
Osobiście podpisanie modułu wymagane do zbudowania jądra Bezpiecznego rozruchu kosztuje 10 minut, podczas gdy faktyczna kompilacja zajmuje tylko 5 minut. Jeśli wyłączę podpisywanie modułów i włączę pamięć podręczną, budowanie jądra zajmuje tylko minutę.
UEFI to zupełnie inna ścieżka rozruchu niż BIOS. Cały kod rozruchowy systemu BIOS nie będzie wywoływany przez oprogramowanie układowe UEFI.
Hiszpańska grupa użytkowników Linuksa o nazwie Hispalinux złożyła skargę przeciwko Microsoftowi na ten temat do Komisji Europejskiej.
Jak wspomniano powyżej, nikt oprócz Microsoftu nie wziął udziału w świadczeniu usługi publicznej. Obecnie nie ma dowodów na to, że Microsoft zamierza zrobić z tym zło, ale nic nie stoi na przeszkodzie, aby Microsoft nadużył swojego faktycznego monopolu i wyruszył w podróż. Tak więc, chociaż grupy użytkowników FSF i Linux mogą nie wyglądać dość pragmatycznie i nie usiądą w konstruktywnym rozwiązywaniu problemów, bardzo konieczne jest, aby ludzie wywierali presję na Microsoft i ostrzegali go przed konsekwencjami.
Czy powinienem się martwić? Odrzucam używanie oprogramowania chronionego prawem autorskim ani oprogramowania podpisanego przez zaufane firmy. Zrobiłem to do tej pory i chcę to kontynuować.
Powody, dla których warto skorzystać z bezpiecznego rozruchu:
- Eliminuje prawdziwy wektor ataku bezpieczeństwa.
- Jest to mechanizm techniczny, który daje użytkownikowi większą swobodę kontrolowania sprzętu.
- Użytkownicy Linuksa muszą zrozumieć mechanizm bezpiecznego rozruchu i działać proaktywnie, zanim Microsoft staje się zbyt daleko na monopol Secure Boot polityki .
UEFI
sam w sobie nie stanowi większego problemu, ale może być bezpieczny rozruch.