Varför din PC s UEFI-firmware behöver säkerhetsuppdateringar
Microsoft tillkännagav bara Project Mu, lovande "firmware som en tjänst" på stödd hårdvara. Varje dator tillverkare bör notera. Datorer behöver säkerhetsuppdateringar för deras UEFI-firmware, och PC-tillverkare har gjort ett dåligt jobb att leverera dem.
Vad är UEFI Firmware?
Moderna datorer använder UEFI-firmware istället för en traditionell BIOS. UEFI-firmware är programvaran på låg nivå som startar när du startar datorn. Det testar och initierar din hårdvara, gör vissa systemkonfigurationer på låg nivå och startar sedan ett operativsystem från datorns interna enhet eller en annan boot-enhet.
UEFI är dock lite mer komplicerat än den äldre BIOS-mjukvaran. Till exempel har datorer med Intel-processorer något som heter Intel Management Engine, vilket är i grunden ett litet operativsystem. Den går parallellt med Windows, Linux, eller vilket operativsystem du kör på din dator. På företagsnätverk kan systemadministratörer använda funktioner i Intel ME för att fjärrhantera sina datorer.
UEFI innehåller också processor "mikrokod", vilket är snällt som firmware för din processor. När datorn startar, laddar den mikrokod från UEFI-firmware. Tänk på det som en tolk som översätter programvaruinstruktioner till hårdvaruanvisningar som utförs på CPU: n.
Varför UEFI-firmware behöver säkerhetsuppdateringar
De senaste åren har visat om och om igen varför UEFI-firmware behöver aktuella säkerhetsuppdateringar.
Vi lärde oss alla om Specter 2018, vilket visar de allvarliga arkitektoniska problemen med moderna processorer. Problem med något som kallas "spekulativt utförande" menade att program kunde undgå standard säkerhetsrestriktioner och läsa säkra minnesplatser. Fixes to Specter krävs CPU-mikrokodsuppdateringar för att fungera korrekt. Det betyder att PC-tillverkare var tvungna att uppdatera alla sina bärbara och stationära datorer - och moderkortstillverkare måste uppdatera alla moderkort - med ny UEFI-firmware som innehåller den uppdaterade mikrokoden. Din dator är inte tillräckligt skyddad mot Specter om du inte har installerat en UEFI-firmwareuppdatering. AMD släppte också mikrokodsuppdateringar för att skydda system med AMD-processorer från Specter-attacker, så det här är inte bara en Intel-sak.
Intels styrmotor har sett några säkerhetsbuller som antingen låter angripare med lokal åtkomst till datorn spricka programvaran Management Engine eller låta en angripare med fjärråtkomst orsaka problem. Lyckligtvis berörde fjärranvändningarna endast företag som hade aktiverat Intel Active Management Technology (AMT), så att de genomsnittliga konsumenterna inte påverkades.
Det här är bara några exempel. Forskare har också visat att det är möjligt att missbruka UEFI-firmware på vissa datorer genom att använda den för att få djup åtkomst till systemet. De har även visat uthållig ransomware som fick tillgång till en dators UEFI-firmware och körde därifrån.
Branschen bör uppdatera varje dators UEFI-firmware precis som vilken som helst annan programvara för att skydda mot dessa problem och liknande brister i framtiden..
Hur uppdateringsprocessen har brutits i år
BIOS-uppdateringsprocessen har varit en röra för alltid - sedan länge före UEFI. Traditionellt kan datorer levereras med den gamla skolan BIOS, och mindre kan gå fel. PC-tillverkare kan skicka några BIOS-uppdateringar för att åtgärda mindre problem, men vanliga råd var att undvika att installera dem om datorn fungerade korrekt. Du måste ofta starta från en startbar DOS-enhet för att blinka BIOS-uppdateringen, och alla hörde historier om BIOS-uppdateringar misslyckades och bricking-datorer, vilket gjorde dem oförstartbara.
Saker har förändrats. UEFI-firmware gör mycket mer, och Intel har släppt flera stora uppdateringar till saker som CPU-mikrokod och Intel ME under de senaste åren. När Intel släpper ut en sådan uppdatering, kan alla Intel säga "fråga din datortillverkare." Datorproducenten eller moderkortstillverkaren, om du har byggt din egen dator, måste ta koden från Intel och integrera den i en ny UEFI-firmware version. De måste sedan testa fast programvaran. Åh, och varje tillverkare måste upprepa denna process för varje enskild dator som de säljer, eftersom de alla har olika UEFI-firmware. Det är den typ av manuellt arbete som gjorde Android-telefoner så svåra att uppdatera tidigare.
I praktiken betyder det att det ofta tar lång tid - många månader - för att få kritiska säkerhetsuppdateringar som måste levereras via UEFI. Det betyder att tillverkare kan skaka och vägra att uppdatera datorer som bara är några år gamla. Och även när tillverkare släpper ut uppdateringar, begravs de uppdateringarna ofta på tillverkarens supportwebbplats. De flesta datoranvändare kommer aldrig någonsin att upptäcka vilka UEFI-firmwareuppdateringar som finns och installera dem, så de här buggarna lever uppe i befintliga datorer under lång tid. Och vissa tillverkare gör att du fortfarande kan installera firmwareuppdateringar genom att starta DOS först, bara för att göra det extra komplicerat.
Vad folk gör om det
Det är en röra. Vi behöver en strömlinjeformad process där tillverkare lättare kan skapa nya UEFI-firmwareuppdateringar. Vi behöver också en bättre process för att släppa uppdateringarna, så att användare kan få dem automatiskt installerade på sina datorer. Just nu är processen långsam och manuell - den ska vara snabb och automatisk.
Det är vad Microsoft försöker göra med Project Mu. Så här beskriver den officiella dokumentationen det:
Mu bygger på tanken att frakt och underhåll av en UEFI-produkt är ett pågående samarbete mellan många partners. För länge har industrin byggt produkter som använder en "forking" -modell i kombination med kopia / klistra in / byta namn och med varje ny produkt växer underhållsbelastningen till en sådan nivå att uppdateringar är nästan omöjliga på grund av kostnad och risk.
Projekt Mu handlar om att hjälpa PC-tillverkare att skapa och testa UEFI-uppdateringar snabbare genom att effektivisera UEFI-utvecklingsprocessen och hjälpa alla att arbeta tillsammans. Förhoppningsvis är detta den saknade delen, eftersom Microsoft redan har gjort det enklare för PC-tillverkare att skicka sina UEFI-firmwareuppdateringar automatiskt till användarna.
Microsoft tillåter specifikt att PC-tillverkare utfärdar firmwareuppdateringar via Windows Update och har lämnat dokumentation om detta sedan åtminstone 2017. Microsoft tillkännagav också komponent firmwareuppdatering; en öppen källkodsmodell som tillverkare kan använda för att uppdatera UEFI och annan firmware, tillbaka i oktober 2018. Om PC-tillverkare kommer ombord med detta kan de snabbt leverera firmwareuppdateringar till alla sina användare.
Det här är inte bara en Windows-sak heller. Över på Linux försöker utvecklare göra det enklare för PC-tillverkare att utfärda UEFI-uppdateringar med LVFS, Linux Vendor Firmware Service. PC-leverantörer kan skicka in sina uppdateringar, och de kommer att visas för nedladdning i GNOME Software-programmet, som används på Ubuntu och många andra Linux-distributioner. Denna ansträngning går tillbaka till 2015. PC-tillverkare som Dell och Lenovo deltar.
Dessa lösningar för Windows och Linux påverkar mer än bara UEFI-uppdateringar. Hårdvara tillverkare kan använda dem för att uppdatera allt från USB-mus firmware till solid state-firmware i framtiden.
Som SwiftOnSecurity uttryckte när man talade om problemen med solid-state-firmware och kryptering, kan uppdateringar av firmware vara tillförlitliga. Vi behöver förvänta oss bättre från hårdvaruproducenter.
Firmware uppdateringar kan vara tillförlitliga. Jag har initierat minst 3000 Dell BIOS-uppdateringar med bara ett fel, och den gamla datorn var redan i tjänst för att misslyckas.
Tänk på vad du tycker är omöjligt. Firmware service är inte omöjligt eller riskabelt. Det kräver att människor efterfrågar bättre.
- SwiftOnSecurity (@SwiftOnSecurity) 6 november 2018
Bildkredit: Intel, Natascha Eibl, kubais / Shutterstock.com.