Husker du sikkerhetsutnyttelsene Spectre og Meltdown fra i fjor? Intel og AMD håper virkelig du ikke gjør det. Til tross for hva de vil at du skal tro, forsvinner ikke disse spekulative henrettelsesutnyttelsene, i hvert fall ikke med løsningene som er foreslått så langt.
Innhold
- Starter fra roten
- Omgås Spectre
- Sikkerhet, men til hvilken pris?
- Stort, lite og trygt
- Å bringe det til massene
I stedet for å prøve å fikse hver variant som kommer, vil en permanent løsning kreve en grunnleggende endring av hvordan CPUer er utformet. Forslaget? En "sikker kjerne" som sørger for at dataene dine forblir trygge mot angripere, uansett hvilke feil de prøver å utnytte.
Anbefalte videoer
Det er kanskje ikke ruten disse store prosessorselskapene ønsker å ta, men det kan være den eneste som faktisk fungerer.
I slekt
- AMDs forsvar mot Spectre V2 kan være utilstrekkelig
Starter fra roten
Når en ny generasjon prosessorer lanseres, er det første spørsmålet på noens lepper: "hvor rask er den?" Flere megahertz, flere kjerner, mer cache, alt for å få applikasjoner til å kjøre raskere og spill prestere bedre. Sekundære hensyn kan være strømbehov eller varmeeffekt, men det er sjelden noen spør om sikkerhet.
Forstå Spectre og Meltdown
Problemet med det er at ytelsesforbedringene de siste årene stort sett har vært drevet av spekulativ prediksjon, det vil si at CPU-er gjetter på hva du skal gjøre videre og klargjør alt du kan trenger det. Det er flott for ytelsen, men som Spectre og variantene har vist, er det forferdelig for sikkerheten.
“Spekulativ henrettelse har vært en ytelsesoptimaliserende funksjon for CPUer i lang tid nå, sier Malwarebytes senior sikkerhetsundersøkelse, Jean-Philippe Taggart, til Digital Trends. Han forklarte hvordan det er nettopp denne funksjonen som gjør Intel og andres prosessorer sårbare for Spectre og lignende angrep. "CPU-arkitektur vil trenge en seriøs revurdering, enten for å beholde disse ytelsesforbedringene, men beskytte dem mot angrep som Spectre, eller for å fjerne dem helt," sa han.
"Det er vanskelig i sikkerhet hvis du alltid er reaktiv, må vente på sikkerhetssårbarheter og deretter fikse dem"
En potensiell løsning er å legge til en ny maskinvare til kommende generasjoner av CPUer. I stedet for å håndtere sensitive oppgaver (som gjør slike angrep verdt) på prosesseringskjerner med høye hestekrefter, hva om brikkeprodusenter kombinerte disse kjernene med en ekstra kjerne som er spesielt designet med slike oppgaver i tankene? En sikkerhetskjerne.
Å gjøre det kan gjøre Spectre og dens varianter til et ikke-problem for ny maskinvare. Det ville ikke ha noe å si om morgendagens viktigste CPU-kjerner var sårbare for slike angrep, fordi privat eller sikker informasjon ikke lenger ville bli håndtert av disse kjernene.
Dette roten til tillit-konseptet er mer enn bare en grov skisse. I noen tilfeller er det allerede et levedyktig produkt, og alle store brikkeselskaper som Intel eller AMD må gjøre for å dra nytte av det, er å adoptere det.
Omgås Spectre
"Det er vanskelig i sikkerhet hvis du alltid er reaktiv, må vente på sikkerhetssårbarheter og deretter fikse dem," Rambus' seniordirektør for produktledelse, Ben Levine fortalte Digital Trends, da han ble spurt om pågående Spectre-variant trusler. "Det problemet med å prøve å gjøre en kompleks prosessor sikker er virkelig den vanskelige måten. Det var der vi kom opp med tilnærmingen med å flytte sikkerhetskritisk funksjonalitet til en egen kjerne.»
Selv om det ikke er den første som foreslår en slik idé, har Rambus foredlet den. Det er CryptoManager Root of Trust er en egen kjerne som vil sitte på en stor CPU-matrise, litt som big.little-konseptet som finnes i mange mobile prosessorer og til og med Intels egne nytt Lakefield-design. Der disse brikkene bruker mindre kjerner for strømsparing, vil en sikker kjernerot av tillit fokusere på sikkerhet fremfor alt annet.
Den ville kombinere en prosessor uten spekulasjonsaspektene til store CPU-er, med akseleratorer for kryptografi og sitt eget sikre minne. Det ville være en relativt enkel design sammenlignet med de monstrøse generelle CPU-ene som kjører datamaskinene våre i dag, men det ville være langt sikrere.
Ved å beskytte seg selv kan den sikre kjernen ta på seg de mest sensitive oppgavene en ellers generell CPU-kjerne vanligvis vil håndtere. Sikring av krypteringsnøkler, validering av banktransaksjoner, behandling av påloggingsforsøk, lagring av privat informasjon i sikkert minne eller kontroll av oppstartsposter har ikke blitt ødelagt under oppstart.
"... Disse operasjonene er relativt trege å utføre i programvare, men en sikkerhetskjerne kan ha maskinvareakseleratorer for å gjøre det mye raskere."
Alt dette kan bidra til å forbedre den generelle sikkerheten til et system som brukte det. Enda bedre, siden den ville mangle spekulative ytelsesforbedringer, ville den være helt sikker mot Spectre-lignende angrep, og ugyldiggjøre dem. Slike angrep kan fortsatt pålegges hoved-CPU-kjernene, men siden de ikke ville håndtere data som ville være verdt å stjele, ville det ikke ha noe å si.
"Ideen er ikke å komme opp med én CPU som kan gjøre alt for å være veldig rask og være veldig sikker, men la oss optimere forskjellige kjerner separat for forskjellige mål," forklarte Levine. "La oss optimere vår primære CPU for ytelse eller lavere effekt, uansett hva som er viktig for det systemet, og optimalisere en annen kjerne for sikkerhet. Vi har nå disse to separat optimaliserte behandlingsdomenene og utfører prosessering i den av disse som er mest hensiktsmessig gitt egenskapene til beregningen og systemet i tankene.»
En slik kjerne vil fungere litt som T2-koprosessorbrikken Apple introduserte med sin iMac, og senere implementert i 2018.
Sikkerhet, men til hvilken pris?
Det sies ofte at kompleksitet er sikkerhetens fiende. Det er derfor den sikre kjernedesignen Rambus foreslår er relativt enkel. Det er ikke en stor, monstrøs brikke med flere kjerner og høy klokkehastighet som typiske prosessorer som finnes på stasjonære eller bærbare datamaskiner.
Så, betyr det at vi ville ofre ytelse hvis en slik kjerne skulle brukes sammen med en moderne brikke? Ikke nødvendigvis.
Det viktige med hjem fra ideen om en sikker kjerne, enten det var Rambus’ CryptoManager Root of Trust, eller et lignende design fra et annet firma, er at det bare ville utføre oppgaver som var fokusert på personvern eller sikkerhet. Du trenger ikke det for å ta over matingen din grafikkort under en spilløkt, eller finjustering av bilder i Photoshop. Du foretrekker kanskje at det håndterer kryptering av meldingene dine over en chat-app. Det er der den spesialiserte maskinvaren kan ha noen fordeler utover sikkerhet.
"Ting som kryptografiske algoritmer, kryptering eller dekryptering fra en algoritme som AES, eller bruk av en offentlig nøkkelalgoritme som RSA eller elliptisk kurve, disse operasjonene er relativt trege å gjøre i programvare, men en sikkerhetskjerne kan ha maskinvareakseleratorer for å gjøre det mye raskere,» Levine sa.
"Vi skyter for enkelhet, og hvis du holder noe enkelt, holder du det lite. Hvis den er liten, er den lav effekt."
Det er noe Arms leder for IoT-sikkerhet, Rob Coombs, er veldig enig i.
"Typisk vil root of trusts bygge inn en kryptoakselerator, så det krever litt mer silisium, men fordelen med det er at det er høyere ytelse for ting som kryptofunksjoner, så du er ikke avhengig av bare prosessoren for å utføre vanlig kryptering av filen,» sa. "Prosessoren kan sette den opp og deretter kan kryptomotoren knaske gjennom dataene og kryptere eller dekryptere dem. Du får høyere ytelse."
Moderne prosessorer fra slike som Intel har egne krypto-akseleratorer, så der er det kanskje ikke slik at kryptering eller dekryptering vil være grunnleggende raskere enn en generell CPU som fullfører den samme oppgaven, men det kan være sammenlignbare.
Selv om Coombs fremhevet i chatten med oss at en kjerne av tillit ville kreve litt ekstra silisium å produsere, men kostnadene for å gjøre det på andre viktige faktorer som produksjonsprisen, strømtrekket til brikken, eller dens termiske utganger, vil stort sett være upåvirket.
Rambus' Ben Levine var enig.
"Sikkerhetskjernen er bare liten i forhold til alt annet," sa han. "Det er egentlig ingen betydelig innvirkning på kostnadene for brikken, strøm eller termiske krav. Du kan gjøre mye på et ganske lite logisk område hvis du designer det nøye. Vi søker etter enkelhet, og hvis du holder noe enkelt, holder du det lite. Hvis den er liten, er den lav effekt."
Hans eneste forbehold var at i mindre enheter med lav effekt som de som brukes i IoT, ville Rambus' sikre kjerne ha større innvirkning på kraft og kostnader. Det er her Arms mer modulære tilnærming kan komme inn.
Stort, lite og trygt
Arm var en tidlig pioner innen ideen om stort.lite CPUer, eller store kjerner og små kjerner i samme prosessor. I dag er det en vanlig funksjon i mobile enheter fra Qualcomm og Apple også. Den ser større CPU-kjerner som brukes til tunge løft etter behov, mens mindre kjerner håndterer de mer vanlige oppgavene for å spare strøm. Arms tilnærming bygger på ideen om å bygge root of trust inn i hovedbrikker, så vel som mye mindre mikrokontrollere for bruk i et bredere spekter av enheter.
"Vi har definert noe som kalles a PSA (plattformsikkerhetsarkitektur) rot av tillit med noen viktige sikkerhetsfunksjoner innebygd som kryptografi, sikker oppstart, sikker lagring; Hver IOT-enhet vil trenge disse," forklarte Coobs til Digital Trends.
Av alle de store brikkeprodusentene var Arm uten tvil minst påvirket av Spectre og Meltdown. Der Intel var sårbart for det bredeste utvalget av potensielle angrep og AMD måtte gi ut en rekke mikrokoder og programvarejusteringer, var Arm i stand til å støtte opp sitt allerede robuste forsvar før spekulative utførelsesfeil ble avslørt.
Nå fokuserer Arm på å sikre tingenes internett. Coombs mener at en sikker kjerne, rot av tillit er en av de beste måtene å gjøre det på, og han ønsker å se alle IoT-enheter implementere et slikt system. For å bidra til å oppnå det tilbyr Arm åpen kildekode-programvare, utviklingsveiledning og maskinvareløsninger for sikkerhetsproblemene dagens IoT-utviklere står overfor.
.. Mye av bruken av sikkerhetskjernen vil skje på OS- og systemnivå og ikke på applikasjonsnivå
"Vi har laget en åpen kildekode og referanseimplementering, og nå med PSA-sertifisert har vi laget en flernivås sikkerhetsordning [der] folk kan velge sikkerhetsrobustheten de trenger," sa Coombs. «Ulike systemer trenger forskjellige mengder sikkerhet. Vi ønsker å gjøre det tilpasset IoT-området.»
Ved å bruke disse prinsippene på større, generelle CPU-er som finnes i bærbare og stasjonære datamaskiner, ville sluttresultatet ikke være drastisk annerledes. Selv om slike sjetonger ikke ville ha de små kjernene sammen med de store, kunne de implementere en sikker kjerne på terningen uten for store problemer, ifølge Rambus’ Ben Levine.
"Disse kjernene bør være og må være mye mindre enn en av de viktigste store CPU-kjernene du får i en brikke fra Intel eller AMD," sa han. "Det vil ikke være syv pluss én, det vil være åtte eller hvilken som helst kjerneprosessor og en eller kanskje mer enn én, liten sikkerhetskjerne som gir sikkerhetsfunksjoner for alle de andre kjernene."
Avgjørende også, slike kjerner ville ikke engang være kompliserte å implementere.
"Vi kommer ikke til å legge mye til brikkedesignsyklusen med å få en ny brikke inn i et forbrukerprodukt," sa han. «Vår innvirkning kommer til å være ganske minimal. Det kommer bare til å være den normale produktlivssyklusen for å få en utvikling av brikkearkitektur i produksjon, og deretter til å sende produkter."
Å bringe det til massene
Sikkerhet kan være et kylling- og egg-problem, med utviklere som ikke er opptatt av å implementere det uten et spesifikt behov eller krav fra kunder. Men hvis maskinvareprodusenter skulle kombinere sine eksisterende CPU-kjerner med en sikker kjernerot av tillit, ville jobben til programvareutviklere vært relativt enkel.
"Avhengig av applikasjonen vil mye av bruken av sikkerhetskjernen gjøres på OS- og systemnivå og ikke på applikasjonsnivå," forklarte Levine. "Hvis du bygger operativsystemet og den generelle systemprogramvaren riktig, kan du bruke det meste av sikkerhetsfunksjonaliteten uten at applikasjonsutviklere trenger å bekymre seg for det. Du kan tilby APIer for å avsløre noen av sikkerhetskjernefunksjonaliteten som enkelt kan brukes av applikasjonsutvikleren, som kryptering og dekryptering av data."
Ved å inkorporere roten til tillit i selve maskinvaren, og overlate ansvaret for å implementere den til operativsystemer, programvareutviklere kunne raskt dra nytte av den ekstra sikkerheten som det kan gi til alle fasetter av databehandling, inkludert å unngå fallgruvene til Spectre og dets lignende.
Det kan være her selskaper som Intel og AMD har gått galt så langt. Mens patchene, mikrokodefiksene og maskinvarejusteringene deres har bidratt til å dempe noen av problemene med Spectre-lignende angrep, kommer de alle med sine egne fallgruver. Ytelsen har blitt forringet, og i mange tilfeller blir de valgfrie oppdateringene ikke brukt av enhetsprodusenter fordi de ikke ønsker å tape våpenkappløpet.
I stedet er Rambus, Arm og andre ute etter å unngå problemet helt.
"Vi hevder ikke at vi fikser Spectre eller Meltdown, det vi sier er først at disse utnyttelsene ikke er de eneste sårbarhetene der ute," sa Levine. «Det vil alltid være flere. Kompleksiteten til moderne prosessorer gjør det uunngåelig. La oss endre problemet og la oss akseptere at det vil være flere sårbarheter i CPU-er for generell bruk og tingene som vi bryr oss mye om, som nøkler, legitimasjon, data, la oss flytte det ut av CPU-en og la oss omgå hele problemet.»
På denne måten kan brukere stole på at systemet deres er sikkert uten å måtte ofre noe. Roten til tillitsmaskinvare betyr at all data som blir stjålet er ubrukelig for noen. Den etterlater spøkelsen til Spectre i redundansens skyggerike rike, hvor den kan fortsette å hjemsøke de som bruker gammel maskinvare. Men etter hvert som folk oppgraderer til nye, roten av tillitsutstyrte fremtidige generasjoner av maskinvare, vil det bli stadig mer irrelevant og langt mindre til bekymring.
Redaktørenes anbefalinger
- AMD kan endelig slå Intel for den raskeste mobile spill-CPU
- Intels brikker er fortsatt sårbare, og den nye Ice Lake vil ikke lappe alt