Se spomnite varnostnih podvigov Spectre in Meltdown iz lanskega leta? Intel in AMD resnično upata, da ne. Kljub temu, kar želijo, da verjamete, te špekulativne izvedbene podvige ne bodo izginile, vsaj ne z do zdaj predlaganimi rešitvami.
Vsebina
- Začenši od korenine
- Sidestepping Spectre
- Varnost, a za kakšno ceno?
- Velik, majhen in varen
- Prinesti ga množicam
Namesto da bi poskušali popraviti vsako različico, ki se pojavi, bo trajni popravek zahteval temeljno spremembo oblikovanja procesorjev. Predlog? »Varno jedro«, ki poskrbi, da vaši podatki ostanejo varni pred napadalci, ne glede na to, katere hrošče lahko poskušajo izkoristiti.
Priporočeni videoposnetki
Morda to ni pot, ki jo želijo ta velika procesorska podjetja, vendar je morda edina, ki dejansko deluje.
Povezano
- AMD-jeva obramba pred Spectre V2 je morda neustrezna
Začenši od korenine
Ko je predstavljena nova generacija procesorjev, je vsakomur prvo vprašanje, »kako hiter je to?" Več megahercev, več jeder, več predpomnilnika, vse za hitrejše delovanje aplikacij in delovanje iger boljše. Sekundarni vidiki so lahko zahteve po moči ali toplotni moči, vendar se le redkokdo vpraša o varnosti.
Razumevanje Spectre in Meltdown
Težava pri tem je, da so bile izboljšave zmogljivosti v zadnjih nekaj letih večinoma posledica špekulativno napovedovanje, to je, da procesorji ugibajo, kaj boste naredili naslednjič, in pripravljajo vse, kar bi lahko potrebo po tem. To je odlično za zmogljivost, a kot so pokazali Spectre in njegove različice, je grozno za varnost.
“Špekulativna izvršba že dolgo časa funkcija CPU-jev za optimizacijo zmogljivosti,« je za Digital Trends povedal Jean-Philippe Taggart, višji varnostni raziskovalec Malwarebytes. Pojasnil je, kako je prav ta lastnost tista, zaradi katere so procesorji Intel in drugih ranljivi za Spectre in podobne napade. "Arhitektura CPE-ja bo potrebovala resen premislek, da bodisi obdržimo te izboljšave zmogljivosti, vendar jih zaščitimo pred napadi, kot je Spectre, ali pa jih v celoti odpravimo," je dejal.
"Težko je pri varnosti, če ste vedno odzivni in morate čakati na varnostne ranljivosti in jih nato popraviti."
Ena možna rešitev je dodajanje novega kosa strojne opreme prihajajočim generacijam procesorjev. Namesto obravnavanja občutljivih nalog (ki povzročijo takšne napade vredno) na procesorskih jedrih z visoko močjo, kaj če bi izdelovalci čipov združili ta jedra z dodatnim jedrom, ki je posebej zasnovano za naloge v mislih? Varnostno jedro.
S tem bi lahko Spectre in njegove različice postale nepopravljive za novo strojno opremo. Ne bi bilo pomembno, če bi bila glavna procesorska jedra jutrišnjega dne ranljiva za takšne napade, saj ta jedra ne bi več obravnavala zasebnih ali varnih informacij.
Ta koncept korenine zaupanja je več kot le grob oris. V nekaterih primerih je to že izvedljiv izdelek in vsa večja podjetja čipov, kot sta Intel ali AMD, bi morala storiti, da bi ga izkoristila, je, da ga sprejmejo.
Sidestepping Spectre
"V varnosti je težko, če ste vedno odzivni in morate čakati na varnostne ranljivosti in jih nato popraviti," Rambusov višji direktor produktnega upravljanja Ben Levine je za Digital Trends povedal, ko so ga vprašali o tekoči različici Spectre grožnje. »Ta problem poskušanja narediti kompleksen procesor varen je res težka pot. Tam smo prišli do pristopa premaknitve kritične varnostne funkcionalnosti v ločeno jedro.«
Čeprav ni prvi, ki je predlagal takšno idejo, jo je Rambus dodelal. Njegovo CryptoManager Root of Trust je ločeno jedro, ki bi sedelo na glavnem procesorju procesorja, malo podobno konceptu big.little, ki ga najdemo v mnogih mobilnih procesorjih in celo Intelovem nov dizajn Lakefield. Kjer ti čipi za varčevanje z energijo uporabljajo manjša jedra, bi se varen temelj zaupanja osredotočil predvsem na varnost.
Združeval bi procesor brez špekulacijskih vidikov glavnih procesorjev, s pospeševalniki za kriptografijo in lastnim varnim pomnilnikom. To bi bila razmeroma preprosta zasnova v primerjavi s pošastnimi CPE-ji za splošno uporabo, ki danes poganjajo naše računalnike, vendar bi bilo tako početje veliko varnejše.
Pri samozaščiti bi lahko varno jedro nato prevzelo najbolj občutljive naloge, ki bi jih običajno obravnavalo jedro CPE za splošno uporabo. Zaščita šifrirnih ključev, potrjevanje bančnih transakcij, obdelava poskusov prijave, shranjevanje zasebnih podatkov v varnem pomnilniku ali preverjanje zagonskih zapisov med zagonom niso bili poškodovani.
"... Te operacije so v programski opremi razmeroma počasne, vendar ima lahko varnostno jedro strojne pospeševalnike, ki to počnejo veliko hitreje."
Vse to bi lahko pomagalo izboljšati splošno varnost sistema, ki ga uporablja. Še bolje, ker ne bi imel špekulativnih izboljšav zmogljivosti, bi bil popolnoma varen pred napadi, podobnimi Spectru, in bi jih razveljavil. Takšne napade bi še vedno lahko izvajali proti glavnim jedrom CPE, vendar ne bi bilo pomembno, ker ne bi obravnavali nobenih podatkov, ki bi jih bilo vredno ukrasti.
"Ideja ni, da bi pripravili en CPU, ki bi lahko naredil vse, da bi bil zelo hiter in zelo varen, ampak optimizirajmo različna jedra ločeno za različne cilje," je pojasnil Levine. »Optimizirajmo naš primarni CPE za zmogljivost ali manjšo porabo, kar je pomembno za ta sistem, in optimizirajmo drugo jedro za varnost. Zdaj imamo ti dve ločeno optimizirani domeni obdelave in izvajamo obdelavo v kateri koli od teh je najprimernejša glede na značilnosti izračuna in sistema v mislih.«
Takšno jedro bi delovalo podobno kot koprocesorski čip T2, ki ga je Apple predstavil s svojim iMacom in kasneje implementiral v svojem letu 2018.
Varnost, a za kakšno ceno?
Pogosto se reče, da je kompleksnost sovražnik varnosti. Zato je zasnova varnega jedra, ki jo predlaga Rambus, relativno preprosta. To ni velik, pošastni čip z več jedri in visokim taktom, kot so tipični procesorji v namiznih ali prenosniki.
Torej, ali to pomeni, da bi žrtvovali zmogljivost, če bi takšno jedro uporabljali skupaj s sodobnim čipom? Ni nujno.
Pomemben povzetek ideje o varnem jedru, pa naj bo to Rambusov CryptoManager Root of Trust ali podobna zasnova iz druge firme, je, da bi opravljal samo naloge, ki so bile osredotočene na zasebnost oz varnost. Ne bi ga potrebovali, da bi prevzel vaše hranjenje grafične kartice med igranjem iger ali spreminjanjem slik v Photoshopu. Morda bi raje uporabljal šifriranje vaših sporočil prek aplikacije za klepet. Tam bi lahko specializirana strojna oprema poleg varnosti prinesla še nekaj koristi.
»Stvari, kot so kriptografski algoritmi, šifriranje ali dešifriranje iz algoritma, kot je AES, ali uporaba algoritma javnega ključa, kot je RSA ali elliptični Na krivulji so te operacije razmeroma počasne v programski opremi, vendar ima lahko varnostno jedro strojne pospeševalnike, ki to počnejo veliko hitreje,« Levine rekel.
»Prizadevamo si za preprostost in če ohraniš nekaj preprostega, ostaneš majhno. Če je majhen, je nizke moči."
S tem se zelo strinja Rob Coombs, vodja oddelka za varnost interneta stvari pri Armu.
»Običajno bo root of trustov vgrajen v kripto pospeševalnik, tako da potrebuje malo več silicija, a prednost tega je, da je višja zmogljivost za stvari, kot so kripto funkcije, tako da se ne zanašate le na procesor za izvajanje običajnega šifriranja datoteke,« je rekel. »Procesor ga lahko nastavi, nato pa lahko kripto motor prebira podatke in jih šifrira ali dešifrira. Dobiš višjo zmogljivost.”
Sodobni procesorji, kot je Intel, imajo lastne kripto pospeševalnike, tako da morda ni tako, da šifriranje ali dešifriranje bi bilo bistveno hitrejše od splošnega CPE, ki bi opravil isto nalogo, vendar bi lahko primerljivi.
Čeprav je Coombs v svojem klepetu z nami izpostavil, da bi korenino jedra zaupanja zahtevalo malo dodatnega silicija za proizvodnjo, stroški če bi to vplivali na druge pomembne dejavnike, kot so proizvodna cena, poraba energije čipa ali njegova toplotna moč, bi bili večinoma nespremenjeno.
Rambusov Ben Levine se je strinjal.
"Varnostno jedro je v primerjavi z vsem drugim majhno," je dejal. »V resnici ni pomembnega vpliva na stroške čipa, moč ali toplotne zahteve. Na precej majhnem logičnem področju lahko naredite veliko, če ga skrbno oblikujete. Prizadevamo si za preprostost in če ohranite nekaj preprostega, ostane majhno. Če je majhen, je nizke moči."
Njegovo edino opozorilo je bilo, da bi imelo Rambusovo varno jedro pri manjših napravah z manjšo močjo, kot so tiste, ki se uporabljajo v IoT, večji vpliv na moč in stroške. Tu bi lahko prišel Armov bolj modularen pristop.
Velik, majhen in varen
Arm je bil prvi pionir ideje o velik.majhen CPU-ji ali velika in majhna jedra v istem procesorju. Danes je to običajna funkcija tudi v mobilnih napravah Qualcomm in Apple. Vidi, da se večja jedra CPU uporabljajo za dviganje težkih predmetov, ko in ko je to potrebno, medtem ko manjša jedra obravnavajo pogostejše naloge, da prihranijo energijo. Armov pristop temelji na tej ideji za vgradnjo korenine zaupanja v glavne čipe, pa tudi v veliko manjše mikrokontrolerje za uporabo v širšem naboru naprav.
»Opredelili smo nekaj, kar se imenuje a PSA (varnostna arhitektura platforme) koren zaupanja z vgrajenimi nekaterimi bistvenimi varnostnimi funkcijami, kot so kriptografija, varen zagon, varno shranjevanje; To bo potrebovala vsaka naprava IOT,« je pojasnil Coobs za Digital Trends.
Od vseh večjih izdelovalcev čipov sta Spectre in Meltdown verjetno najmanj prizadela Arm. Kjer je bil Intel ranljiv za najširši obseg potencialnih napadov in je AMD moral izdati številne mikrokode in popravki programske opreme je Armu uspelo okrepiti svojo že tako trdno obrambo, preden so bile špekulativne napake pri izvajanju razkrila.
Zdaj se Arm osredotoča na zaščito interneta stvari. Coombs verjame, da je varno jedro, koren zaupanja eden najboljših načinov za to, in želi, da bi vsaka naprava IoT izvajala tak sistem. Da bi jo dosegel, Arm ponuja odprtokodno programsko opremo, razvojne smernice in strojne rešitve za varnostne težave, s katerimi se soočajo današnji razvijalci interneta stvari.
.. Veliko uporabe varnostnega jedra bo izvedeno na ravni OS in sistema in ne na ravni aplikacije
»Ustvarili smo odprtokodno in referenčno izvedbo in zdaj s certifikatom PSA smo ustvarili večnivojska varnostna shema, [kjer] lahko ljudje izberejo varnostno robustnost, ki jo potrebujejo,« je dejal Coombs. »Različni sistemi potrebujejo različne količine varnosti. To želimo narediti primerno za prostor interneta stvari.«
Če bi ta načela uporabili za večje CPE za splošne namene, ki jih najdemo v prenosnikih in namiznih računalnikih, končni rezultat ne bi bil drastično drugačen. Medtem ko taki čipi ne bi imeli majhnih jeder poleg svojih velikih, bi lahko brez večjih težav implementirali varno jedro na matrico, pravi Rambusov Ben Levine.
"Ta jedra bi morala biti in morajo biti veliko manjša od enega od glavnih velikih jeder CPE, ki jih dobite v čipu Intela ali AMD," je dejal. "Ne bo sedem plus ena, to bo osem ali katerikoli jedrni procesor in eno ali morda več kot eno majhno varnostno jedro, ki zagotavlja varnostne funkcije za vsa druga jedra."
Ključno je tudi to, da takih jeder niti ne bi bilo zapleteno implementirati.
"Ne bomo veliko dodali ciklu oblikovanja čipov, da bi nov čip vgradili v potrošniški izdelek," je dejal. »Naš vpliv bo precej minimalen. To bo le običajni življenjski cikel izdelka, ko se bo razvoj arhitekture čipa začel s proizvodnjo, nato pa z odpremo izdelkov.«
Prinesti ga množicam
Varnost je lahko vprašanje piščanca in jajca, saj razvijalci tega ne želijo uvesti brez posebne potrebe ali zahteve strank. Toda če bi proizvajalci strojne opreme združili svoja obstoječa jedra CPU z varnim jedrnim korenom zaupanja, bi bilo delo razvijalcev programske opreme relativno enostavno.
"Glede na aplikacijo bo veliko uporabe varnostnega jedra izvedeno na ravni OS in sistema in ne na ravni aplikacije," je pojasnil Levine. »Če pravilno gradite svoj operacijski sistem in celotno sistemsko programsko opremo, lahko uporabite večino te varnostne funkcije, ne da bi morali razvijalci aplikacij skrbeti za to. Zagotovite lahko API-je za izpostavljanje nekaterih varnostnih temeljnih funkcionalnosti, ki bi jih razvijalec aplikacij zlahka uporabljal, kot je šifriranje in dešifriranje podatkov.«
Z vključitvijo korenine zaupanja v samo strojno opremo in prepuščanjem odgovornosti za njeno implementacijo operacijskim sistemom, razvijalci programske opreme bi lahko hitro izkoristil dodatno varnost, ki bi jo lahko prinesel vsem vidikom računalništva, vključno z izogibanjem pastem Spectra in njegovega ilk.
To je lahko tisto, kar so podjetja, kot sta Intel in AMD, do zdaj delala narobe. Medtem ko so njihovi popravki, popravki mikrokode in prilagoditve strojne opreme pomagali ublažiti nekatere težave napadov, podobnih Spectru, imajo vsi svoje pasti. Zmogljivost je bila poslabšana in v mnogih primerih proizvajalci naprav ne uporabljajo izbirnih popravkov, ker ne želijo izgubiti tekme z močjo v oboroževanju.
Namesto tega se Rambus, Arm in drugi skušajo v celoti izogniti težavi.
"Ne trdimo, da popravljamo Spectre ali Meltdown, najprej pravimo, da ta izkoriščanja niso edina ranljivost," je dejal Levine. »Vedno jih bo več. Zaradi kompleksnosti sodobnih procesorjev je to neizogibno. Spremenimo težavo in sprejmimo, da bo več ranljivosti v CPE-jih za splošno uporabo in podobnih stvareh. ki nas zelo zanimajo, kot so ključi, poverilnice, podatki, jih premaknimo iz CPE-ja in zaobidimo celotno težavo.«
Tako lahko uporabniki zaupajo, da je njihov sistem varen, ne da bi morali karkoli žrtvovati. Koren strojne opreme zaupanja pomeni, da so vsi ukradeni podatki za nikogar neuporabni. Duha Spectre pusti v senčnem kraljestvu odvečnosti, kjer lahko še naprej preganja tiste, ki uporabljajo staro strojno opremo. Toda ko bodo ljudje nadgrajevali na nove prihodnje generacije strojne opreme, opremljene s root of trustom, bo postajala vse bolj nepomembna in veliko manj zaskrbljujoča.
Priporočila urednikov
- AMD bi lahko končno premagal Intel za najhitrejši procesor za mobilne igre
- Intelovi čipi so še vedno ranljivi in novo Ice Lake ne bo popravilo vsega