Reflektioner om at stole på hardware

Min ven John Hartmann sagde engang for rigtig mange år siden noget i stil med "Så længe CPU'en følger manualen kan man altid finde fejlen".

Dengang handlede det om en IBM 360 mainframe, men hans observation rinder mig I hu i anledning af dagens shitstorm.

Mange af jer har i de senere år hørt mig sige noget i stil med "Man kan ikke som forbruger købe en computer man kan stole på."

Man kan ikke få adgang til den komplette og præcise dokumentation for en moderne CPU, uanset hvor lidt CPU kraft man er villig til at nøjes med.

I for trivielle CPUer, Arduino-størrelsen, kan man komme tæt på komplet og præcis dokumentation ved at skrive under på en urimeligt restriktiv NDA aftale og en ordre på ikke under 10.000 chips.

For CPU'er i den performanceklasse, der bruges i smartphones, tablets, laptops og servere, eksisterer der ikke engang en komplet og præcis dokumentation til at begynde med.

"Dokumentationen" er kildeteksten (VHDL/Verilog) til chippen.

Hvis man har eller kan låne passende imponerende brevpapir, kan man stille og få besvaret præcise, begrænsede meget specifikke tekniske spørgsmål fra leverandørene, ved at en af deres medarbejdere graver ned i den pågældende VHDL-fil og prøver at finde ud af, hvad der foregår.

Nogle chip-producenter indføjer så dette spørgsmål og svar i produktmanualen - jeg fik engang manualen for en ethernet chip til at vokse så den kom over 1000 siders PDF.

Ja: over 1000 sider PDF for en ethernet-chip og den manual vokser stadig.

Chipdesignere er ikke dumme, nogle gange er den nemmeste måde at løse et problem at bruge en computer og derfor indeholder den pågældende ethernet chip "et antal" 8051 lignende macro-celler, der udfører små programmer som er hardkodet i chippens silicium.

Nogle gange er en 8051 kerne åbenbart ikke nok, for Intel CPU'ers "Management Engine" er en komplet i486 klasse maskine, der kører en lukket og låst version af MINIX3.

Reverse engineering har afsløret af denne i486 CPU har ca. et halvt hundrede I/O enheder, inde i CPU-chippen, men vi ved ikke hvad deres funktion er.

Intels "Management Engine" kan f.eks bruges til at opdatere Windows på en virksomheds laptops, selvom disse laptops ligger slukket, ikke bare "suspendet", men slukket, i bagagerummet i en bil parkeret i en lufthavn.

Set på overfladen er det fantastisk, ikke mindst i forhold til computere, der bliver stjålet, men kigger man under overfladen opdager man, at det er Intel, og ikke virksomheden selv, der har denne adgang.

De to-tre ny fejl som Google/Zero har afsløret her til morgen er nærmest en ligegyldig lillebitte detalje: Chip-designerne har besluttet sig for at de i den hellige performance's navn kan tillade sig at begynde at eksekvere instruktioner som programmøren endnu ikke har bedt dem om at udføre.

... hvad enten det faktisk er instruktioner eller ej. Denne note burde for længst have fået alarmklokkerne til at ringe hos alle der læste den:

https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-... Intel's optimization manual has many interesting pieces of optimization advice that hint at relevant microarchitectural behavior; for example:

"Placing data immediately following an indirect branch can cause a performance problem. If the data consists of all zeros, it looks like a long stream of ADDs to memory destinations and this can cause resource conflicts and slow down branch recovery. Also, data immediately following indirect branches may appear as branches to the branch predication [sic] hardware, which can branch off to execute other data pages. This can lead to subsequent self-modifying code problems."

Intel sidder på de fleste patenter i dette område, det er derfor AMD og ARM kun i begrænset omfang er ramt.

Men det er som sagt en ligegyldig detalje, det vigtige er hvor langt vi er fra John Hartmanns observation:

Ikke alene følger CPU'en ikke manualen nu om dage, manualen eksisterer overhovedet ikke til at begynde med, og CPU'en, ethernet-chippen og utvivlsomt mange andre chips, er ikke ikke engang under vores fulde kontrol.

Eller som en CIO formulerede det efter min præsentation:

"Det du siger er at alle vores computere er ligesom en Cloud, vi har bare endnu mindre kontrol med hvad der foregår?"

"Ja."

phk

Kommentarer (39)
Yoel Caspersen Blogger

Hvis man skal prøve at drage en overordnet konklusion, er det vel, at IT-sikkerhed er en god ide, som dog ikke findes p.t.

Alt hvad der i dag opfattes som IT-sikkerhed, er i praksis sikkerhedsteater i stil med de ydmygende ritualer i enhver lufthavns security-check, som kun fanger de mest håbløse amatører og generer en masse andre i processen.

Så PHK, hvad er din anbefaling? Skal vi opgive, fordi det er håbløst? Skal vi stemme på nogen, der kan gøre noget ved det, og i så fald, hvem? Skal vi købe hardware designet og produceret i lande uden for PRISM, for at danne en modvægt til den indbyggede spionage hardwaren, vi bruger i dag - og findes den slags overhovedet?

Kort sagt: Kan vi som borgere, virksomheder og IT-branchen som helhed gøre noget, eller er løbet kørt?

Poul-Henning Kamp Blogger

Så PHK, hvad er din anbefaling?

Min anbefaling til topchefer og andre med strategisk vigtig information har i lang tid været at købe en lille notesblok og en god kugle/fyldepen. Det skalerer naturligvis ikke til alle opgaver, men sikkerhed er også en relativ ting.

Det siger sig selv at alle computere burde fjernes fra Slotsholmen og ministerierne. (Har MF'erne stadig mobiltelefoner med til møder i Kontroludvalget ?)

Mere generelt: Først og fremmest skal vi have indført produktansvar i computerverdenen.

Situationen hvor man "sælger" noget som køberen ikke får 100% kontrol over, men bliver 100% ansvarlig for er hverken holdbar, retfærdig eller sikker.

Intel bør f.eks være ansvarlig for alle direkte og indirekte skader forvoldt med eller via de interfaces de ikke har dokumenteret og/eller ikke givet køberen af chippen 100% kontrol over.

Ligeledes bør softwarebranchen ifalde produktansvar for deres skrammel.

Se: http://queue.acm.org/detail.cfm?id=2030258

Dan Geer gik endnu videre i 2014, bla. tænkte han nøjere over IoT end jeg gjorde i 2011:

http://geer.tinho.net/geer.blackhat.6viii14.txt

Simon Mikkelsen

Efterhånden som jeg læste PKS artikel, begyndte et dystert og opgivende indlæg at forme sig i mit hoved. Yoel beskrev dog mine tanker så godt, at det er dækkende. Men hvad pokker skal vi gøre? Selv hvis man gør som Richard Stallman og får fat i en maskine der kan køre en fri software BIOS med et passende fri software OS, har man jo ikke en chance.

Sikkerhed er stadig godt. Det beskytter i rimelig grad mod almindelige kriminelle, men når globale virksomheder eller større nationer vil til bordet, er vi forsvarsløse.

Malik Taaning

Digitaliseringsstyrelsen har netop udgivet en ny guide til 'sikkerhed på nettet'.

https://www.borger.dk/sikkerp%C3%A5nettet

Der har været flere kritiske omtaler af den - men denne her situation belyser meget godt hvor svært det er som almindelig borger (for ikke at tale om it-analfabeter) at gebærde sig i den moderne IT verden.

Der er nok at beskytte sig i mod.

Ivo Santos

Skulle EU parlamentet beslutte sig for at boykotte alle typer af amerikansk designet elektronik, så er det lige før at vi i EU ville skulle starte med en 286 pc, eller måske en 386, eller hvad ved jeg, da vi i EU så godt som hverken designer eller producere hverken processorer eller andre typer chips ud udover hvad der benyttes til satellitter.

Så det der med en pc som forbrugerne har fuldt kontrol er ikke realistisk på nuværende tidspunkt, og der er nok heller ikke ret mange som har lyst til at vende tilbage til elektronik fra hverken 60'erne, 70'erne, eller måske start 80'erne, så løsningen er nok at EU stiller strengere krav til producenterne af både hardware og software.

Poul-Henning Kamp Blogger

Nu er "britiske" ARM så ejet 100% af japanske SoftBank siden 2016 så deeet.... :-)

Korrekt, men giver det nogen grund til at tvivle på det designarbejde der gik forud ?

Når jeg pegede på ARM var det mest fordi man rent politisk kunne pege på den som "Lavet i EU".

Personligt mener jeg at ARM arkitektonisk kørt af sporet med deres Thumb2 extension, men jeg vil stadig meget hellere have en ARM chip end X86, som jeg anser for 100% umulig at stole på.

Hvis Intel & AMD havde været markedsdrevne, ville de have tilføjet support for AES algoritmen allerede dengang den blev udnævnt. At de ikke gjorde det før VIA (fra Taiwan) gjorde det, kan alene forklares ved at nogen {be|over}talte dem til ikke at gøre det.

Dermed er næste spørgsmål uafvendeligt: Hvad er de ellers blevet {be|over}talt for at gøre i de milliarder af transistorer der gør det praktisk umuligt for 3.part at lave et audit ?

Jim Pedersen

PHK har ret.

Computere af en hvilken som helst slags er kun sikker uden strøm, udtalelse fra FE

En skrivemaskine kan data også tages fra om den er elektrisk eller ej, man skal bare vide hvilket model det er og så aflytte rummet så kender man data.

Kuglepen/fyldepen er nok det mest sikre, hvis man passer på at der ikke er gennemslag til næste side, men det har vi jo alle lært i skolen, når en hemmelig besked blev afsløret ved gennemslag suk lærte ikke noget om kryptologi i folkeskolen.

/Jim

Martin Bøgelund

Man kan ikke få adgang til den komplette og præcise dokumentation for en moderne CPU, uanset hvor lidt CPU kraft man er villig til at nøjes med.

Så må man jo bygge én selv, og genstarte IT-revolutionen fra scratch.

Jo, det kan lade sig gøre, selvom det vil tage lang tid.
Nej, hvis du ikke mener det er umagen værd, så er problemet ikke stort nok.
Nej, du får ikke hjælp fra politikere eller virksomheder, for der er hverken penge eller stemmer i frihed.

Troels Henriksen

Kuglepen/fyldepen er nok det mest sikre, hvis man passer på at der ikke er gennemslag til næste side

Fyldepenne kræver mindre pres mod papiret, hvilket mindster risikoen for gennemslag, så den paranoide kan passende fortrække disse frem for kuglepenne. De er også rarere at skrive med, og man kan vælge sære blækformer der har sikkerhedsmæssigt nyttige egenskaber.

Ditlev Petersen

Man bruger kun et ark og har det liggende på en hård bordplade. Og en fyldepen.

Meen så skal man også lige se rummet efter, om der er skjult hemmelige kameraer inkl. det i den bærbare.

Men ja, en fyldepen er dejlig at skrive med, og bortset fra en opfyldning af og til, så skriger den ikke hele tiden på at skulle opdateres eller genstartes. Og den kan fås for det halve af en brugt computer.

Jim Pedersen

Sidder og overvejer om ikke jeg skal gå i kælderen og sætte strøm til min gode gamle Power6+ 4,7 Ghz maskine er vist nok den enste som er bygget til in-order, den bliver dog lidt tung hvis den skal bruges som mobil cpu da den er bygget på 65nm :-)

Ditlev Petersen

Så må man jo bygge én selv, og genstarte IT-revolutionen fra scratch.
Jo, det kan lade sig gøre, selvom det vil tage lang tid.
Nej, hvis du ikke mener det er umagen værd, så er problemet ikke stort nok.

Tanken er underholdende. Man er vel næsten nødt til at bygge den af diskrete komponenter.

Kan I huske i de gamle dage, hvor man sad uden netopkobling med sin mikrodatamat/hjemmecomputer, kørende på en Z80, en 8080, 6502 eller 6510? Sikker mod overvågning og hackning.

Mens naboen bare tændte for sit fjernsyn med en lille god retningsfølsom antenne på kanal (var det 36?) og så med på fjernsynssignalet, der strålede voldsomt ud til alle sider.

Martin Kristiansen

Sidder og overvejer om ikke jeg skal gå i kælderen og sætte strøm til min gode gamle Power6+ 4,7 Ghz maskine er vist nok den enste som er bygget til in-order, den bliver dog lidt tung hvis den skal bruges som mobil cpu da den er bygget på 65nm :-)

In-order CPUer spekulerer også (branch prediction og data prefetch). F.eks er Cortex A8 sårbar for nogle af disse side-channel attacks.

AMD er resistent imod Meltdown fordi de ikke spekulerer en hukommelse-reference hvis referencen er til et højere privilegieniveau.

Jørn Madsen

Jeg hørte allerede i slut-90'erne om parolen i nogle firmaer på ledelses niveau:
"Møder om vigtige og fortrolige emner bør holdes i lokaler uden tilstedeværelse af nogen elektroniske genstande. Aftaler bør skrives i hånden og transporteres af kurér".

Jeg har en grim fornemmelse af, at man har glemt disse forsigtighedsregler,- også på politisk niveau.

Ditlev Petersen

Vi gik lige i tidlig fredags-mode her. Det er jo faktisk ikke så slemt for cpu-fabrikkerne. For det må da betyde, at man er nødt til at købe en noget større cpu, end man egentlig havde regnet med, når man skal købe nyt.

Og den nye generation til afløsning af Coffee Lake bliver Schnapps Sumpf.

Povl H. Pedersen

Vi har produktansvar i dag.
Der er bare ikke kørt mange sager mod Microsoft, Intel m.m..
Men hvis man lider tab som følge af en 0-day, så burde man allerede i dag have krav på erstatning.
Hvis Intels nye patch koster performance, så burde man kunne reklamere og få et afslag i prisen med tilbagevirkende kraft.

Poul-Henning Kamp Blogger

Vi har produktansvar i dag.

Kun i teorien og kun for hardware der exploderer eller tænder ild i huse.

Software "licenseres", der er ikke tale om salg og derfor er der ikke nogen form for produktansvar.

Men hvis man lider tab som følge af en 0-day, så burde man allerede i dag have krav på erstatning.

Held og lykke med den sag!

Har du faktisk læst nogen af de mange hundrede sider licensbetingelser du har godkendt ved at smide papiret i skraldespanden eller ved utålmodigt klikke "Jeg Accepterer" ?

Erstatningsansvaret er altid begrænset til at de vil sende dig en kopi af den præcis samme software, for det tilfældes skyld at din CD har en ridse.

Hvis Intels nye patch koster performance, så burde man kunne reklamere og få et afslag i prisen med tilbagevirkende kraft.

Hvilket naturligvis er baggrunden for at deres press-release starter med at fastslå at CPU'erne virker som de skal.

Du kan dog næppe sparke dig vej frem til en domstol i USA her til morgen fordi alle landets advokater prøver at få fingre i det klasse-søgsmål denne sag kaster af sig.

Bjarke Jørgensen

Jeg kopierer lige en kommentar jeg skrev til sagen om performance i gamle Apple-telefoner - jeg synes den er ligeså relevant her.

"Fordi vi lever i en tid hvor brugeren vil/bliver tilvænnet til så lidt information som muligt. Folk vil have ting der fungerer uden forklaring, de vil ikke vide tekniske spidsfindigheder og læse tunge manualer (grov generalisering). På den baggrund kan man ikke klandre Apple. Men det er en uheldig udvikling, for når den tekniske indsigt viger for funktionel stabilitet bliver folk dummere. Og når folk bliver dummere åbner der sig døre for folk med... uheldige hensigter."

Jeg havde engang en Casio lommeregner fra slut 80'erne med en manual på 200-300 sider. Hvis jeg køber en CPU med 8 kerner idag får jeg knap nok papir med.

Simon Rigét

Det næste skridt er et kæmpe stort skridt. Det kræver store ændring i vores kultur og tænkemåde, (Måske mindre for skandinaver end mange andre) men det er den logiske vej frem:

Det åbne samfund, hvor alle må stå inde for det de gør, siger og skriver. Hvor hemmeligheder kun er midlertidige.

I sidste ende må samfundenes magtinstanser beskytte sine borgere, og give dem retssikkerhed. Dette er naturligvis kun hvis verden beslutter sig for, at gå mod bedre tider. Det gør den jo ikke altid.
Det er dog så stort et skridt, at vi nok kommer til at lave nogle prøve hop i alle mulige retninger først. Eller som en vis statsleder engang sagde, om en anden stat: "De gør altid det rigtige, når de har prøvet alt andet"

Log ind eller Opret konto for at kommentere