Nowy system UEFI Secure Boot w systemie Windows 8 spowodował więcej niż tylko sporą część zamieszania, zwłaszcza wśród podwójnych programów rozruchowych. Czytaj dalej, gdy wyjaśniamy błędne przekonania dotyczące podwójnego rozruchu w systemie Windows 8 i Linux.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser Harsha K jest ciekawy nowego systemu UEFI. On pisze:
Słyszałem wiele o tym, jak Microsoft wdraża UEFI Secure Boot w systemie Windows 8. Najwyraźniej zapobiega on uruchamianiu „nieautoryzowanych” programów ładujących na komputerze, aby zapobiec złośliwemu oprogramowaniu. Organizacja Free Software Foundation prowadzi kampanię przeciwko bezpiecznemu rozruchowi i wiele osób mówi w Internecie, że jest to „chwytanie władzy” przez firmę Microsoft w celu „eliminacji bezpłatnych systemów operacyjnych”.
Jeśli dostanę komputer z preinstalowanym systemem Windows 8 i funkcją Secure Boot, czy nadal będę mógł zainstalować Linuksa (lub inny system operacyjny) później? A może komputer z funkcją bezpiecznego rozruchu działa tylko z systemem Windows?
Więc o co chodzi? Czy podwójne bootery naprawdę nie mają szczęścia?
Odpowiedź
Współautor SuperUser, Nathan Hinkle, oferuje fantastyczny przegląd tego, czym UEFI jest, a czym nie jest:
Przede wszystkim prosta odpowiedź na Twoje pytanie:
- Jeśli masz tablet ARM z systemem Windows RT (takim jak Surface RT lub Asus Vivo RT), a następnie nie będzie można wyłączyć bezpiecznego rozruchu ani zainstalować innych systemów operacyjnych . Podobnie jak wiele innych tabletów ARM, te urządzenia będą tylko uruchomić system operacyjny, z którym są dostarczane.
- Jeśli masz komputer inny niż ARM z systemem Windows 8 (takim jak Surface Pro lub którykolwiek z niezliczonych ultrabooków, komputerów stacjonarnych i tabletów z procesorem x86-64), a następnie możesz całkowicie wyłączyć Bezpieczny rozruch lub możesz zainstalować własne klucze i podpisać własny program ładujący. Tak czy inaczej, możesz zainstalować system operacyjny innej firmy, taki jak dystrybucja Linuksa lub FreeBSD lub DOS lub cokolwiek ci się podoba.
A teraz przejdźmy do szczegółów tego, jak naprawdę działa ta cała sprawa z Bezpiecznym Rozruchem: Jest wiele błędnych informacji na temat Bezpiecznego Rozruchu, szczególnie od Free Software Foundation i podobnych grup. Utrudnia to znalezienie informacji o tym, co właściwie robi Bezpieczny rozruch, więc postaram się to wyjaśnić. Zwróć uwagę, że nie mam osobistego doświadczenia w tworzeniu bezpiecznych systemów rozruchowych ani nic w tym rodzaju; właśnie tego nauczyłem się czytając w Internecie.
Po pierwsze, Bezpieczny rozruch jest nie coś, co wymyślił Microsoft. Jako pierwsi wdrożyli go na szeroką skalę, ale go nie wymyślili. Jego część specyfikacji UEFI , który jest w zasadzie nowszym zamiennikiem starego systemu BIOS, do którego prawdopodobnie jesteś przyzwyczajony. UEFI to w zasadzie oprogramowanie, które komunikuje się między systemem operacyjnym a sprzętem. Standardy UEFI są tworzone przez grupę o nazwie „ UEFI Forum „, Który składa się z przedstawicieli branży komputerowej, w tym Microsoft, Apple, Intel, AMD i kilku producentów komputerów.
Drugi najważniejszy punkt, włączenie Bezpiecznego rozruchu na komputerze tak nie oznacza, że komputer nigdy nie może uruchomić żadnego innego systemu operacyjnego . W rzeczywistości wymagania dotyczące certyfikacji sprzętu systemu Windows firmy Microsoft stanowią, że w przypadku systemów innych niż ARM należy mieć możliwość zarówno wyłączenia bezpiecznego rozruchu, jak i zmiany kluczy (aby zezwolić na inne systemy operacyjne). Ale o tym później.
Co robi Secure Boot?
Zasadniczo zapobiega atakowaniu komputera przez złośliwe oprogramowanie za pośrednictwem sekwencji rozruchowej. Złośliwe oprogramowanie, które dostaje się przez program ładujący, może być bardzo trudne do wykrycia i zatrzymania, ponieważ może przeniknąć do funkcji niskiego poziomu systemu operacyjnego, pozostawiając go niewidocznym dla oprogramowania antywirusowego. Jedyne, co naprawdę robi Bezpieczny rozruch, to weryfikacja, czy program ładujący pochodzi z zaufanego źródła i nie został naruszony. Pomyśl o tym jak o wyskakujących zakrętkach butelek z napisem „nie otwieraj, jeśli wieczko zostało wyskakujące lub naruszono uszczelkę”.
![]()
Na najwyższym poziomie ochrony masz klucz platformy (PK). W każdym systemie jest tylko jeden PK, który jest instalowany przez producenta OEM podczas produkcji. Ten klucz służy do ochrony bazy danych KEK. Baza danych KEK zawiera klucze wymiany kluczy, które służą do modyfikowania innych bezpiecznych baz danych rozruchowych. Może istnieć wiele KEK. Jest wtedy trzeci poziom: Autoryzowana Baza Danych (db) i Zakazana Baza Danych (dbx). Zawierają one informacje o urzędach certyfikacji, dodatkowych kluczach kryptograficznych i obrazach urządzeń UEFI, które można odpowiednio zezwolić lub zablokować. Aby program ładujący mógł działać, musi być podpisany kryptograficznie kluczem, który jest w bazie danych i nie jest w dbx.
![]()
Obraz z Tworzenie systemu Windows 8: ochrona środowiska przed systemem operacyjnym za pomocą UEFI
Jak to działa w prawdziwym systemie z certyfikatem Windows 8
Producent OEM generuje własną PK, a firma Microsoft zapewnia KEK, który OEM jest zobowiązany do wstępnego załadowania do bazy danych KEK. Następnie Microsoft podpisuje program ładujący systemu Windows 8 i używa swojego klucza KEK do umieszczenia tego podpisu w autoryzowanej bazie danych. Kiedy UEFI uruchamia komputer, weryfikuje PK, weryfikuje KEK firmy Microsoft, a następnie weryfikuje program ładujący. Jeśli wszystko wygląda dobrze, system operacyjny może się uruchomić.
![]()
Obraz z Tworzenie systemu Windows 8: ochrona środowiska przed systemem operacyjnym za pomocą UEFIGdzie pojawiają się systemy operacyjne innych firm, takie jak Linux?
Po pierwsze, każda dystrybucja Linuksa może zdecydować się na wygenerowanie KEK i poprosić producentów OEM o domyślne włączenie go do bazy danych KEK. Mieliby wtedy taką samą kontrolę nad procesem rozruchu, jak Microsoft. Problemy z tym, jak wyjaśnione przez Matthew Garretta z Fedory , czy to a) byłoby trudno zmusić każdego producenta PC do dołączenia klucza Fedory, oraz b) byłoby to niesprawiedliwe w stosunku do innych dystrybucji Linuksa, ponieważ ich klucz nie zostałby uwzględniony, ponieważ mniejsze dystrybucje nie mają tylu OEM Związki partnerskie.
Fedora zdecydowała się zrobić (a inne dystrybucje podążają za tym przykładem) to użycie usług podpisywania firmy Microsoft. Ten scenariusz wymaga zapłacenia 99 USD firmie Verisign (urzędowi certyfikacji, z którego korzysta Microsoft) i daje programistom możliwość podpisania programu ładującego za pomocą KEK firmy Microsoft. Ponieważ oprogramowanie KEK firmy Microsoft będzie już dostępne na większości komputerów, umożliwia im to podpisanie programu ładującego w celu korzystania z bezpiecznego rozruchu bez konieczności posiadania własnego klucza KEK. W efekcie jest bardziej kompatybilny z większą liczbą komputerów i ogólnie kosztuje mniej niż zajmowanie się konfiguracją własnego systemu podpisywania i dystrybucji kluczy. Więcej szczegółów na temat tego, jak to będzie działać (przy użyciu GRUB-a, podpisanych modułów jądra i innych informacji technicznych) znajduje się we wspomnianym poście na blogu, który polecam przeczytać, jeśli jesteś zainteresowany takimi rzeczami.
Załóżmy, że nie chcesz zajmować się kłopotami związanymi z rejestracją w systemie Microsoftu, nie chcesz płacić 99 USD lub po prostu masz urazę do dużych korporacji, które zaczynają się od M. Jest jeszcze jedna opcja, aby nadal używać Bezpiecznego rozruchu i uruchom system operacyjny inny niż Windows. Certyfikacja sprzętu firmy Microsoft wymaga że producenci OEM pozwalają użytkownikom wprowadzić swój system do „niestandardowego” trybu UEFI, w którym mogą ręcznie modyfikować bazy danych Secure Boot i PK. System można przełączyć w tryb konfiguracji UEFI, w którym użytkownik może nawet określić własne PK i samodzielnie podpisać programy ładujące.
Ponadto własne wymagania certyfikacyjne firmy Microsoft nakładają na producentów OEM obowiązek uwzględnienia metody wyłączania bezpiecznego rozruchu w systemach innych niż ARM. Możesz wyłączyć Bezpieczny rozruch! Jedynymi systemami, w których nie można wyłączyć bezpiecznego rozruchu, są systemy ARM z systemem Windows RT, które działają bardziej podobnie do iPada, w których nie można załadować niestandardowych systemów operacyjnych. Chociaż chciałbym, aby zmiana systemu operacyjnego na urządzeniach ARM była możliwa, można śmiało powiedzieć, że Microsoft podąża tutaj za standardem branżowym w odniesieniu do tabletów.
Więc bezpieczny bagażnik nie jest z natury zły?
Jak więc miejmy nadzieję, bezpieczny rozruch nie jest zły i nie ogranicza się tylko do korzystania z systemu Windows. Powodem, dla którego FSF i inni są tak zdenerwowani, jest to, że dodaje dodatkowe kroki do korzystania z systemu operacyjnego innej firmy. Dystrybucje Linuksa mogą nie lubić płacenia za używanie klucza Microsoftu, ale jest to najłatwiejszy i najbardziej opłacalny sposób, aby Bezpieczny rozruch działał w systemie Linux. Na szczęście łatwo jest wyłączyć Bezpieczny rozruch i dodać różne klucze, unikając w ten sposób konieczności zajmowania się Microsoft.
Biorąc pod uwagę ilość coraz bardziej zaawansowanego złośliwego oprogramowania, Secure Boot wydaje się rozsądnym pomysłem. Nie ma to być zły spisek mający na celu przejęcie władzy nad światem i jest o wiele mniej przerażający, niż sądzą niektórzy eksperci od wolnego oprogramowania.
![]()
Dodatkowe lektury:
- Wymagania dotyczące certyfikacji sprzętu firmy Microsoft
- Tworzenie systemu Windows 8: ochrona środowiska przed systemem operacyjnym za pomocą UEFI
- Prezentacja firmy Microsoft na temat wdrażania bezpiecznego rozruchu i zarządzania kluczami
- Wdrażanie bezpiecznego rozruchu UEFI w Fedorze
- Omówienie bezpiecznego rozruchu TechNet
- Artykuł w Wikipedii o UEFI
TL; DR: Bezpieczny rozruch zapobiega infekowaniu systemu przez złośliwe oprogramowanie na niskim, niewykrywalnym poziomie podczas rozruchu. Każdy może stworzyć niezbędne klucze, aby działało, ale trudno przekonać producentów komputerów do dystrybucji Twój klucz dla wszystkich, więc możesz alternatywnie zapłacić firmie Verisign za użycie klucza Microsoft do podpisania programów ładujących i umożliwienia ich działania. Możesz także wyłączyć Bezpieczne uruchamianie każdy komputer inny niż ARM.
Ostatnia myśl dotycząca kampanii FSF przeciwko Secure boot: niektóre z ich obaw (tj mocniej zainstalować darmowe systemy operacyjne) do pewnego stopnia . Stwierdzenie, że ograniczenia „uniemożliwią każdemu uruchomienie czegokolwiek poza Windowsem” jest jednak ewidentnie fałszywe z powodów przedstawionych powyżej. Kampanie przeciwko UEFI / Secure Boot jako technologii są krótkowzroczne, źle poinformowane i i tak mało prawdopodobne, aby były skuteczne. Ważniejsze jest upewnienie się, że producenci rzeczywiście przestrzegają wymagań firmy Microsoft dotyczących umożliwienia użytkownikom wyłączenia bezpiecznego rozruchu lub zmiany kluczy, jeśli sobie tego życzą.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .