TLBleed

TLBleed  er en hardwaresårbarhed i nogle moderne processorer, der har en kommandooversættelsesbuffer og understøtter simultan multithreading. Sårbarheden tillader en brugerapplikation (en lokal angriber, når et særligt program startes), der kører på en af ​​hardwaretrådene, til uautoriseret at udtrække information om udførelsen af ​​en anden tråd ved hjælp af en skjult kanal . Informationslækage kan potentielt bruges til sikker adgang til følsomme data, der behandles af en anden tråd.

Kort beskrivelse

TLBleed er et sidekanalangreb og deler derfor ligheder med andre mikroprocessorsårbarheder såsom Meltdown og Spectre . Den traditionelle tilgang til at udnytte sådanne sårbarheder er baseret på måling af adgangstiden til individuelle processorcacheceller for at bestemme, hvilke specifikke celler der blev indlæst i cachen af ​​den angrebne proces. På denne måde er det muligt at udtrække indirekte oplysninger om udførelsen og beskyttede data for offerprocessen. I tilfælde af et TLBleed-angreb er sidekanalen ikke en almindelig datacache, men den associative translation buffer (TLB), en speciel cache, der gemmer korrespondancer mellem virtuelle hukommelsessider og processorens fysiske hukommelsessider, som bruges til at fremskynde oversættelsen af virtuelle adresser. En vigtig angrebsmulighed er tilvejebragt af det faktum, at i implementeringen af ​​simultan multithreading -tilstand (SMT) i Intel-processorer, deles den associative oversættelsesbuffer og bruges af alle hardwaretråde samtidigt (en lignende tredjepartskanal kan eksistere i mikroprocessoren implementeringer af andre virksomheder, men en sådan analyse er endnu ikke lavet).

Essensen af ​​angrebet er som følger. Adgangstiden til individuelle TLB-celler bestemmer, hvilke hukommelsessider den angrebne proces får adgang til. Samtidig er selv den minimale adresseringsgranularitet (4096 bytes på moderne systemer) ikke nok til direkte at indhente data fra den angrebne proces (f.eks. bruger Meltdown-sårbarheden indirekte adressering til at indlæse og derefter identificere en specifik cachecelle, adresse, som bestemmer en del af hemmeligheden ). Men ved at analysere arten af ​​hukommelsesadgang (rækkefølge af adgang til hukommelsessider, intervaller mellem adgange) ved hjælp af maskinlæringsmetoder , er det muligt at identificere en sektion af den eksekverbare kode. Hvis for eksempel i krypteringsalgoritmen, når man behandler en logisk "1", kaldes en sektion af koden, og når man behandler en logisk "0" - en anden, viser det sig at være muligt helt at gendanne de krypterede data.

Historie

Den oprindelige undersøgelse blev offentliggjort af en gruppe videnskabsmænd ved Free University of Amsterdam den 22. juni 2018. Detaljerne om sårbarheden blev senere afsløret af projektleder Ben Gras på Black Hat -computersikkerhedskonferencen . [1] [2] På trods af, at sårbarheden blev påvist på mange Intel-processorer med flere moderne arkitekturer, nægtede virksomheden at ansøge om en CVE-identifikation for sårbarheden, med henvisning til dens ubetydelighed. Ifølge forskerne afspejler denne position ikke tingenes virkelige tilstand, eftersom TLBleed er en væsentlig ny type angreb, udgør en væsentlig trussel og kan tjene som udgangspunkt for søgningen efter andre lignende sårbarheder. [3]

Mekanisme

For at implementere det beskrevne angreb er det nødvendigt at løse en række tekniske problemer:

Indflydelse

Fra august 2018 er sårbarheden kun blevet påvist på Intel-processorer. Det antages, at processorer fra andre virksomheder, hvor sideoversættelsesbufferen er delt af hardwaretråde, også kan være sårbare over for denne type angreb, men der er ikke præsenteret nogen implementeringer af konceptet. [7] AMD hævder, at dets processorer ikke er påvirket af sårbarheden. [3]

Efter offentliggørelsen af ​​information om sårbarheden deaktiverede OpenBSD -projektet fuldstændig understøttelse af samtidig multithreading i systemet. [8] [9] Chefen for OpenBSD Theo de Raadt mener, at på trods af at sårbarheden teoretisk kan elimineres ved at forbyde processer i forskellige kontekster at køre på fælles processorkerner, er en sådan løsning i praksis ikke mulig på grund af kompleksitet . [otte]

Forsvarsmekanismer

Se også

Noter

  1. Black Hat USA 2018 . www.blackhat.com Dato for adgang: 19. december 2018. Arkiveret fra originalen 7. januar 2019.
  2. TLBleed Side-Channel CPU Attack Detaljeret på Black Hat . eUGE. Hentet: 19. december 2018.
  3. 12 Williams, Chris . Mød TLBleed: Et CPU-angreb, der lækker kryptonøgle, som Intel mener, at vi ikke skal bekymre os om , The Register (  22. juni 2018). Arkiveret fra originalen den 8. december 2018. Hentet 19. december 2018. 
  4. WikiChip -  WikiChip . en.wikichip.org. Hentet 19. december 2018. Arkiveret fra originalen 26. oktober 2020.
  5. [ https://www.cs.vu.nl/~giuffrida/papers/revanc_eurosec17.pdf RevAnC: A Framework for Reverse Engineering Hardware Page Table Caches]  //  den 10. europæiske workshop. Arkiveret fra originalen den 20. december 2018.
  6. sched_setaffinity(2) - Linux-manualside . man7.org. Hentet 19. december 2018. Arkiveret fra originalen 20. december 2018.
  7. Halfacree, Gareth . Forskere advarer om TLBleed Hyper-Threading vuln  (engelsk) , bit-tech.net  (25. juni 2018). Arkiveret fra originalen den 13. februar 2019. Hentet 19. december 2018.
  8. 1 2 3 OpenBSD-chefen de Raadt siger, at der ikke er nogen nem løsning på den nye Intel CPU-  fejl . www.itwire.com (25. juni 2018). Hentet 25. juni 2018. Arkiveret fra originalen 25. juni 2018.
  9. OpenBSD deaktiverer hyperthreading-understøttelse for Intel CPU'er på grund af sandsynlige  datalækager . www.itwire.com (21. juni 2018). Dato for adgang: 19. december 2018. Arkiveret fra originalen 9. juli 2018.

Links