Intelovi procesorji ranljivi zaradi HyperThreadinga

Matej Huš

24. jun 2018 ob 13:21:15

V Intelovih procesorjih se skriva še ena luknja, ki jo lahko izkoristimo za dostop do podatkov, ki jih po pravilih ne bi smeli gledati. Raziskovalci z Vrije Universiteit v Amsterdamu so pokazali, kako lahko na procesorju Intel Core i7-6700K v 99,8 odstotkih, na Xeon E5-2620 v 98,2 odstotkih in na procesorjih Coffeelake v 99,8 odstotkih pridobijo 256-bitnih šifrirni ključ, s katerim je drugi proces šifriral podatke. Ranljivost ni povezana z Meltdownom ali Spectrom, temveč gre za pomanjkljivo varnostno implementacijo HyperThreadinga. To je tudi eden izmed razlogov, da je OpenBSD ta teden sporočil, da bo v svojem operacijskem sistemu onemogočil HyperThreading.

Ranljivost so poimenovali TLBleed, ker izkorišča TLB (translation lookaside buffer). Kot pojasnjujejo raziskovalci, gre za drugačen vektor napada, zato sploh ni nujno, da bi ukrepi za zaščito pred side-channel snooping delovali. Kljub temu razlogov za paniko (še) ni. TLBleed je namreč precej zahtevno izvesti, poleg tega pa za delovanje zahteva dostop do računalnika in za zdaj ni indicev, da bi se dejansko izkoriščal. Obstaja namreč kopica lažjih načinov, kako ukrasti šifrirne ključe, kjer se uporabljajo luknje v programski opremi (brskalniki, PDF-ji, Wordovi dokumenti, priponke v elektronski pošti ...).

TLBleed izkorišča dejstvo, da pri HyperThreadingu lahko hkrati tečeta niti, ki pripadata različnim programom. S pametnim opazovanjem, kako procesor dostopa do predpomnilnika in kakšne spremembe se zgodijo, je mogoče izluščiti vsebino pomnilnika, ki je drugi program nima pravice videti. Če torej istočasno teče šifriranje, lahko pridobimo šifrirni ključ. Izvedba je bistveno kompleksnejša, a v principu gre za dostop do prepovedanega dela pomnilnika.

Intel pravi, da TLBleed ni resen problem. V podjetju zagotavljajo, da so trenutni ukrepi proti tovrstnim napadom zadostni, ob tem pa dodajajo, da je možno pisati kodo, ki je odporna na ta napad. Zaradi tega TLBleed sploh ni dobil številke CVE, raziskovalci pa ne bodo dobili nagrade (bounty), ki jo Intel sicer ponuja za odkrite ranljivosti.