For første gang har Intel direkte sagt at der er et sikkerhedsproblem i deres micrcode.
Intel er generelt ikke særlig informativ om deres microcode updates, eller hvad de gør godt for, men det seneste update indeholder tilsyneladende dette fix:
- It fixes a critical erratum, classified by Intel as a security issue, that affects any server running 32-bit VMs in PAE mode.
Erratum AAK167/BT248: "If a logical processor has EPT (Extended Page Tables) enabled, is using 32-bit PAE paging, and accesses the virtual-APIC page then a complex sequence of internal processor micro-architectural events may cause an incorrect address translation or machine check on either logical processor. This erratum may result in unexpected faults, an uncorrectable TLB error logged in IA32_MCI_STATUS.MCACOD bits [15:0], a guest or hypervisor crash, or other unpredictable system behavior"
("Unpredictable system behaviour" er et gammelt IBM-opfundet kodeord for "Vi bliver sagsøgt hvis vi siger mere")
Rygterne er allerede begyndt at vælte rundt om det er en NSA backdoor osv.
I de første computere var mikrokoden ikke modificerbar, f.eks er den på GIER lavet ved at kobbertråde render igennem eller udenom ferritringe:
Senere fandt IBM ud af at det var nemmere rette fejl hvis man kunne hente den på et anstændigt datamedie og det har de gjort lige siden på deres mainframes.
Mikrokode er et fænomen der i stort omfang hører CISC arkitektur til.
Ikke at man ikke kan lave CISC i "random logic", Zilogs Z8000 var et eksempel på det modsatte, men også et glimrende financielt eksempel på hvorfor det ikke giver mening: Det er dyrt at debugge silicium.
RISC arkitekturer er derimod ofte, men ikke altid, mikrokodefri, af den simple årsag at mikrokode i bund og grund tager mere tid end "random logic".
(For de nørdede: Mikrokodemanualen til RC3803)
Intels "microcode updates" opstod efter den berømte FDIV pentium fejl og det har sparet Intel for mange CPU ombytninger siden.
Iflg det der er offentliggjort har Intel gjort sig umage for at undgå at andre kan hacke deres mikrokode, den er efter sigende både krypteret og signeret og der er noget der tyder på at det er rigtigt.
Der er mange ting vi ikke ved om Intels microcode updates, f.eks helt basalt om vi kan stole på Intels gode hensigter ?
I det nuværende miljø, "post-Snowden" er svaret et rungende "nej", indtil det modsatte bliver bevist.
Men kan vi selv bevise det ?
Det første vi kan kigge på, er størrelsen.
Med typisk 4Kbyte er det ret begrænset hvad et microcode update kan indeholde, specielt hvis der også skal være plads til en kryptografisk signatur.
Det udelukker naturligvis ikke at mikrokoden med et enkelt bit enabler en NSA_BACKDOOR_PROCESSOR, men denne skal i givet fald allerede have sit program på chippen fra fabrikken og dette program skal være i stand til at navigere alle mulige potientielle I/O devices for at få kontakt til omverdenen, eller alternativt, kunne genkende videnskabelige beregninger af atomvåben og sabotere dem.
Det første er mindre svært end man tror, fordi rigtig mange CPU'er kommer med højintegrerede chipsets, inklusive ethernet osv.
Men hvis man skulle lave en silicium-baseret bagdør, ville det faktisk være nemmere at gøre det i chipsettet eller ethernet chippen, hvor man langt nemmere kan få adgang til alt netværkstrafikken, end man kan på CPU'en, hvor man først skal gennemskue hvilket operativsystem det er og derefter rode og rage i netværksstakken.
Tag en småkage, hvis du kigger skeptisk på "Wake-On-LAN" eller de mere og mere obskure "remote management" settings i din BIOS.
Tag to hvis du indser at du kun giver en anbefaling desangående.
Moderne Ethernet chips er komplexe, Intels i82599 har et "datablad" på ca. 1000 sider og det er stadig utroligt sparsomt med oplysninger, man er oftest nødt til at læse Intels kodeexempler for at gennemskue hvad der foregår.
Derfor er min personlige konklusion at Intels Microcode updates ikke udgør en trussel: Det er formodentlig præcis hvad det siger på pakken: Mikrocode patches.
Men det overordnede problem, om Intel eller for den sags skyld AMD platforme er til at stole på, eller om der ligger små spioner gemt i hardwaren, er overhovedet ikke afklaret og kan ikke realistisk afklares, med mindre man sætter sig og reverse-engineer hver enkelt chip optisk, med noget skrap kemi.
Tilbage i 1980erne rasede der en sand ordkrig imellem fortalere for RISC og CISC, hvad var bedst, hvad var hurtigst osv.
Idag er der reelt set ikke nogen RISC processorer på markedet, alle arkitekturer der har overlevet er blevet CISC: Siliciumlogik ikke bliver hurtigere og derfor er komplexitet den eneste måde at viderudvikle chippen til højere performance.
ARMs "thumb2" instruktionssæt er et godt eksempel, det er en prostituering af ARM's flotte RISC design.
Der burde være en "market opportunity" lige nu, for et RISC design (eller CISC uden skrivbar mikrokode) der er helt åbent, helt ned til maskeniveau og som derfor med relativt simple midler kan verificeres til at være NSA-frit.
Ideen er hermed givet videre.
phk

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.