Dlaczego oprogramowanie sprzętowe UEFI Twojego komputera wymaga aktualizacji zabezpieczeń

Microsoft właśnie ogłosił Project Muobiecują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 uruchomieniu 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.

Jednak 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 w zasadzie małym systemem operacyjnym. Działa równolegle z systemem Windows, Linux lub jakimkolwiek systemem operacyjnym, z którego korzystasz na swoim komputerze. W sieciach korporacyjnych administratorzy systemu mogą używać funkcji Intel ME do zdalnego zarządzania swoimi komputerami.

UEFI zawiera również „mikrokod” procesora, który jest czymś w rodzaju oprogramowania układowego dla procesora. Po uruchomieniu komputera ładuje mikrokod z oprogramowania układowego UEFI. Potraktuj to jak interpreter, który tłumaczy instrukcje oprogramowania na instrukcje sprzętowe wykonywane na procesorze.

Dlaczego oprogramowanie sprzętowe UEFI wymaga aktualizacji zabezpieczeń

W ciągu ostatnich kilku lat wielokrotnie pokazywano, dlaczego oprogramowanie układowe UEFI wymaga terminowych aktualizacji zabezpieczeń.

Wszyscy dowiedzieliśmy się o Spectre w 2018 roku, pokazując poważne problemy architektoniczne współczesnych procesorów. Problemy z czymś, co nazywa się „wykonywaniem spekulacyjnym”, oznaczały, że programy mogły wymknąć się standardowym ograniczeniom bezpieczeństwa i odczytać bezpieczne obszary pamięci. Poprawki Spectre wymagały aktualizacji mikrokodu procesora do prawidłowego działania. Oznacza to, ż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 zaktualizowany mikrokod. Twój komputer nie jest odpowiednio chroniony przed Spectre, chyba że zainstalowałeś aktualizację oprogramowania układowego UEFI. AMD wydał również aktualizacje mikrokodu, aby chronić systemy z procesorami AMD przed atakami Spectre, więc nie jest to tylko sprawa Intela.

Intel Management Engine widział kilka błędy bezpieczeństwa które mogą pozwolić atakującym z lokalnym dostępem do komputera złamać oprogramowanie Management Engine lub sprawić, że osoba atakująca z dostępem zdalnym spowoduje problemy. Na szczęście zdalne exploity dotyczyły tylko firm, które włączyły technologię Intel Active Management Technology (AMT), więc nie dotyczy to przeciętnych konsumentów.

To tylko kilka przykładów. Badacze wykazali również, że możliwe jest nadużywanie oprogramowania układowego UEFI na niektórych komputerach PC, wykorzystując je do uzyskania głębokiego dostępu do systemu. Nawet zademonstrowali trwałe oprogramowanie ransomware który uzyskał dostęp do oprogramowania układowego UEFI komputera i uruchomił 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 dostarczane z tym starym BIOS-em i mniej może się nie udać. Producenci komputerów mogą dostarczać kilka aktualizacji systemu BIOS, aby naprawić drobne problemy, ale zwykle 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 wszyscy słyszeli historie o niepowodzeniach aktualizacji BIOS-u i zepsutych komputerach, co uniemożliwiło ich uruchomienie.

Rzeczy się zmieniły. Oprogramowanie UEFI robi znacznie więcej, a Intel wydał kilka dużych aktualizacji takich rzeczy, 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 zrobić, to powiedzieć „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. Aha, i każdy producent musi powtórzyć ten proces dla każdego sprzedawanego komputera, ponieważ każdy ma inne oprogramowanie układowe UEFI. Jest to rodzaj ręcznej pracy, 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ą wzruszyć ramionami i odmówić aktualizacji komputerów, które mają zaledwie kilka lat. Nawet jeśli producenci wydają aktualizacje, są one często ukrywane w witrynie pomocy technicznej tego 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 żyją na istniejących komputerach przez długi czas. Niektórzy producenci nadal wymagają instalowania aktualizacji oprogramowania sprzętowego, uruchamiając najpierw system DOS – tylko po to, aby było to bardziej skomplikowane.

Co ludzie z tym robią

To jest bałagan. 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 automatycznie instalować je na swoich komputerach. W tej chwili proces jest powolny i ręczny – powinien być szybki i automatyczny.

Właśnie to Microsoft próbuje zrobić z Project Mu. Oto jak oficjalna dokumentacja wyjaśnia to:

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 / zmianą nazwy, a wraz z każdym nowym produktem obciążenie konserwacją rośnie do takiego poziomu, że aktualizacje są prawie niemożliwe ze względu na koszty i ryzyko.

Project Mu polega na pomaganiu producentom komputerów PC w szybszym tworzeniu i testowaniu aktualizacji UEFI poprzez usprawnienie procesu rozwoju UEFI i pomagając wszystkim współpracować. 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 r. Microsoft ogłosił również Aktualizacja oprogramowania sprzętowego składników; model open source, którego producenci mogą używać do aktualizacji UEFI i innego oprogramowania układowego, w październiku 2018 r. Jeśli producenci komputerów PC się z tym pogodzą, będą mogli bardzo 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 i pojawią się do pobrania w aplikacji GNOME Software, która jest używana w systemie Ubuntu i wielu innych dystrybucjach Linuksa. Ten wysiłek sięga 2015 roku. Producenci komputerów PC lubią Dell i Lenovo uczestniczą.

Te rozwiązania dla systemów Windows i Linux wpływają nie tylko na aktualizacje UEFI. Producenci sprzętu mogą ich używać do aktualizacji wszystkiego, od oprogramowania układowego myszy USB po oprogramowanie układowe dysku SSD w przyszłości.

Tak jak SwiftOnSecurity Mówiąc o problemach z oprogramowaniem układowym dysku SSD i szyfrowaniem, aktualizacje oprogramowania układowego mogą być niezawodne. Musimy oczekiwać czegoś lepszego od producentów sprzętu.

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. To wymaga od ludzi lepszych wymagań.

– SwiftOnSecurity (@SwiftOnSecurity) 6 listopada 2018 r

Źródło zdjęcia: Intel, Natascha Eibl, kubais/Shutterstock.com.