Microsoft właśnie ogłosił Project Mu, obiecujące „oprogramowanie sprzętowe jako usługę” na obsługiwanym sprzęcie. Każdy producent komputera powinien wziąć to pod uwagę. Komputery PC wymagają aktualizacji zabezpieczeń oprogramowania układowego UEFI, a producenci komputerów wykonali kiepską robotę, dostarczając je.
Co to jest oprogramowanie układowe UEFI?
Nowoczesne komputery używają oprogramowania układowego UEFI zamiast tradycyjnego systemu BIOS. Oprogramowanie układowe UEFI to oprogramowanie niskiego poziomu, które uruchamia się po włączeniu komputera. Testuje i inicjalizuje sprzęt, wykonuje niskopoziomową konfigurację systemu, a następnie uruchamia system operacyjny z wewnętrznego dysku komputera lub innego urządzenia rozruchowego.
UEFI jest nieco bardziej skomplikowane niż starsze oprogramowanie BIOS. Na przykład komputery z procesorami Intel mają coś, co nazywa się Intel Management Engine, który jest małym systemem operacyjnym działającym równolegle z systemem Windows, Linux lub innym systemem operacyjnym. W sieciach korporacyjnych administratorzy systemu mogą korzystać z funkcji Intel ME do zdalnego zarządzania komputerami.
UEFI zawiera również „mikrokod” procesora, który działa jak oprogramowanie układowe dla procesora. Po uruchomieniu komputera ładuje mikrokod z oprogramowania układowego UEFI, co można porównać do interpretera tłumaczącego instrukcje oprogramowania na instrukcje sprzętowe wykonywane na procesorze.
Dlaczego oprogramowanie sprzętowe UEFI wymaga aktualizacji zabezpieczeń?
W ciągu ostatnich kilku lat wielokrotnie udowodniono, że oprogramowanie układowe UEFI wymaga terminowych aktualizacji zabezpieczeń.
Wszyscy dowiedzieliśmy się o Spectre w 2018 roku, ujawniając poważne problemy architektoniczne współczesnych procesorów. Problemy związane z „wykonywaniem spekulacyjnym” oznaczały, że programy mogły wymknąć się standardowym ograniczeniom bezpieczeństwa i odczytać zabezpieczone obszary pamięci. Poprawki Spectre wymagały aktualizacji mikrokodu procesora, co oznaczało, że producenci komputerów PC musieli zaktualizować wszystkie swoje laptopy i komputery stacjonarne — a producenci płyt głównych musieli zaktualizować wszystkie swoje płyty główne — za pomocą nowego oprogramowania układowego UEFI zawierającego aktualizowany mikrokod. Twój komputer nie jest odpowiednio chroniony przed Spectre, chyba że zainstalowałeś aktualizację oprogramowania układowego UEFI. AMD również wydał aktualizacje mikrokodu, aby chronić systemy z procesorami AMD przed atakami Spectre, więc nie jest to tylko problem Intela.
Intel Management Engine miał kilka błędów bezpieczeństwa, które mogły pozwolić atakującym z lokalnym dostępem do komputera na złamanie oprogramowania Management Engine lub umożliwić osobie atakującej zdalne wywołanie problemów. Na szczęście zdalne exploity dotyczyły tylko firm, które włączyły technologię Intel Active Management Technology (AMT), więc nie wpływa to na przeciętnych konsumentów.
To tylko kilka przykładów. Badacze wykazali, że możliwe jest nadużywanie oprogramowania układowego UEFI na niektórych komputerach PC, uzyskując głęboki dostęp do systemu. Nawet zademonstrowali trwałe oprogramowanie ransomware, które uzyskało dostęp do oprogramowania układowego UEFI komputera i uruchomiło się stamtąd.
Branża powinna aktualizować oprogramowanie układowe UEFI każdego komputera, tak jak każde inne oprogramowanie, aby chronić się przed tymi problemami i podobnymi wadami w przyszłości.
Jak proces aktualizacji był zepsuty przez lata?
Proces aktualizacji BIOS był bałaganem od zawsze — na długo przed UEFI. Tradycyjnie komputery były dostarczane ze starym BIOS-em, co mogło prowadzić do problemów. Producenci komputerów mogli dostarczać kilka aktualizacji systemu BIOS, aby naprawić drobne problemy, ale zazwyczaj radzili unikać ich instalowania, jeśli komputer działa poprawnie. Często trzeba było uruchamiać się z bootowalnego dysku DOS, aby sflashować aktualizację BIOS-u, a wiele osób opowiadało historie o niepowodzeniach aktualizacji BIOS-u, które kończyły się uszkodzeniem komputerów.
Rzeczy się zmieniły. Oprogramowanie UEFI robi znacznie więcej, a Intel wydał kilka dużych aktualizacji, takich jak mikrokod procesora i Intel ME w ciągu ostatnich kilku lat. Za każdym razem, gdy firma Intel publikuje taką aktualizację, jedyne, co może powiedzieć, to „zapytaj producenta komputera”. Producent Twojego komputera — lub producent płyty głównej, jeśli zbudowałeś swój własny komputer — musi pobrać kod od firmy Intel i zintegrować go z nową wersją oprogramowania układowego UEFI. Następnie muszą przetestować oprogramowanie układowe. Każdy producent musi powtórzyć ten proces dla każdego sprzedawanego komputera, ponieważ każdy ma inne oprogramowanie układowe UEFI. To ręczna praca, która w przeszłości utrudniała aktualizację telefonów z Androidem.
W praktyce oznacza to często, że uzyskanie krytycznych aktualizacji zabezpieczeń, które muszą być dostarczane za pośrednictwem UEFI, zajmuje dużo czasu — wiele miesięcy. Oznacza to, że producenci mogą wzruszać ramionami i odmawiać aktualizacji komputerów, które mają zaledwie kilka lat. Nawet jeśli producenci wydają aktualizacje, są one często ukrywane w witrynie pomocy technicznej danego producenta. Większość użytkowników komputerów PC nigdy nie odkryje, że istnieją aktualizacje oprogramowania układowego UEFI i nie zainstaluje ich, więc te błędy mogą pozostawać na istniejących komputerach przez długi czas. Niektórzy producenci wciąż wymagają uruchomienia systemu DOS w celu zainstalowania aktualizacji oprogramowania sprzętowego, co dodatkowo komplikuję sprawę.
Co ludzie z tym robią?
Obecna sytuacja jest chaotyczna. Potrzebujemy usprawnionego procesu, w którym producenci mogą łatwiej tworzyć nowe aktualizacje oprogramowania układowego UEFI. Potrzebujemy również lepszego procesu wydawania tych aktualizacji, aby użytkownicy mogli je automatycznie instalować na swoich komputerach. W tej chwili proces jest powolny i ręczny — powinien być szybki i automatyczny.
Właśnie to Microsoft próbuje osiągnąć dzięki Project Mu. Oto jak oficjalna dokumentacja to opisuje:
Mu opiera się na idei, że wysyłka i konserwacja produktu UEFI to ciągła współpraca między wieloma partnerami. Branża zbyt długo tworzyła produkty przy użyciu modelu „rozwidlania” połączonego z kopiowaniem, wklejaniem i zmianą nazw, a wraz z każdym nowym produktem obciążenie konserwacją rosło do takiego poziomu, że aktualizacje stały się prawie niemożliwe ze względu na koszty i ryzyko.
Project Mu ma na celu pomoc producentom komputerów PC w szybszym tworzeniu i testowaniu aktualizacji UEFI poprzez usprawnienie procesu rozwoju UEFI oraz wspieranie współpracy. Mamy nadzieję, że jest to brakujący element, ponieważ Microsoft już ułatwił producentom komputerów PC automatyczne wysyłanie aktualizacji oprogramowania układowego UEFI do użytkowników.
W szczególności Microsoft pozwala producentom komputerów PC wydawać aktualizacje oprogramowania układowego za pośrednictwem witryny Windows Update i udostępnia dokumentację na ten temat od co najmniej 2017 roku. Microsoft ogłosił również Aktualizację oprogramowania sprzętowego składników; model open source, który producenci mogą wykorzystać do aktualizacji UEFI i innego oprogramowania układowego, w październiku 2018 roku. Jeśli producenci komputerów PC przyjmą te rozwiązania, będą mogli szybko dostarczać aktualizacje oprogramowania układowego wszystkim swoim użytkownikom.
To nie jest tylko kwestia systemu Windows. W systemie Linux programiści próbują ułatwić producentom komputerów PC wydawanie aktualizacji UEFI LVFS, Linux Vendor Firmware Service. Sprzedawcy komputerów PC mogą przesyłać swoje aktualizacje, które będą dostępne do pobrania w aplikacji GNOME Software, używanej w systemie Ubuntu i wielu innych dystrybucjach Linuksa. Ten wysiłek sięga 2015 roku, a producenci tacy jak Dell i Lenovo biorą w nim udział.
Te rozwiązania dla systemów Windows i Linux wpływają nie tylko na aktualizacje UEFI. Producenci sprzętu mogą je wykorzystywać do aktualizacji wszystkiego, od oprogramowania układowego myszy USB po oprogramowanie układowe dysków SSD w przyszłości.
Jak zauważył SwiftOnSecurity, aktualizacje oprogramowania układowego mogą być niezawodne. Zainicjowałem co najmniej 3000 aktualizacji systemu BIOS firmy Dell z tylko jedną awarią, a stary komputer działał już z powodu awarii.
Przemyśl to, co myślisz, że jest niemożliwe. Serwisowanie oprogramowania sprzętowego nie jest niemożliwe ani ryzykowne. Wymaga to od ludzi lepszych wymagań.
— SwiftOnSecurity (@SwiftOnSecurity) 6 listopada 2018 r.
Źródło zdjęcia: Intel, Natascha Eibl, kubais/Shutterstock.com.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.