Jak i po co aktualizować BIOS?
Po dwóch pierwszych częściach serii o bezpieczeństwie poświęconych ogólnikom, zmierzamy powoli w stronę czegoś konkretniejszego. Mowa o aktualizacji BIOSu: porozmawiajmy o niej przez chwilę. Ten notorycznie pomijany element serwisowania sprzętu z upływem lat staje się coraz ważniejszy, ze względu na rosnącą złożoność sprzętu. Niestety, infrastruktura dostarczania wciąż niedomaga: większość kanałów aktualizacji i wdrożeń nie przewiduje aktualizacji oprogramowania układowego. Co więcej, bardzo wiele firm, wykorzystujących przecież tuziny identycznego sprzętu, nie aktualizuje BIOSów i nie dzieje się tak wskutek świadomej polityki.
Pozostaje nam zająć się tematem samodzielnie. Najczęściej jedyną opcją jest wykonać tę procedurę ręcznie, zaglądając na stronę internetową działu wsparcia naszego komputera. Jest kilka powodów, dla których jest to "jedyne słuszne" podejście. Po pierwsze, systemowy Windows Update bardzo rzadko serwuje aktualizacje BIOSu. Co więcej, bardzo rzadko dostarcza nawet aktualizacje dla chipsetów oraz kontrolerów. Przoduje za to w serwowaniu sterowników do kart sieciowych (które zazwyczaj i tak już zainstalowano, żeby w ogóle móc połączyć się z siecią) oraz graficznych.
Aktualny BIOS to luksus
BIOS, a konkretniej mówiąc firmware platformy sprzętowej, rzadko jest dostarczany przez automatyczne narzędzia wdrażania oprogramowania. Producenci sprzętu rzadko mają ochotę brać odpowiedzialność za potencjalne problemy z działaniem sprzętu po wymianie komponentu pracującego tak blisko niego. Robią tak jednak dostawcy "pełnego stosu": Microsoft ze swoją serią Surface oraz oraz Apple z MacBookami.
Nowy BIOS, jeżeli sprawia problemy, jest dość szybko wycofywany, więc coraz trudniej dziś trafić na scenariusz, w którym wyrządzamy sobie krzywdę. Toteż nieobecność BIOSów w Windows Update to trochę nadmiar zapobiegliwości. Zwłaszcza, że to już nie czasy pojedynczych programowalnych kostek, kiedy wadliwa aktualizacja kończyła się "ucegleniem" sprzętu i koniecznością zaprzyjaźnienia się z programatorem układów. Nieukończone aktualizacje (przeważnie!) automatycznie przywracają poprzedni obraz. Update BIOSu powinien więc straszyć coraz mniej.
Wyprawę na stronę Obsługi Technicznej producenta sprzętu można więc uskutecznić bez wybitnego lęku przed marnym losem. Gdy już się na niej znajdziemy, producent usiłuje ułatwić nam życie na wyrost, oferując własny program do wykrywania aktualizacji. Programy te są na tyle dziwne, że należy poświęcić im oddzielny akapit, więc teraz po prostu wstrzymamy się z ich użyciem.
Szczególnym rodzajem szrotu są zadaniowe menedżery pobierania oferowane przez strony producentów – również należy im podziękować. Interesuje nas dotarcie do bezpośrednich linków pobierania instalatorów. Gdy je uzyskamy, należy podłączyć komputer do zasilania i uzbroić się w cierpliwość. Inwazyjny proces aktualizacji UEFI może trwać nawet kilkanaście minut.
Dobrze, ale po co?
Instalatory flashujące BIOS/UEFI są dziś znacznie bezpieczniejsze w użyciu, niż lata temu. Ponadto, w razie nieskutecznego nagrania nowego obrazu, wiele platform automatycznie przywraca poprzednią kopię, dzięki czemu maleje ryzyko unieruchomienia sprzętu. Mimo to, trudno sugerować aktualizację całkowicie bez cienia obaw, że coś może pójść nie tak. Dlatego na wszelki wypadek należy przypomnieć istotność robienia kopii zapasowych. W rzadkich przypadkach możemy stracić aktywację systemu, ale powinien być to łatwy do naprawienia problem.
Zresztą trzeba mieć prawdziwego pecha, żeby trafić na taki właśnie scenariusz. Natomiast odradzam całkowite zniechęcenie się do koncepcji aktualizowania BIOSu, ponieważ dzisiejsze UEFI to niemal kompletny system operacyjny, działający pod spodem właściwego. Ponadto, aktualizacje dostarczają usprawnienia w walce z podatnościami Meltdown i Spectre. Nie jest aktem odwagi ani hołdu prostszym czasom używanie fabrycznej wersji UEFI, ponieważ nie ma nic nobliwego w piętnastoprocentowym ubytku wydajności tylko dla idei.
Wprowadzane poprawki
Przyjrzyjmy się notom wydawniczym niektórych BIOSów konsumenckich, by zrozumieć jaka kategoria problemów jest adresowana przez aktualizacje tego akurat komponentu. UEFI dla komputera ThinkPad T490, względem fabrycznego oprogramowania, zapewnia obsługę większej liczby kostek DDR4 RAM, poprawia obsługę oszczędzania energii na Linuksach oraz likwiduje problem zawieszającego się komputera w przypadku korzystania w pewien określony sposób ze stacji dokującej. Naturalnie, poza tym dostarczono cały szereg aktualizacji bezpieczeństwa
Starszy model, ThinkPad X270, otrzymał nowe mikrokody do procesorów, opcję wyłączenia HT celem ochrony przed Spectre, poprawkę stabilności połączenia bezprzewodowego oraz rozwiązanie problemu, w którym procesor zawsze pracuje w trybie najgłębszego oszczędzania energii. Przez trzy lata wydano niemal trzydzieści wersji UEFI dla X270, a każda z nich rozwiązywała szereg problemów. Można podejrzewać, że rosnąca złożoność UEFI przełożyła się na zwiększenie wagi i liczby problemów.
Kiedyś wszak BIOS nie dostarczał tylko elementarnych funkcji do komunikacji ze sprzętem, nawet program konfiguracyjny SETUP bywał ekstrawagancją. Dziś UEFI oferuje graficzny interfejs użytkownika, aktualizacje z internetu, zarządzanie zdalne oraz dziesiątki mniej spektakularnych, ale nie mniej złożonych funkcji.
Ale nie jest to zmiana, która nastąpiła skokowo, po przejściu z BIOSu na UEFI. Cofnięcie się o dwie dekady, do czasów ThinkPada T23, pokazuje że BIOS owego sprzętu, wyprodukowanego w 2001 roku, również doczekał się zbioru poprawek. Mniej w nich poprawek zabezpieczeń, ponieważ istniał tylko jeden interfejs zdalnego zarządzania. Dziś żyjemy w czasach Intel Management Engine oraz procesorów liczących "na zapas", co dostarcza nieporównanie więcej ryzyka. BIOSy usiłują zatem rozwiązać problemy, którymi uraczył nas Intel.
Wnioski
- Oprogramowanie sterujące sprzętem, z powodu jego zaawansowania, samo w sobie stało się rozbudowane i podatne na błędy
- Wbudowanie w sprzęt nieusuwalnych funkcji sieciowego zarządzania sprawiło, że błędy w BIOSie mogą być wykorzystane zdalnie
- Ze względu na rolę oprogramowania układowego, bardzo rzadko jest ono dostarczane przez zwyczajowe narzędzia aktualizacji, co wymusza aktualizacje ręczne
- Należy stronić od zautomatyzowanych instalatorów, a zamiast tego szukać pakietów instalacyjnych bezpośrednio w dziale wsparcia technicznego producenta sprzętu
- Skomplikowanie procesorów Intela sprawia, że niektóre podatności trzeba łatać \blisko sprzętu\ (CVE-2018-3646, CVE-2018-3639, CVE-2018-3640, CVE-2017-5715...)
Instalowanie aktualizacji nie zamyka wcale tematu BIOSu. Wysoce wskazane jest dostosowanie jego ustawień, nie tylko w kwestii Secure Boot oraz trybu UEFI. Zresztą, firmware to nie tylko BIOS: na typowej płycie głównej czai się dziś więcej układów, które umieją bardzo dużo i wymagają aktualizacji. Wśród nich znajduje się oczywiście TPM, ale jest parę innych, nie mniej interesujących. O nich w kolejnej części.