Helmholzi Informatsioonisüsteemide Turbe Keskuse (CISPA) teadlased avaldasid uuringu tulemused RISC-V arhitektuuril põhinevate protsessorite turvalisuse kohta ning paljastasid teavet haavatavuse kohta, mille koodnimi on GhostWrite. Haavatavus mõjutab RISC-V protsessoreid XuanTie C910, mida toodab Hiina ettevõte T-Head (Alibaba tütarfirma) ja arendatakse avatud projektidena. Haavatavus võimaldab ründajal, kellel on piiratud juurdepääs süsteemile, lugeda ja kirjutada kõikidesse füüsilise mälu piirkondadesse ning pääseda juurde perifeersetele seadmetele, nagu võrgukaardid, mis kasutavad MMIO (mälu-juhendatud sisselülitust).
Haavatavus tuleneb protsessori arhitektuuri puudustest seoses tootja poolt lisatud protsessori käskude isolatsiooni, mis laiendab RISC-V käskude komplekti, võimaldades pääseda otse DRAM-ile, mööda virtuaalsete mälu mehhanismide. Mõnede laiendatud käskude töötamine otse füüsilise mäluga virtuaalse mälu asemel võimaldab mööduda protsesside vahelisest mälu isolatsioonist.
Valmistatud rünnakutehnika on 100% korduv ja nõuab oma koodi käivitamist vaid mõne mikrosekundi jooksul. Tarkvaralised isolatsioonimeetodid, nagu konteinerid ja sandbox-keskkonnad, ei takista haavatavuse ära kasutamist. Haavatavuse blokeerimiseks aitab ainult vektorite laienduste toe täielik väljalülitamine, mis toob kaasa jõudluse languse rvv-bench testides 33% (aruande märkuses on mainitud 77%, kogulehel 33%, detailides mainitakse memcpy jõudluse langust 33% ja memset-i 8%), ning ligikaudu kahekordistab rakendustele saadaval olevate protsessori käskude komplekti.
CPU XuanTie C910 on kõrge jõudlusega RISC-V kiibiseade, mida saab leida turult ja mida kasutatakse aktiivselt serverites pilvesüsteemides ja sülearvutites. Näiteks esineb probleem Scaleway Elastic Metal RV1 serverites, Lichee Cluster 4A klastrites, Lichee Book 4A sülearvutis, Lichee Console 4A mängukonsoolis, Lichee Pocket 4A kaasaskantavas arvutis ja Sipeed Lichee Pi 4A, Milk-V Meles ja BeagleV-Ahead ühekordsetes arvutites.
Näiteks on teadlased valmistanud eksploiti, mis võimaldab privileegita kasutajal saada root-kasutaja õigusi Linuxis. Eksploit muudab mälus lehtede tabeli sisu, mida kasutatakse virtuaalsete aadresside füüsilisteks aadressideks tõlkimiseks, et saada virtuaalseid aadresse, mis on seotud mis tahes füüsiliste aadressidega. Samuti on valmistatud näidiseksploit, mis võimaldab lugeda tuumamälu ja teiste protsesside sisu, võimaldades väljavõtta mällu salvestatud krüptovõtmeid ja paroole.
Uurimiste käigus avastati kaks vähem ohtlikku arhitektuuri haavatavust: üks puudutab T-Head XuanTie C906 protsessoreid ja teine T-Head XuanTie C908. Mõlemad haavatavused piirduvad teenuse katkestamise tõttu CPU töö lõpetamisega. Need haavatavused võivad kujutada ohtu T-Head XuanTie kiipidele tuginevatele pilveplatvormidele, kuna koodijärjepidevuse juures on võimalik peatada ka teiste kasutajate teenindamine, kes share sama platvormi. serveril.
Probleemid tuvastati RISCVuzz raamistiku abil, mis on loodud CPU fuzzing-testimiseks. Raamistik tuvastab erinevusi identsete laiendatud käskude rakendustes erinevates CPU-des, lähtudes eeldusest, et erinevate tootjate kiipides ühesuguste kodeerimisega käsklused võivad viia erinevate toimingute täitmiseni, kuna RISC-V käsu komplekti laienduste ühtsest registrist on puudu. Kontrolleri testimine hõlmas käskude töötlemise käitumise võrdlemist erinevates RISC-V CPU-des ja võimalike haavatavuste analüüsimist olukordades, kus käitumises esinesid erinevused.
Allikas: opennet.ru
