Uus NetSpectre Attack ei nõua ohvrilt pahatahtliku koodi allalaadimist ega käivitamist

Turvalisus / Uus NetSpectre Attack ei nõua ohvrilt pahatahtliku koodi allalaadimist ega käivitamist

NetSpectre pommitab masinasidemeid sisenemiseks

4 minutit loetud

Uus Spectre-klassi protsessori rünnak on pälvinud akadeemiliste teadlaste tähelepanu, kuna nad avaldasid hiljuti uurimistöö pealkirjaga “NetSpectre: Loe meelevaldset mälu võrgu kaudu”, milles käsitletakse üksikasjalikult, kuidas see protsessorirünnaku klass töötab.



Uue Spectre'i protsessori rünnaku teeb natuke hirmutavaks see, et see on ei nõua ründaja petta oma ohvrit pahatahtlike skriptide allalaadimisse ja käitamisse või pääsema isegi veebisaidile, mis töötab kasutaja brauseris pahatahtlikku JavaScripti.

NetSpectre lihtsalt pommitab masina võrguporte, kuni see leiab tee oma eesmärkide saavutamiseks.



'Spektrirünnakud ajendavad ohvrit spekulatiivselt sooritama toiminguid, mida ei juhtu programmi juhiste rangelt järjestikusel järjekorras töötlemisel ja mis lekitavad ohvri konfidentsiaalset teavet varjatud kanali kaudu ründajale'



NetSpectre ei tule siiski ilma oma vigadeta. Sellel on uskumatult aeglane väljafiltratsioonikiirus, umbes 15 bitti tunnis rünnakute läbiviimiseks võrguühenduse kaudu ja CPU vahemällu salvestatud andmete sihtimine.



Uurimistöös suutsid akadeemikud saavutada kuni 60 bitti tunnis spetsiaalse NetSpectre variatsiooniga, mis oli suunatud Inteli keskseadmetele omase CPU AVX2 mooduli kaudu töödeldud andmetele.

Mõlemal juhul peetakse NetSpectre'i praegu liiga aeglaseks, et see oleks ründajate jaoks väärtuslik, mis tähendab, et NetSpectre on ainult teoreetiline ohtu, mitte midagi, mille pärast ettevõtted peaksid varjama veel . Kuid tehnoloogia edenedes eksfiltratsiooni kiirus kahtlemata suureneb ja siis on meil muretsemiseks täiesti uus klass elujõulisi ja uskumatult hõlpsasti sooritatavaid protsessorirünnakuid.

Uus NetSpectre rünnak on seotud Spectre V1 haavatavusega (CVE-2017-5753), mille Google'i teadlased avaldasid selle aasta alguses (2018). See tähendab, et kõik protsessorid, mida Spectre V1 võib mõjutada, arvatakse olevat ka NetSpectre, kui see on installitud õige OS-i ja protsessori püsivara abil.



NetSpectre jaoks on praegu kaks rünnakuvarianti: andmete väljavõtmine sihtsüsteemist ja ASLR-i (aadressiruumide paigutuse juhuslikkuse) kaugjuhtimine siht-süsteemis.

Esimese rünnakuliigi sündmuste ahel läheb järgmiselt:

  1. Ära haru ennustaja.
  2. Lähtestage mikroarhitektuurse elemendi olek.
  3. Natuke lekib mikroarhitektuurne element.
  4. Mikroarhitektuuri elemendi olek võrgule.
  • 1. etapis eksitab ründaja ohvri haru ennustajat Specteri rünnaku korraldamiseks. Haru ennustaja eksitamiseks kasutab ründaja lekete vidinat kehtivate indeksitega. Kehtivad indeksid tagavad, et haru ennustaja õpib haru alati võtma, st haru ennustaja oletab, et tingimus on tõene. Pange tähele, et see samm tugineb ainult lekke vidinale. Ründajale tagasisidet ei anta ja seega ei pea mikroarhitektuuri olekut lähtestama ega edastama.
  • 2. etapis peab ründaja lähtestama mikroarhitektuuri oleku, et võimaldada lekkinud bittide kodeerimist mikroarhitektuurse elemendi abil. See samm sõltub suuresti kasutatud mikroarhitektuurilisest elemendist, nt vahemälu võimendamisel laadib ründaja ohvrilt alla suure faili; kui kasutatakse AVX2-d, ootab ründaja lihtsalt üle ühe millisekundi. Pärast seda sammu on kõik nõuded ohvrist natuke lekkimiseks täidetud.
  • 3. etapis kasutab ründaja Spectre haavatavust ohvrilt ühe bitti lekitamiseks. Kuna haru ennustaja on 1. etapis valesti hinnatud, käivitab lekke vidinale piiriülese indeksi pakkumine piiride raja ja muudab mikroarhitektuuri elementi, see tähendab, et bitt on kodeeritud mikroarhitektuuri elemendis.
  • 4. etapis peab ründaja edastama kodeeritud teabe võrgu kaudu. See samm vastab Spectre'i algse rünnaku teisele faasile. Ründaja saadab võrgupaketi, mida edastusvidin töötab, ja mõõdab aega paketi saatmisest kuni vastuse saabumiseni.

Rünnakumeetod nr 2: ASLR-i kaugjuhtimine

  1. Ära haru ennustaja.
  2. (Tuntud) mälu asukoha vahemällu salvestamiseks pääsete juurde piirivälisele indeksile.
  3. Mõõtke võrgu kaudu funktsiooni täitmisaega, et järeldada, kas piiriväline juurdepääs selle osa vahemällu salvestas.

Spektri vastumeetmed

Intel ja AMD soovitavad spekulatsioonibarjäärina kasutada lfence'i käsku. Spekulatiivse täitmise peatamiseks tuleb see käsk sisestada pärast turvakriitiliste piiride kontrolli. Kuid selle lisamisel igale piirikontrollile on märkimisväärne jõudlus.

Kuna NetSpectre on võrgupõhine rünnak, ei saa seda ära hoida ainult Spectre'i leevendamise abil, vaid ka võrgukihi vastumeetmete abil. D triviaalse NetSpectre rünnaku saab hõlpsasti tuvastada DDoS-kaitse abil, kuna samast allikast saadetakse mitu tuhat ühesugust paketti.

Ründaja saab aga valida mis tahes kompromissi pakettide sekundis ja lekkinud bitide sekundis vahel. Seega saab bitide lekkimise kiirust lihtsalt vähendada alla künnise, mille DDoS-i seire suudab tuvastada. See kehtib kõigi seirete kohta, mis üritavad tuvastada käimasolevaid rünnakuid, näiteks sissetungi tuvastamise süsteeme.

Ehkki teoreetiliselt rünnakut ei takistata, muutub rünnak mingil hetkel teostamatuks, kuna natuke lekkimiseks vajalik aeg pikeneb drastiliselt. Teine meetod NetSpectre leevendamiseks on kunstliku müra lisamine võrgu latentsusesse. Kuna mõõtmiste arv sõltub võrgu latentsuse dispersioonist, nõuab täiendav müra ründajale täiendavate mõõtmiste tegemist. Seega, kui võrgu latentsuse varieeruvus on piisavalt suur, muutuvad NetSpectre rünnakud vajalike mõõtmiste suure hulga tõttu teostamatuks.