Käskude täitmise aja sõltuvus andmetest ARM-i ja Inteli protsessoritel

Eric Biggers, üks Adiantumi šifri arendajatest ja Linuxi kerneli fscrypt alamsüsteemi hooldaja, pakkus välja paikade komplekti, et blokeerida turvaprobleemid, mis tulenevad Inteli protsessorite funktsioonist, mis ei taga erinevate töödeldud andmete pidevat täitmisaega. Probleem ilmneb Inteli protsessorites alates Ice Lake'i perekonnast. Sarnast probleemi täheldatakse ka ARM-protsessorites.

Käskude täitmise aja sõltuvust nendes juhistes töödeldavatest andmetest peab paikade autor töötlejate haavatavaks, kuna selline käitumine ei saa tagada süsteemis tehtavate krüptograafiliste toimingute turvalisust. Paljud krüptoalgoritmide teostused on loodud tagama, et andmed ei mõjutaks käskude täitmise aega, ning selle käitumise rikkumine võib viia külgkanalite rünnakuteni, mis taastavad andmed nende töötlemisaja analüüsi põhjal.

Potentsiaalselt saab käitusaja andmete sõltuvust kasutada ka rünnakute käivitamiseks, et määrata kasutajaruumist kerneli andmeid. Eric Biggersi sõnul ei pakuta konstantset täitmisaega vaikimisi isegi lisamis- ja XOR-operatsioone sooritavate käskude, samuti spetsiaalsete AES-NI käskude jaoks (teavet ei kinnita testid, muudel andmetel on viivitus üks tsükkel vektori korrutamise ja bittide loendamise ajal).

Selle käitumise keelamiseks on Intel ja ARM pakkunud välja uued lipud: PSTATE bit DIT (andmetest sõltumatu ajastus) ARM-protsessorite jaoks ja MSR-bitt DOITM (andmeoperandist sõltumatu ajastusrežiim) Inteli protsessorite jaoks, mis tagastab vana käitumise pideva täitmisajaga. Intel ja ARM soovitavad lubada kriitilise koodi jaoks vajaliku kaitse, kuid tegelikkuses võib kriitiline arvutus toimuda kõikjal tuumas ja kasutajaruumis, seega kaalume DOITM- ja DIT-režiimide lubamist kogu kerneli jaoks kogu aeg.

ARM-protsessorite jaoks on Linuxi 6.2 kerneli haru juba kasutusele võtnud paigad, mis muudavad kerneli käitumist, kuid neid plaastreid peetakse ebapiisavateks, kuna need katavad ainult tuuma koodi ega muuda kasutajaruumi käitumist. Inteli protsessorite puhul on kaitse lisamine veel läbivaatamisetapis. Plaastri mõju jõudlusele ei ole veel mõõdetud, kuid Inteli dokumentatsiooni järgi vähendab DOITM-režiimi lubamine jõudlust (näiteks mõne optimeerimise, näiteks andmespetsiifilise eellaadimise keelamisega) ning tulevaste protsessorimudelite puhul võib jõudluse vähenemine suureneda. .

Allikas: opennet.ru

Lisa kommentaar