TLBlöda

TLBleed  är en hårdvarasårbarhet i vissa moderna processorer som har en kommandoöversättningsbuffert och stöder simultan multithreading. Sårbarheten tillåter en användarapplikation (en lokal angripare, när ett speciellt program startas) som körs på en av hårdvarutrådarna att obehörigt extrahera information om exekveringen av en annan tråd med hjälp av en hemlig kanal . Informationsläckage kan potentiellt användas för att säkert komma åt känslig data som behandlas av en annan tråd.

Kort beskrivning

TLBleed är en sidokanalsattack och delar därför likheter med andra mikroprocessorsårbarheter som Meltdown och Spectre . Den traditionella metoden för att utnyttja sådana sårbarheter baseras på att mäta åtkomsttiden till individuella processorcacheceller för att avgöra vilka specifika celler som laddades in i cachen av den attackerade processen. På så sätt är det möjligt att extrahera indirekt information om utförandet och skyddade uppgifter om offerprocessen. I fallet med en TLBleed-attack är sidokanalen inte en vanlig datacache, utan den associativa översättningsbufferten (TLB), en speciell cache som lagrar överensstämmelse mellan virtuella minnessidor och processorns fysiska minnessidor, som används för att påskynda översättningen av virtuella adresser. En viktig attackmöjlighet tillhandahålls av det faktum att i implementeringen av simultan multithreading mode (SMT) i Intel-processorer, delas den associativa översättningsbufferten och används av alla hårdvarutrådar samtidigt (en liknande tredjepartskanal kan finnas i mikroprocessorn implementeringar av andra företag, men en sådan analys har ännu inte tagits fram).

Kärnan i attacken är följande. Åtkomsttiden till individuella TLB-celler avgör vilka sidor i minnet som den attackerade processen kommer åt. Samtidigt räcker inte ens den minsta adresseringsgranulariteten (4096 byte på moderna system) för att direkt erhålla data från den attackerade processen (till exempel använder Meltdown-sårbarheten indirekt adressering för att ladda och sedan identifiera en specifik cachecell, adress som avgör en del av hemligheten ). Men genom att analysera arten av minnesåtkomst (ordning för åtkomst till minnessidor, intervall mellan åtkomster) med hjälp av maskininlärningsmetoder är det möjligt att identifiera en del av den körbara koden. Om, till exempel, i krypteringsalgoritmen, vid bearbetning av en logisk "1", anropas en sektion av koden, och vid bearbetning av en logisk "0" - en annan, visar det sig vara möjligt att helt återställa de krypterade data.

Historik

Den ursprungliga studien offentliggjordes av en grupp forskare vid Free University of Amsterdam den 22 juni 2018. Detaljerna om sårbarheten avslöjades senare av projektledaren Ben Gras vid Black Hats datasäkerhetskonferens . [1] [2] Trots att sårbarheten visades på många Intel-processorer med flera moderna arkitekturer, vägrade företaget att ansöka om en CVE-identifierare för sårbarheten, med hänvisning till dess obetydlighet. Enligt forskarna återspeglar denna position inte det verkliga tillståndet, eftersom TLBleed är en väsentligt ny typ av attack, utgör ett betydande hot och kan fungera som en startpunkt för sökandet efter andra liknande sårbarheter. [3]

Mekanism

För att implementera den beskrivna attacken är det nödvändigt att lösa ett antal tekniska problem:

Inflytande

Från och med augusti 2018 har sårbarheten bara visats på Intel-processorer. Det antas att processorer från andra företag, där sidöversättningsbufferten delas av hårdvarutrådar, också kan vara sårbara för denna typ av attack, men inga implementeringar av konceptet har presenterats. [7] AMD hävdar att dess processorer inte påverkas av sårbarheten. [3]

Efter publiceringen av information om sårbarheten inaktiverade OpenBSD- projektet helt stödet för simultan multithreading i systemet. [8] [9] Chefen för OpenBSD Theo de Raadt menar att, trots att sårbarheten teoretiskt sett kan elimineras genom att förbjuda processer i olika sammanhang att köras på gemensamma processorkärnor, i praktiken är en sådan lösning inte genomförbar på grund av komplexiteten . [åtta]

Försvarsmekanismer

Se även

Anteckningar

  1. Black Hat USA 2018 . www.blackhat.com Datum för åtkomst: 19 december 2018. Arkiverad från originalet den 7 januari 2019.
  2. TLBleed Side-Channel CPU Attack Detaljerad på Black Hat . eWEEK. Hämtad: 19 december 2018.
  3. 12 Williams, Chris . Möt TLBleed: En CPU-attack som läcker kryptonyckel som Intel anser att vi inte borde oroa oss för , The Register (  22 juni 2018). Arkiverad från originalet den 8 december 2018. Hämtad 19 december 2018. 
  4. WikiChip -  WikiChip . en.wikichip.org. Hämtad 19 december 2018. Arkiverad från originalet 26 oktober 2020.
  5. [ https://www.cs.vu.nl/~giuffrida/papers/revanc_eurosec17.pdf RevAnC: A Framework for Reverse Engineering Hardware Page Table Caches]  //  the 10th European Workshop. Arkiverad från originalet den 20 december 2018.
  6. sched_setaffinity(2) - Linux manualsida . man7.org. Hämtad 19 december 2018. Arkiverad från originalet 20 december 2018.
  7. Halfacree, Gareth . Forskare varnar för TLBleed Hyper-Threading vuln  (engelska) , bit-tech.net  (25 juni 2018). Arkiverad från originalet den 13 februari 2019. Hämtad 19 december 2018.
  8. 1 2 3 OpenBSD-chefen de Raadt säger att det inte är någon enkel lösning på det nya Intel CPU-  felet . www.itwire.com (25 juni 2018). Hämtad 25 juni 2018. Arkiverad från originalet 25 juni 2018.
  9. OpenBSD inaktiverar hyperthreading-stöd för Intel-processorer på grund av sannolika  dataläckor . www.itwire.com (21 juni 2018). Datum för åtkomst: 19 december 2018. Arkiverad från originalet den 9 juli 2018.

Länkar