Spook.js, nova tekniko por ekspluati Spectre-vundeblecojn en Chrome

Grupo de esploristoj de usonaj, aŭstraliaj kaj israelaj universitatoj raportis tion priskribis novan atakteknikon tio permesas ekspluati vundeblecojn Spectre-klaso en retumiloj kun kromio.

La atako, kodita Spook.js, permesas, kiam plenumas JavaScript-kodon preterpasi la izolitan mekanismon de la retejo kaj legi la enhavon de la tuta adresspaco de la aktuala procezo, tio estas aliri la datumojn de la paĝoj, kiuj estas ekzekutitaj en aliaj langetoj, sed kiuj estas prilaboritaj en la sama procezo.

Ĉar Chrome lanĉas malsamajn retejojn en diversaj procezoj, praktikaj atakoj limiĝas al servoj, kiuj permesas al diversaj uzantoj gastigi siajn paĝojn. La ataka metodo Spook.js ebligas de paĝo en kiu atakanto povas enigi sian JavaScript-kodon, determini la ĉeeston de aliaj paĝoj malfermitaj de la uzanto de la sama retejo kaj ĉerpi konfidencajn informojn el ili, ekzemple, akreditaĵojn aŭ bankajn detalojn anstataŭigitajn de la aŭtomata kompletiga sistemo en retaj formularoj.

Alia apliko de la metodo estas atako al retumaj aldonaĵoj, kio permesas, kiam atakanto-kontrolita kromprogramo estas instalita, ĉerpi datumojn de aliaj kromprogramoj.

Spook.js aplikeblas al iu ajn retumilo bazita sur la Chromium-motoro, inkluzive de Google Chrome, Microsoft Edge kaj Brave. La esploristoj ankaŭ kredas, ke la metodo povas esti adaptita por funkcii kun Firefox, sed ĉar la Firefox-motoro estas tre malsama ol Chrome, la laboro krei tian ekspluaton restas al la estonteco.

Por protekti kontraŭ atakoj rilataj al spekula ekzekuto de instrukcioj per la retumilo, adresspaca segmentado estas efektivigita en Chrome: sandbox-izolado permesas al JavaScript funkcii nur per 32-bitaj montriloj kaj dividas la memoron de la regilo en ne-koincidantaj 4GB-stakoj.

Por organizi aliron al la tuta adresspaco de la procezo kaj eviti la 32-bitan limigon, la esploristoj uzis la tipan konfuzan teknikon, kiu permesas al la JavaScript-motoro prilabori objekton kun malĝusta tipo, ebligante formi 64-bitan kodo surbaze de kombinaĵo de du 32-bitaj valoroj.

La esenco de la atako estas, ke prilaborante speciale kreitan malican objekton en la JavaScript-motoro, estas kreitaj kondiĉoj, kiuj kondukas al la spekulacia plenumo de instrukcioj, kiuj aliras la tabelon. La objekto estas elektita tiel, ke la kampoj kontrolitaj de la atakantoj estas metitaj en la areon, kie la 64-bita montrilo estas uzata.

Ĉar la tipo de malica objekto ne respondas al la speco de prilaborata tabelo, en normalaj kondiĉoj tiaj agoj estas blokitaj en Chrome per la maloptimiga mekanismo de la kodo uzata por aliri la tabelojn. Por solvi ĉi tiun problemon, la atakokodo de Type Confusion estas metita en kondiĉan blokon "se", kiu ne pafas en normalaj kondiĉoj, sed funkcias en spekula reĝimo, se la procesoro malĝuste antaŭdiras pli da branĉoj.

Rezulte, la procesoro spekule aliras la generitan 64-bitan montrilon kaj revenigas la staton post determinado de la malsukcesa antaŭdiro, sed la ekzekutaj spuroj estas metitaj en la komuna kaŝmemoro kaj povas esti restarigitaj per metodoj por determini la enhavon de la kaŝmemoro tra tria- partiaj kanaloj, analizante la ŝanĝon en alira tempo al konservitaj kaj nekaŝaj datumoj.

Por analizi la enhavon de la kaŝmemoro en la kondiĉoj de nesufiĉa precizeco de la tempigilo havebla en Ĝavoskripto, estas uzata metodo proponita de Google, kiu trompas la strategion de elpelo de datumoj de kaŝmemoro Tree-PLRU uzata en procesoroj kaj permesas, per pliigo de la nombro-cikloj, signife pliigi la tempodiferencon en la ĉeesto kaj foresto de valoro en la kaŝmemoro.

Esploristoj publikigis prototipan ekspluaton, kiu funkcias en Chrome 89 en sistemoj kun Intel i7-6700K kaj i7-7600U. La ekspluatado estis kreita per prototipoj de JavaScript-kodo antaŭe publikigita de Google por fari Spectre-atakojn.

Fine la esploristoj mencias tion sukcesis prepari laborajn ekspluatojn por sistemoj bazitaj sur procesoroj Intel kaj Apple M1, al kiuj estas donita la ŝanco organizi la memorlegadon kun rapideco de 500 bitokoj sekunde kaj precizeco de 96%. La metodo supozeble aplikeblas al procesoroj AMD, sed ne eblis prepari tute funkcian ekspluatadon.

Fonto: https://www.spookjs.com


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.