TLBleed

TLBleed  je hardwarová chyba zabezpečení v některých moderních procesorech, které mají vyrovnávací paměť pro překlad příkazů a podporují simultánní multithreading. Tato chyba zabezpečení umožňuje uživatelské aplikaci (lokálnímu útočníkovi, když je spuštěn speciální program) spuštěné na jednom z hardwarových vláken neoprávněně extrahovat informace o provedení jiného vlákna pomocí skrytého kanálu . Únik informací může být potenciálně použit k bezpečnému přístupu k citlivým datům zpracovávaným jiným vláknem.

Stručný popis

TLBleed je útok postranního kanálu, a proto sdílí podobnosti s jinými zranitelnostmi mikroprocesorů, jako jsou Meltdown a Spectre . Tradiční přístup k využívání takových zranitelností je založen na měření doby přístupu k jednotlivým buňkám mezipaměti procesoru, aby se zjistilo, které konkrétní buňky byly do mezipaměti načteny napadeným procesem. Tímto způsobem je možné extrahovat nepřímé informace o provedení a chráněných datech procesu oběti. V případě útoku TLBleed není postranním kanálem běžná datová mezipaměť, ale asociativní překladová vyrovnávací paměť (TLB), speciální mezipaměť, která ukládá korespondenci mezi stránkami virtuální paměti a stránkami fyzické paměti procesoru, která se používá k urychlení překladu. virtuálních adres. Klíčovou příležitost k útoku poskytuje skutečnost, že při implementaci režimu simultánního vícevláknového zpracování (SMT) v procesorech Intel je asociativní překladová vyrovnávací paměť sdílena a je využívána všemi hardwarovými vlákny současně (podobný kanál třetí strany může existovat v mikroprocesoru implementací jiných společností, ale taková analýza dosud nebyla zpracována).

Podstata útoku je následující. Doba přístupu k jednotlivým buňkám TLB určuje, ke kterým stránkám paměti napadený proces přistupuje. Přitom ani minimální granularita adresování (4096 bajtů na moderních systémech) nestačí k přímému získání dat napadeného procesu (například zranitelnost Meltdown využívá k načtení a následné identifikaci konkrétní buňky mezipaměti nepřímé adresování, jehož adresa určuje část tajenky ). Analýzou povahy přístupu do paměti (pořadí přístupu ke stránkám paměti, intervaly mezi přístupy) pomocí metod strojového učení je však možné identifikovat část spustitelného kódu. Pokud se například v šifrovacím algoritmu při zpracování logické „1“ zavolá jedna část kódu a při zpracování logické „0“ - další, ukáže se, že je možné šifrovaná data zcela obnovit.

Historie

Původní studii zveřejnila skupina vědců na Svobodné univerzitě v Amsterdamu 22. června 2018. Podrobnosti o zranitelnosti později odhalil vedoucí projektu Ben Gras na konferenci o počítačové bezpečnosti Black Hat . [1] [2] Navzdory skutečnosti, že zranitelnost byla prokázána na mnoha procesorech Intel několika moderních architektur, společnost odmítla požádat o CVE identifikátor zranitelnosti s odkazem na její bezvýznamnost. Podle výzkumníků tato pozice neodráží skutečný stav věcí, protože TLBleed je výrazně nový typ útoku, představuje významnou hrozbu a může sloužit jako výchozí bod pro hledání dalších podobných zranitelností. [3]

Mechanismus

Pro implementaci popsaného útoku je nutné vyřešit řadu technických problémů:

Vliv

Od srpna 2018 byla zranitelnost prokázána pouze na procesorech Intel. Předpokládá se, že procesory jiných společností, ve kterých je vyrovnávací paměť pro překlad stránek sdílena hardwarovými vlákny, mohou být také zranitelné vůči tomuto typu útoku, ale nebyly předloženy žádné implementace tohoto konceptu. [7] AMD tvrdí, že její procesory nejsou touto zranitelností ovlivněny. [3]

Po zveřejnění informací o zranitelnosti projekt OpenBSD zcela vyřadil podporu pro simultánní multithreading v systému. [8] [9] Šéf OpenBSD Theo de Raadt se domnívá, že i přes to, že zranitelnost lze teoreticky eliminovat zákazem běhu procesů různých kontextů na běžných procesorových jádrech, v praxi není takové řešení z důvodu složitosti proveditelné. . [osm]

Obranné mechanismy

Viz také

Poznámky

  1. Black Hat USA 2018 . www.blackhat.com Datum přístupu: 19. prosince 2018. Archivováno z originálu 7. ledna 2019.
  2. TLBleed Side-Channel CPU Attack Detailed at Black Hat . eWEEK. Staženo: 19. prosince 2018.
  3. 12 Williams, Chris . Seznamte se s TLBleed: Útok na CPU unikající kryptoklíči, o kterém se Intel domnívá, že bychom se ho neměli bát , The Register (  22. června 2018). Archivováno z originálu 8. prosince 2018. Staženo 19. prosince 2018. 
  4. WikiChip –  WikiChip . en.wikichip.org. Získáno 19. prosince 2018. Archivováno z originálu dne 26. října 2020.
  5. [ https://www.cs.vu.nl/~giuffrida/papers/revanc_eurosec17.pdf RevAnC: Framework for Reverse Engineering Hardware Page Table Caches]  //  10. evropský workshop. Archivováno z originálu 20. prosince 2018.
  6. sched_setaffinity(2) – manuálová stránka Linuxu . man7.org. Staženo 19. prosince 2018. Archivováno z originálu 20. prosince 2018.
  7. Halfacree, Gareth . Výzkumníci varují před TLLeed Hyper-Threading vuln  (anglicky) , bit-tech.net  (25. června 2018). Archivováno z originálu 13. února 2019. Staženo 19. prosince 2018.
  8. 1 2 3 Šéf OpenBSD de Raadt říká , že není snadná oprava nové  chyby CPU Intel . www.itwire.com (25. června 2018). Získáno 25. června 2018. Archivováno z originálu 25. června 2018.
  9. OpenBSD deaktivuje podporu hyperthreadingu pro procesory Intel kvůli pravděpodobným  únikům dat . www.itwire.com (21. června 2018). Datum přístupu: 19. prosince 2018. Archivováno z originálu 9. července 2018.

Odkazy