Hvorfor PC-ens UEFI-firmware trenger sikkerhetsoppdateringer

Microsoft har nettopp annonsert Prosjekt Mu, og lover «fastvare som en tjeneste» på støttet maskinvare. Alle PC-produsenter bør merke seg. PC-er trenger sikkerhetsoppdateringer til UEFI-fastvaren, og PC-produsenter har gjort en dårlig jobb med å levere dem.

Hva er UEFI-fastvare?

Moderne PC-er bruker UEFI-fastvare i stedet for en tradisjonell BIOS. UEFI-fastvaren er lavnivåprogramvaren som starter når du starter opp PC-en. Den tester og initialiserer maskinvaren din, gjør noen systemkonfigurasjoner på lavt nivå, og starter deretter et operativsystem fra datamaskinens interne stasjon eller en annen oppstartsenhet.

Imidlertid er UEFI litt mer komplisert enn den eldre BIOS-programvaren. For eksempel har datamaskiner med Intel-prosessorer noe som kalles Intel Management Engine, som i utgangspunktet er et lite operativsystem. Den kjører parallelt med Windows, Linux eller hvilket operativsystem du kjører på datamaskinen din. På bedriftsnettverk kan systemadministratorer bruke funksjoner i Intel ME til å fjernadministrere datamaskinene sine.

UEFI inneholder også prosessor «mikrokode», som er litt som fastvare for prosessoren din. Når datamaskinen starter, laster den inn mikrokode fra UEFI-fastvaren. Tenk på det som en tolk som oversetter programvareinstruksjoner til maskinvareinstruksjoner utført på CPU.

Hvorfor UEFI-firmware trenger sikkerhetsoppdateringer

De siste årene har vist om og om igjen hvorfor UEFI-fastvaren trenger tidsriktige sikkerhetsoppdateringer.

Vi lærte alle om Spectre i 2018, og viser de alvorlige arkitektoniske problemene med moderne CPUer. Problemer med noe som kalles «spekulativ utførelse» betydde at programmer kunne unnslippe standard sikkerhetsbegrensninger og lese sikre områder av minnet. Reparasjoner til Spectre kreves CPU-mikrokodeoppdateringer for å fungere riktig. Det betyr at PC-produsenter måtte oppdatere alle bærbare og stasjonære PC-er – og hovedkortprodusenter måtte oppdatere alle hovedkort – med ny UEFI-fastvare som inneholder den oppdaterte mikrokoden. PC-en din er ikke tilstrekkelig beskyttet mot Spectre med mindre du har installert en UEFI-fastvareoppdatering. AMD også utgitt mikrokodeoppdateringer for å beskytte systemer med AMD-prosessorer fra Spectre-angrep, så dette er ikke bare en Intel-ting.

  Slik ser du sangtekster på en iPhone, iPad, Mac eller Apple TV

Intels Management Engine har sett noen sikkerhetsfeil som enten kan la angripere med lokal tilgang til datamaskinen knekke Management Engine-programvaren, eller la en angriper med ekstern tilgang forårsake problemer. Heldigvis påvirket de eksterne utnyttelsene bare bedrifter som hadde aktivert Intel Active Management Technology (AMT), så gjennomsnittlige forbrukere ble ikke berørt.

Dette er bare noen få eksempler. Forskere har også vist at det er mulig å misbruke UEFI-fastvaren på enkelte PC-er ved å bruke den for å få dyp tilgang til systemet. De har til og med demonstrert vedvarende løsepengevare som fikk tilgang til en datamaskins UEFI-fastvare og løp derfra.

Bransjen bør oppdatere hver datamaskins UEFI-fastvare akkurat som all annen programvare for å beskytte mot disse problemene og lignende feil i fremtiden.

Hvordan oppdateringsprosessen har vært ødelagt i årevis

BIOS-oppdateringsprosessen har vært et rot for alltid – siden lenge før UEFI. Tradisjonelt ble datamaskiner levert med den gamle BIOS-en, og mindre kunne gå galt. PC-produsenter kan sende noen få BIOS-oppdateringer for å fikse mindre problemer, men det vanlige rådet var å unngå å installere dem hvis PC-en fungerte som den skal. Du måtte ofte starte opp fra en oppstartbar DOS-stasjon for å flashe BIOS-oppdateringen, og alle hørte historier om BIOS-oppdateringer som mislyktes og murte PC-er, noe som gjorde dem uoppstartbare.

Ting har forandret seg. UEFI-firmware gjør mye mer, og Intel har gitt ut flere store oppdateringer til ting som CPU-mikrokode og Intel ME de siste årene. Når Intel slipper en slik oppdatering, er alt Intel kan gjøre å si «spør datamaskinprodusenten.» Datamaskinprodusenten din – eller hovedkortprodusenten, hvis du har bygget din egen PC – må ta koden fra Intel og integrere den i en ny UEFI-fastvareversjon. De må da teste fastvaren. Åh, og hver produsent må gjenta denne prosessen for hver enkelt PC de selger, siden de alle har forskjellig UEFI-fastvare. Det er den typen manuelt arbeid som gjorde Android-telefoner så vanskelige å oppdatere tidligere.

  Slik setter du opp og bruker Microsoft Teams Zoom-appen

I praksis betyr dette at det ofte tar lang tid – mange måneder – å få kritiske sikkerhetsoppdateringer som må leveres via UEFI. Det betyr at produsenter kan trekke på skuldrene og nekte å oppdatere PC-er som bare er noen få år gamle. Og selv når produsenter slipper oppdateringer, er disse oppdateringene ofte begravet på produsentens støttenettsted. De fleste PC-brukere vil aldri oppdage at UEFI-fastvareoppdateringene eksisterer og installere dem, så disse feilene ender opp med å leve på eksisterende PC-er i lang tid. Og noen produsenter får deg fortsatt til å installere fastvareoppdateringer ved å starte opp i DOS først – bare for å gjøre det ekstra komplisert.

Hva folk gjør med det

Det er et rot. Vi trenger en strømlinjeformet prosess der produsenter lettere kan lage nye UEFI-fastvareoppdateringer. Vi trenger også en bedre prosess for å slippe disse oppdateringene, slik at brukerne kan få dem installert automatisk på PC-ene sine. Akkurat nå er prosessen treg og manuell – den skal være rask og automatisk.

Det er det Microsoft prøver å gjøre med Project Mu. Her er hvordan offisiell dokumentasjon forklarer det:

Mu er bygget rundt ideen om at frakt og vedlikehold av et UEFI-produkt er et pågående samarbeid mellom en rekke partnere. For lenge har industrien bygget produkter ved hjelp av en «forking»-modell kombinert med copy/paste/rename og for hvert nytt produkt vokser vedlikeholdsbyrden til et slikt nivå at oppdateringer er nesten umulige på grunn av kostnader og risiko.

  Få detaljert informasjon om tilgangspunkter og tilkoblede enheter

Project Mu handler om å hjelpe PC-produsenter med å lage og teste UEFI-oppdateringer raskere ved å strømlinjeforme UEFI-utviklingsprosessen og hjelpe alle med å jobbe sammen. Forhåpentligvis er dette den manglende brikken, siden Microsoft allerede har gjort det enklere for PC-produsenter å sende UEFI-fastvareoppdateringene til brukerne automatisk.

Nærmere bestemt lar Microsoft PC-produsenter utstede fastvareoppdateringer gjennom Windows Update og har levert dokumentasjon på dette siden minst 2017. Microsoft annonserte også Komponentfastvareoppdatering; en åpen kildekode-modell som produsenter kan bruke til å oppdatere UEFI og annen fastvare, tilbake i oktober 2018. Hvis PC-produsenter kommer på banen med dette, kan de levere fastvareoppdateringer til alle brukerne sine veldig raskt.

Dette er ikke bare en Windows-greie heller. Over på Linux prøver utviklere å gjøre det enklere for PC-produsenter å utstede UEFI-oppdateringer med LVFS, Linux-leverandørens fastvaretjeneste. PC-leverandører kan sende inn oppdateringene sine, og de vises for nedlasting i GNOME-programvaren, som brukes på Ubuntu og mange andre Linux-distribusjoner. Denne innsatsen går tilbake til 2015. PC-produsenter liker Dell og Lenovo deltar.

Disse løsningene for Windows og Linux påvirker også mer enn bare UEFI-oppdateringer. Maskinvareprodusenter kan bruke dem til å oppdatere alt fra USB-mus-fastvare til fast-state-stasjon-fastvare i fremtiden.

Som SwiftOnSecurity si det når du snakker om problemene med fastvare- og kryptering for solid-state-stasjoner, fastvareoppdateringer kan være pålitelige. Vi må forvente bedre av maskinvareprodusenter.

Fastvareoppdateringer kan være pålitelige. Jeg har startet minst 3000 Dell BIOS-oppdateringer med bare én feil, og den gamle PC-en var allerede i bruk for feil.

Tenk på nytt om det du tror er umulig. Fastvareservice er ikke umulig eller risikabelt. Det krever at folk krever bedre.

— SwiftOnSecurity (@SwiftOnSecurity) 6. november 2018

Bildekreditt: Intel, Natascha Eibl, kubais/Shutterstock.com.