iLeakage dia fomba iray amin'ny fitrandrahana ny vulnerable ao amin'ny Apple CPU amin'ny alàlan'ny navigateur mifototra amin'ny motera WebKit.

Ny mpikaroka avy ao amin'ny Georgia Institute of Technology, University of Michigan ary ny Ruhr University dia namolavola ny teknikan'ny fanafihana iLeakage, izay mamela ny fitrandrahana ny vulnerable amin'ny Apple A- sy M-series ARM processeur amin'ny fanokafana pejy natao manokana ao amin'ny navigateur. Manararaotra ny prototype nomanin'ny mpikaroka mamela, rehefa mampiasa kaody JavaScript amin'ny navigateur, hahitana ny votoatin'ny tranokala misokatra amin'ny tabilao hafa. tantara, ary alaivo ny tenimiafina nampidirin'ny mpitantana ny tenimiafina LastPass ao amin'ny endrika fidirana. Ny fanafihana dia mihatra amin'ny navigateur Safari amin'ny rafitra misy macOS sy ny navigateur rehetra amin'ny sehatra iOS (Ny fitsipiky ny Apple dia mitaky fa ny navigateur iOS rehetra dia tsy mampiasa afa-tsy ny motera rafitra WebKit, izay mahazatra amin'ny Safari).

Na dia mihatra amin'ny vokatra Apple ihany aza ny fanafihana, dia manolotra fomba mahaliana iray hialana amin'ny famerana fameperana fameram-potoana ao amin'ny motera WebKit, izay mety ilaina amin'ny fandalovana ny famerana mitovy amin'izany amin'ny navigateur hafa. Ny vulnerability hita ao amin'ny Apple M1 sy M2 chips dia mampahatsiahy ny mahazatra Spectre v1 vulnerability ary mitarika ho amin'ny fikorianan'ny atiny fitadidiana rehefa manao asa amin'ny fomba fanombantombanana, izay, raha misy faminaniana diso, dia arian'ny processeur, fa Ny dian'ny famonoana azy ireo dia napetraka ao amin'ny cache processeur.

Amin'ity fomba fanafihana ity, ny famonoana tombantombana dia nahatonga ny famoronana primitive ho an'ny famakiana tondro 64-bit tsy misy dikany ao amin'ny habaka adiresin'ny dingana tompon'andraikitra amin'ny famoahana ny votoatin'ny pejy ao amin'ny navigateur. Mba hahazoana fidirana amin'ny habaka adiresin'ny fizotran'ny tranonkalan'olon-kafa, dia nisy tetika nampiasaina hanokafana ny pejy vahiny dinihina amin'ny varavarankely mipoitra amin'ny alàlan'ny fomba JavaScript window.open(). Amin'ity tranga ity, ny tranokala dia tsy nosokafana tamin'ny dingana samihafa, fa tamin'ny dingana mitovy amin'ny kaody mpanafika.

Ho fepetra fiarovana, ny motera WebKit dia mamela ny JavaScript hiasa amin'ny tondro 35-bit feno. Mba hanomezana fahafahana miditra amin'ny habaka adiresin'ny dingana manontolo ary handalo ny fetra 35-bit, ny mpikaroka dia nampiasa ny teknikan'ny Type Confusion hanerena ny motera JavaScript hanodina zavatra iray misy karazana tsy mety. Rehefa manodina zavatra JavaScript novolavolaina manokana ao amin'ny motera, dia misy fepetra noforonina izay mitarika ho amin'ny fanatanterahana tombantombana ny toromarika miditra amin'ny array.

Koa satria ny karazana zavatra dia tsy mifanaraka amin'ny karazana laharan-javatra karakaraina, amin'ny toe-javatra mahazatra dia voasakana ny hetsika toy izany, noho izany dia napetraka ao anaty sakana "raha" misy fepetra ny fehezan-dalàna momba ny fanafihana Type Confusion, izay tsy mihetsika amin'ny fepetra mahazatra. , fa atao amin'ny fomba fanombantombanana raha diso ny faminavinan'ny processeur ny sampana fanampiny. Vokatr'izany, ny processeur dia miditra amin'ny tondro 64-bit natsangana, saingy mamerina ny fanjakana rehefa avy namaritra faminaniana tsy nahomby. Amin'ity tranga ity, dia apetraka ao amin'ny cache ifampizarana ny dian'ny famonoana tombantombana ary azo averina amin'ny alàlan'ny fomba hamaritana ny votoatin'ny cache amin'ny alàlan'ny fantsona sisiny.

Mba hanesorana ny angona avy amin'ny cache CPU L1 tavela aorian'ny asa fanombantombanana, ny fanafihana dia mampiasa ny fanovana ny fomba pLRU (pseudo Least Recently Used) naroson'ny Google teo aloha. Amin'ity tranga ity, ny fomba pLRU tany am-boalohany dia mifototra amin'ny fandrefesana ny fahatarana rehefa miditra angon-drakitra, ny fahasamihafana dia ahafahana mitsara raha misy filaharana iray ao amin'ny cache processeur (raha voatahiry ny angon-drakitra, ny fandidiana dia atao haingana kokoa, ary raha tsy izany, miadana kokoa). Mba hiarovana amin'ny fizahana cache amin'ny processeur amin'ny navigateur maoderina, ny fahamarinan'ny fameram-potoana dia mihena be amin'ny ambaratonga izay tsy mamela ny hamantatra ny fahasamihafana.

Mba handresena ny fetran'ny fameram-potoana amin'ny fanafihana iLeakage, dia aroso ny teknika hamaritana ny fisian'ny angon-drakitra ao amin'ny cache amin'ny alàlan'ny fepetra hazakazaka. Ny fototry ny fomba dia ny fametrahana kofehy roa miaraka - ny lehibe sy ny fanondro. Ny kofehy fanondroana dia ahitana filaharan'ny toromarika izay tanterahina amin'ny fotoana fanondroana manokana. Eo am-piandohan'ny fanatanterahana ny kofehy fanondroana dia apetraka amin'ny 1 ny fari-pitsipika zaraina amin'ny kofehy lehibe, ary aorian'ny fanatanterahana ny torolàlana dia averina amin'ny zero ny fari-piainana. Noho izany, ny fari-piainana iombonana dia manana sanda 1 mandritra ny fotoana fohy.

Ny kofehy lehibe dia manomboka tsingerina hamaritana ny angona ao amin'ny cache amin'ny fampiasana ny fomba pLRU. Ny famantarana ny fisiana na ny tsy fisian'ny angon-drakitra voamarina ao amin'ny cache dia tsy ny fandrefesana ny fotoana amin'ny fameram-potoana, fa ny toetry ny fari-piainan'ny fiaraha-miasa aorian'ny fanamarinana. Raha manana sanda 1 ny fari-piainana, dia vita haingana kokoa noho ny fehezan-dalàna reference ny fandidiana, i.e. ny angona dia natolotra avy amin'ny cache. Raha toa ka misy ny sanda 0 ny fari-piainana, dia naharitra ela ny fandidiana noho ny tsy fahampian'ny angon-drakitra ao amin'ny cache, ary ny kaody fanondro ao amin'ny kofehy mifanandrify dia nanam-potoana handaminana tanteraka.

iLeakage - fomba fanararaotana ny vulnerable ao amin'ny CPU Apple amin'ny alàlan'ny navigateur mifototra amin'ny motera WebKit

Ny fahamarinan'ny fomba atolotra hamaritana ny votoatin'ny cache dia manomboka amin'ny 90% ka hatramin'ny 99%, ary ny fanatanterahana ny famaritana data dia avy amin'ny 23 ka hatramin'ny 34 bytes isan-tsegondra, miankina amin'ny processeur sy ny fitaovana. Alohan'ny hanaovana ny fanafihana dia ilaina ny calibration ny code reference, izay maharitra dimy minitra eo ho eo. Rehefa vita ny calibration ho an'ny rafitra ankehitriny, dia mila 64 segondra eo ho eo ny fakana tady misy tarehintsoratra 30.

iLeakage - fomba fanararaotana ny vulnerable ao amin'ny CPU Apple amin'ny alàlan'ny navigateur mifototra amin'ny motera WebKit
iLeakage - fomba fanararaotana ny vulnerable ao amin'ny CPU Apple amin'ny alàlan'ny navigateur mifototra amin'ny motera WebKit

Ho fanampin'izay, azontsika atao ny manamarika ny famoahana ny fanararaotana prototype izay mampiasa ny vulnerability Zenbleed amin'ny processeur AMD mifototra amin'ny microarchitecture Zen2 mba hanesorana ny angona voahodina amin'ny dingana hafa rehefa manokatra pejy misy fitrandrahana ao amin'ny Chrome. Ho fanampin'ny vulnerability Zenbleed (CVE-2023-20593), ny fanararaotana dia misy ny vulnerability CVE-2023-3079 amin'ny motera V8, napetraka ao amin'ny Chrome 115.

Source: opennet.ru

Add a comment