Sikkerhetsoppdateringer av UEFI-fastvare: Hvorfor er det så viktig, og hva gjør Microsoft?

Microsoft har nylig kunngjort Prosjekt Mu, og lover «fastvare som en tjeneste» for kompatibel maskinvare. Dette er viktig informasjon for alle PC-produsenter. Sikkerhetsoppdateringer er nødvendige for UEFI-fastvare, men PC-produsentene har ikke gjort en god jobb med å levere disse.

Hva er UEFI-fastvare?

Moderne datamaskiner benytter seg av UEFI-fastvare i stedet for den eldre BIOS-en. UEFI-fastvaren er den grunnleggende programvaren som aktiveres når datamaskinen startes. Den utfører tester og initialiserer maskinvaren, setter opp systemkonfigurasjoner på lavt nivå, og starter deretter operativsystemet fra datamaskinens interne lagring eller en annen oppstartsenhet.

UEFI er mer kompleks enn den tidligere BIOS-programvaren. For eksempel har datamaskiner med Intel-prosessorer noe som kalles Intel Management Engine, som i praksis er et lite operativsystem. Det kjører parallelt med Windows, Linux eller hvilket som helst annet operativsystem som er installert. På bedriftsnettverk kan administratorer bruke funksjoner i Intel ME for å fjernstyre datamaskinene.

UEFI inneholder også prosessor «mikrokode», som er en type fastvare for selve prosessoren. Når datamaskinen startes, lastes mikrokoden fra UEFI-fastvaren. Dette fungerer som en tolk som oversetter programvareinstruksjoner til maskinvareinstruksjoner som utføres på CPU-en.

Hvorfor trenger UEFI-fastvare sikkerhetsoppdateringer?

De siste årene har vist oss tydelig hvorfor rettidige sikkerhetsoppdateringer for UEFI-fastvare er nødvendig.

Spectre-sårbarheten i 2018 avdekket alvorlige arkitektoniske problemer i moderne CPU-er. Problemer knyttet til «spekulativ utførelse» gjorde det mulig for programmer å omgå standard sikkerhetsbegrensninger og få tilgang til beskyttede minneområder. Reparasjoner av Spectre krevde oppdateringer av CPU-mikrokoden. Dette innebar 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 inneholdt den oppdaterte mikrokoden. En PC er ikke tilstrekkelig beskyttet mot Spectre uten en UEFI-fastvareoppdatering. AMD har også gitt ut mikrokodeoppdateringer for å beskytte systemer med AMD-prosessorer mot Spectre-angrep. Dette er derfor ikke bare et Intel-problem.

Intels Management Engine har hatt flere sikkerhetsfeil som enten kan gjøre det mulig for angripere med lokal tilgang å kompromittere Management Engine-programvaren, eller tillate angripere med ekstern tilgang å skape problemer. Heldigvis påvirket de eksterne angrepene kun bedrifter som hadde aktivert Intel Active Management Technology (AMT), så vanlige brukere ble ikke berørt.

Dette er bare noen få eksempler. Forskere har også demonstrert at det er mulig å misbruke UEFI-fastvaren på enkelte PC-er for å oppnå dyp tilgang til systemet. De har til og med demonstrert vedvarende løsepengevirus som infiserte en datamaskins UEFI-fastvare og opererte derfra.

For å beskytte mot disse og lignende problemer i fremtiden, er det viktig at bransjen oppdaterer alle datamaskinens UEFI-fastvare på samme måte som annen programvare.

En mangelfull oppdateringsprosess i årevis

BIOS-oppdateringsprosessen har alltid vært problematisk, lenge før UEFI. Tidligere ble datamaskiner levert med den gamle BIOS-en, og det var mindre som kunne gå galt. PC-produsenter sendte kanskje ut noen få BIOS-oppdateringer for å rette mindre problemer, men det generelle rådet var å unngå å installere dem hvis PC-en fungerte som den skulle. Oppdateringer måtte ofte utføres fra en oppstartbar DOS-stasjon, og det fantes mange historier om mislykkede BIOS-oppdateringer som gjorde PC-ene ubrukelige.

Situasjonen har endret seg. UEFI-fastvaren har langt flere funksjoner, og Intel har gitt ut flere store oppdateringer de siste årene, som CPU-mikrokode og Intel ME. Når Intel publiserer en slik oppdatering, er det eneste de kan si «spør datamaskinprodusenten». Datamaskinprodusenten, eller hovedkortprodusenten hvis du har bygget din egen PC, må ta koden fra Intel og integrere den i en ny versjon av UEFI-fastvaren. Deretter må fastvaren testes. Og hver produsent må gjennomføre denne prosessen for hver enkelt PC de selger, siden de alle har forskjellig UEFI-fastvare. Dette er en manuell prosess som har gjort Android-telefoner vanskelige å oppdatere tidligere.

I praksis betyr dette at det ofte tar lang tid, ofte flere måneder, å få kritiske sikkerhetsoppdateringer som må leveres via UEFI. Produsentene kan velge å ikke oppdatere PC-er som bare er noen få år gamle. Og selv når produsenter lanserer oppdateringer, er disse ofte vanskelige å finne på produsentens supportsider. De fleste PC-brukere vil aldri oppdage at UEFI-fastvareoppdateringer eksisterer og installere dem. Dermed forblir disse sårbarhetene eksisterende i lang tid. Noen produsenter krever fortsatt at fastvareoppdateringer installeres ved å starte opp i DOS, noe som gjør prosessen enda mer komplisert.

Tiltak for å forbedre situasjonen

Dette er et problem. Vi trenger en mer strømlinjeformet prosess der produsenter enkelt kan lage nye UEFI-fastvareoppdateringer. Vi trenger også en bedre prosess for å distribuere disse oppdateringene, slik at brukerne kan få dem installert automatisk på sine PC-er. Prosessen er for tiden treg og manuell, og den bør være rask og automatisk.

Dette er hva Microsoft forsøker å oppnå med Project Mu. Her er hvordan offisiell dokumentasjon forklarer det:

Mu er basert på ideen om at utvikling og vedlikehold av et UEFI-produkt er et kontinuerlig samarbeid mellom flere partnere. Altfor lenge har industrien produsert produkter ved å bruke en «forking»-modell kombinert med kopiering, liming og omdøping, og for hvert nytt produkt har vedlikeholdsbyrden økt til et nivå der oppdateringer er nesten umulige på grunn av kostnader og risiko.

Project Mu har som mål å hjelpe PC-produsenter med å utvikle og teste UEFI-oppdateringer raskere ved å forenkle UEFI-utviklingsprosessen og tilrettelegge for samarbeid. Forhåpentligvis er dette den manglende biten, siden Microsoft allerede har gjort det enklere for PC-produsenter å sende UEFI-fastvareoppdateringer til brukerne automatisk.

Microsoft gir PC-produsenter muligheten til å distribuere fastvareoppdateringer gjennom Windows Update, og har publisert dokumentasjon om dette siden minst 2017. Microsoft annonserte også Component Firmware Update, en åpen kildekode-modell som produsenter kan bruke til å oppdatere UEFI og annen fastvare, tilbake i oktober 2018. Hvis PC-produsenter tar i bruk dette, kan de levere fastvareoppdateringer til alle sine brukere veldig raskt.

Dette er ikke kun relevant for Windows. Innen Linux-miljøet jobber utviklere med å gjøre det enklere for PC-produsenter å distribuere UEFI-oppdateringer gjennom LVFS, Linux Vendor Firmware Service. PC-leverandører kan laste opp sine oppdateringer, og de vil være tilgjengelige for nedlasting i GNOME-programvaren, som brukes på Ubuntu og mange andre Linux-distribusjoner. Dette initiativet startet tilbake i 2015. Store PC-produsenter som Dell og Lenovo deltar i arbeidet.

Disse løsningene for Windows og Linux har også innvirkning på mer enn bare UEFI-oppdateringer. Maskinvareprodusenter kan benytte dem for å oppdatere alt fra USB-mus-fastvare til fastvaren på SSD-er i fremtiden.

Som SwiftOnSecurity påpeker angående problemer med fastvare og kryptering for SSD-er, kan fastvareoppdateringer være pålitelige. Vi må forvente mer av maskinvareprodusenter.

Fastvareoppdateringer kan være pålitelige. Jeg har gjennomført minst 3000 Dell BIOS-oppdateringer med bare én feil, og den gamle PC-en hadde allerede problemer.

Tenk nytt om hva du tror er umulig. Fastvare-service er verken umulig eller risikabelt. Det krever at folk krever bedre.

— SwiftOnSecurity (@SwiftOnSecurity) 6. november 2018

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