Andmeleke läbi Inteli protsessori ringsiini

Illinoisi ülikooli teadlaste meeskond on välja töötanud uue külgkanalite rünnakutehnika, mis manipuleerib teabelekkega Inteli protsessorite ringühenduse kaudu. Rünnak võimaldab teil esile tõsta mälukasutuse teavet teises rakenduses ja jälgida klahvivajutuste ajastuse teavet. Teadlased avaldasid tööriistad seotud mõõtmiste ja mitmete prototüüpide teostamiseks.

Välja on pakutud kolm ärakasutamist, mis võimaldavad:

  • Taastage krüpteerimisvõtmete üksikud bitid, kui kasutate RSA ja EdDSA rakendusi, mis on haavatavad külgkanalite rünnakute suhtes (kui arvutusviivitused sõltuvad töödeldavatest andmetest). Näiteks piisab üksikute bittide lekkimisest EdDSA lähtestamisvektori (nonce) teabega, et kasutada rünnakuid kogu privaatvõtme järjestikuse taastamiseks. Rünnakut on praktikas raske rakendada ja seda saab läbi viia suure hulga reservatsioonidega. Näiteks näidatakse edukat tööd, kui SMT (HyperThreading) on ​​keelatud ja LLC vahemälu on CPU tuumade vahel segmenteeritud.
  • Määratlege klahvivajutuste vahelise viivituse parameetrid. Viivitused sõltuvad klahvide asendist ja võimaldavad statistilise analüüsi abil klaviatuurilt sisestatud andmeid teatud tõenäosusega uuesti luua (näiteks kirjutavad enamik inimesi tavaliselt märki "a" märksa kiiremini kui "g" "s").
  • Korraldage peidetud sidekanal andmete edastamiseks protsesside vahel kiirusega umbes 4 megabitti sekundis, mis ei kasuta ühismälu, protsessori vahemälu ega protsessori tuumaspetsiifilisi ressursse ja protsessori struktuure. Märgitakse, et pakutud meetodit varjatud kanali loomiseks on olemasolevate külgkanalite rünnakute eest kaitsmise meetoditega väga raske blokeerida.

Ärakasutamine ei nõua kõrgendatud õigusi ja neid saavad kasutada tavakasutajad, kellel pole õigusi. Märgitakse, et ründe võiks potentsiaalselt kohandada andmelekete korraldamiseks virtuaalmasinate vahel, kuid see probleem jäi uuringu raamest välja ja virtualiseerimissüsteemide testimist ei tehtud. Kavandatud koodi testiti Inteli i7-9700 protsessoriga Ubuntu 16.04-s. Üldiselt on ründemeetodit testitud Intel Coffee Lake'i ja Skylake'i perekonna lauaarvutiprotsessoritel ning see on potentsiaalselt rakendatav ka Broadwelli perekonna Xeoni serveriprotsessoritele.

Ring Interconnect tehnoloogia ilmus Sandy Bridge mikroarhitektuuril põhinevates protsessorites ja koosneb mitmest silmussiinist, mida kasutatakse andmetöötluse ja graafika tuumade ühendamiseks, serverisillast ja vahemälust. Ründemeetodi olemus seisneb selles, et ringsiini ribalaiuse piirangu tõttu viivitavad mälutoimingud ühes protsessis juurdepääsu teise protsessi mälule. Tuvastades juurutamise üksikasjad pöördprojekteerimise abil, saab ründaja tekitada koormuse, mis põhjustab mälule juurdepääsu viivitusi mõnes teises protsessis, ja kasutada neid viivitusi teabe hankimise kõrvalkanalina.

Sisemiste CPU siinide ründamist takistab siini arhitektuuri ja töömeetodite kohta teabe puudumine, samuti kõrge müratase, mis muudab kasulike andmete eraldamise keeruliseks. Siini tööpõhimõtteid oli võimalik mõista siini kaudu andmete edastamisel kasutatavate protokollide pöördprojekteerimise kaudu. Kasuliku teabe eraldamiseks mürast kasutati masinõppemeetoditel põhinevat andmete klassifitseerimise mudelit. Kavandatav mudel võimaldas korraldada viivituste jälgimist arvutuste ajal konkreetses protsessis, tingimustes, kus mitu protsessi pääseb korraga ligi mälule ja protsessori vahemälust tagastatakse teatud osa andmetest.

Lisaks võime märgata Spectre haavatavuse esimese variandi (CVE-2017-5753) ärakasutamise jälgede tuvastamist Linuxi süsteemide rünnakute ajal. Exploit kasutab külgkanali teabeleket, et leida mälust superplokk, määrata /etc/shadow faili sisend ja arvutada mälulehe aadress, et fail ketta vahemälust alla laadida.

Allikas: opennet.ru

Lisa kommentaar