Lustai gali būti savaime pažeidžiami Spectre ir Meltdown atakų

Songsak Wilairit / EyeEm





Kenkėjiška programinė įranga kelia nuolatinę grėsmę šiuolaikiniam gyvenimui, atakuojanti viską nuo duomenų bazių ir fotoaparatų iki elektroninės prekybos, elektrinių ir ligoninių. Savo klastingesnėmis formomis kenkėjiška programa gali pavogti neskelbtiną informaciją, niekam net neįtarus, kad įvyko nutekėjimas.

Kova su šiomis atakomis remiasi svarbia prielaida: tinkamai galinga ir gerai suprojektuota programinė įranga gali garantuoti bet kokios informacijos saugumą. Iš tiesų, didžiulės kibernetinio saugumo įmonės remiasi šia idėja.

Tačiau šiandien Ross McIlroy ir kolegos iš Google teigia, kad ši prielaida yra pavojingai klaidinga. Jų darbas sutelktas į naujos kartos kenkėjiškas atakas, privertusias persvarstyti kibernetinio saugumo pobūdį ir jo veikimą.



Naujos atakos, žinomos kaip Spectre ir Meltdown, buvo tiriamos nuo 2018 m. pradžios. Tačiau platesnė jų reikšmė paaiškėja tik dabar.

„Google“ šokiruojantis atradimas yra tas, kad jie išnaudoja pagrindinį informacijos tvarkytojų darbo trūkumą. Ir dėl to saugumo ekspertai gali niekada nesugebėti apsaugoti šių įrenginių – net iš esmės.

„Google“ komanda teigia, kad grėsmė paliečia visus lustų gamintojus, įskaitant „Intel“, ARM, AMD, MIPS, IBM ir „Oracle“. Šios klasės trūkumai yra gilesni ir plačiau paskirstyti nei turbūt bet kuris saugumo trūkumas istorijoje, turintis įtakos milijardams visų įrenginių klasių gaminamų procesorių, sako McIlroy ir kt.



Anksčiau kenkėjiškos programos buvo linkusios išnaudoti prastai sukurtą kodą ir jame esančias klaidas. Šios klaidos suteikia piktybiniams veikėjams būdų, kaip sutrikdyti skaičiavimus arba pasiekti konfidencialią informaciją. Taigi svarbus būdas yra ištaisyti šias klaidas programinės įrangos pataisomis prieš jas išnaudojant.

Tačiau kai trūkumas yra kompiuterio dizaino pagrinduose, programinės įrangos pataisos suteikia menką apsaugą. Iššūkis yra tas, kad pats skaičiavimo pobūdis leidžia informacijai nutekėti per mechanizmus, vadinamus šoniniais kanalais.

Vienas iš šoninio kanalo pavyzdžių yra mirksinčios modemo, maršrutizatoriaus ar net kompiuterio lemputės. Įvairūs saugumo tyrinėtojai atkreipė dėmesį, kad mirksėjimas yra susijęs su duomenų perdavimu ir kad piktybinis veikėjas gali tiesiog stebėti blyksnius, kad galėtų pasiklausyti. Iš tiesų, saugumo tyrėjai pademonstravo panašias atakas su gluminančiu šoninių kanalų rinkiniu, įskaitant energijos suvartojimą, mikrofonus ir didelės raiškos kameras.



Naujoji grėsmė yra klastingesnė, nes ji egzistuoja sąsajoje tarp aparatinės ir programinės įrangos, vadinamoje mašinos architektūra. Šiame lygyje procesorius visas programavimo kalbas traktuoja vienodai. Jis vykdo komandas vieną po kitos, neatsižvelgdamas į tai, kuri programa jų paprašė.

Kompiuterių mokslininkai visada manė, kad šias komandas galima atskirti taip, kad būtų užtikrintas konfidencialumas. Manoma, kad tam tikra tinkamai pažangi programinė įranga turėtų sugebėti suskirstyti komandas taip, kad jos būtų atskirtos.

Tačiau pagrindinis „Google“ komandos rezultatas yra parodyti, kad ši prielaida yra klaidinga. Procesorius net iš principo negali atskirti geros komandos nuo kenkėjiškos. Taigi, jei komanda liepia siųsti informaciją į atminties sritį, kurią vėliau bus galima lengvai pasiekti, įrenginys paklūsta.



Nesunku įsivaizduoti, kad to galima išvengti naudojant programinę įrangą, kuri atskiria geras komandas nuo blogų. Tačiau „Google“ komanda rodo, kad tai tik dar vienas sudėtingesnis iššūkis kartu su nauju galimų šalutinių kanalų rinkiniu.

Siekdama parodyti grėsmės paplitimą, „Google“ komanda sukūrė universalią skaitymo programėlę. Tai yra didžiausias pasiklausymas – įprastas procesas, galintis nuskaityti visą adresuojamą procesoriaus atmintį, kurios vartotojas nežino.

Tai jokiu būdu nėra tobula programinė įranga. Kartais jis veikia tikimybiškai, todėl gali nepavykti. Tačiau nėra jokio būdo neleisti jam veikti, kai jis veikia.

McIlroy ir bendradarbiai sukūrė keturis šios programėlės variantus. Sukūrėme koncepcijos įrodymus C++, JavaScript ir WebAssembly visoms pažeidžiamoms vietoms, apie kurias pranešta, teigia komanda. Jie nustatė, kad šios skaitymo programėlės nutekėjo informaciją iki 2,5 kilobaitų per sekundę greičiu.

Ypač nerimą kelia universalios skaitymo programėlės 4 variantas. McIlroy ir bendradarbiai teigia, kad jiems nepavyko rasti veiksmingo būdo, kaip su ja kovoti ar sumažinti jos grėsmę. Mes netikime, kad 4 variantas gali būti veiksmingai sumažintas programine įranga, sako jie.

Komandos bandymai kovoti su šiomis atakomis turėjo didelę įtaką skaičiavimo našumui. Pavyzdžiui, dėl vieno universalios skaitymo programėlės pirmojo varianto sušvelninimo būdų sulėtėjo 2,8 karto, matuojant Java lyginamosios analizės programa, pavadinta Octane.

Per pastaruosius metus „Intel“ perkūrė savo lustus, siekdama sumažinti rimčiausias „Spectre“ ir „Meltdown“ atakų grėsmes. Tačiau pranešama, kad dėl to našumas sumažėjo iki 14%. Ir mažai tikėtina, kad modifikacijos bus saugios.

Viena iš „Google“ susirūpinimo priežasčių yra grėsmė elektroninei prekybai. Nesunku įsivaizduoti ataką, kuri atskleidžia kriptografinius raktus, naudojamus sandoriams apsaugoti, taip leidžiant didelio masto vagystes.

Taigi įmonė jau pristatė „Chrome“ versijas su pirmosiomis gynybos linijomis. 64–67 leidimai apsaugo nuo atakų naršyklėje per „JavaScript“.

Tačiau grėsmė yra daug gilesnė. Daugelis problemų kyla dėl sudėtingos įrenginių architektūros, pagrįstos intelektine nuosavybe, kuri yra kruopščiai saugoma.

Šis sudėtingumas pats savaime yra problemos dalis. Projektai yra pagrįsti abstrakčiais modeliais, kurie tapo sudėtingesni, nes gamintojai siekia greitesnio skaičiavimo. McIlroy ir bendradarbiai rodo, kad šie abstraktūs modeliai visada turi šoninius kanalus, kurie egzistuoja už modelio ribų. Mes išsiaiškinome, kad nepatikimas kodas gali sukurti universalią skaitymo programėlę, kuri nuskaitytų visą atmintį toje pačioje adresų erdvėje per šoninius kanalus. Tai kelia pavojų savavališkiems atmintyje esantiems duomenims, netgi duomenims, kurie šiuo metu nėra įtraukti į skaičiavimus ir anksčiau buvo laikomi saugiais nuo šoninių kanalų atakų.

Tačiau yra šiek tiek gerų naujienų. Kol kas nėra žinomų atakų, kurios išnaudotų Spectre arba Meltdown. Šiuo metu grėsmė apsiriboja kibernetinio saugumo tyrinėtojų, tokių kaip McIlroy ir jo kolegos, laboratorijose.

Tačiau tai mažai paguodžia lustų gamintojus ir saugumo ekspertus. Nesunku įsivaizduoti, kad kenkėjiški veikėjai, įskaitant valstybės remiamas komandas, gali kurti būdus, kaip išnaudoti šį pažeidžiamumą. Tai yra problema, kaip sako McIlroy'us ir kiti, kuriai, regis, lemta persekioti mus ilgą laiką.

Nuoroda: arxiv.org/abs/1902.05178 : „Spectre“ pasiliks: šoninių kanalų ir spekuliatyvaus vykdymo analizė

paslėpti