Teknika e re për shfrytëzimin e dobësive të klasës Spectre në Chrome

Një grup kërkuesish nga universitete amerikane, australiane dhe izraelite proponuan një teknikë të re sulmi për të shfrytëzuar dobësitë e klasës Spectre në shfletuesit e bazuar në motorin Chromium përmes kanaleve anësore. Sulmi, i quajtur Spook.js, lejon, përmes ekzekutimit të kodit JavaScript, kalimin e mekanizmit të izolimit të faqeve dhe leximin e përmbajtjes së gjithë hapësirës adresore të procesit aktual, dmth, të aksesohen të dhënat e faqeve të hapura në tab të tjera, por që trajtohen në një proces të vetëm.

Pasi Chrome ekzekuton faqe të ndryshme në procese të ndryshme, mundësia e realizimit të sulmeve praktike kufizohet nga shërbime që lejojnë përdorues të ndryshëm për të pritur faqet e tyre. Metoda lejon nga një faqe ku sulmuesi ka mundësi të injektojë kodin e tij JavaScript, të përcaktojë praninë e faqeve të tjera të hapura nga i njëjti përdorues dhe të nxjerrë informacione të ndjeshme nga to, siç janë kredencialet ose detajet bankare të futur nga sistemi i plotësimit të automatik të fushave në formatet web. Si një demonstrim është treguar si mund të sulmohet një blog i huaj në shërbimin Tumblr, nëse pronari i tij hap në një tab tjetër blogun e keqbërësve që është e vendosur në të njëjtin shërbim.

Luaj videon

Një variant tjetër i përdorimit të metodës është sulmi ndaj shtesave të shfletuesit, duke lejuar gjatë instalimit të një shtese të kontrolluar nga sulmuesit, nxjerrjen e të dhënave nga shtesa të tjera. Si shembull është treguar se si duke instaluar një shtesë të dëmshme, mund të nxirren informacione të ndjeshme nga menaxheri i fjalëkalimeve LastPass.

Luaj videon

KĂ«rkuesit publikuan njĂ« prototip eksploiti qĂ« funksionon nĂ« Chrome 89 nĂ« sisteme me CPU Intel i7-6700K dhe i7-7600U. GjatĂ« krijimit tĂ« eksploiti u pĂ«rdorĂ«n prototipet e kodit JavaScript tĂ« publikuara mĂ« parĂ« nga Google pĂ«r kryerjen e sulmeve tĂ« klasĂ«s Spectre. ËshtĂ« e shĂ«nuar se kĂ«rkuesit arrijnĂ« tĂ« pĂ«rgatisin eksploite funksionale pĂ«r sisteme me procesorĂ« Intel dhe Apple M1, tĂ« cilat ofrojnĂ« mundĂ«sinĂ« e organizimit tĂ« leximit tĂ« memories me shpejtĂ«si 500 byte nĂ« sekondĂ« dhe saktĂ«si 96%. Supozohet se metoda Ă«shtĂ« e aplikueshme edhe pĂ«r procesorĂ«t AMD, por nuk Ă«shtĂ« e mundur tĂ« pĂ«rgatitet njĂ« eksploiti plotĂ«sisht funksional.

Sulmi është i aplikueshëm në të gjitha shfletuesit e bazuar në motorin Chromium, përfshirë Google Chrome, Microsoft Edge dhe Brave. Kërkuesit gjithashtu besojnë se metoda mund të adaptohet për t'u përdorur me Firefox, por duke pasur parasysh se engine i Firefox është ndjeshëm i ndryshëm nga Chrome, puna për krijimin e një eksploiti të tillë është lënë për të ardhmen.

PĂ«r tĂ« mbrojtur nga sulmet e lidhura me ekzekutimin spekulativ tĂ« instruktimeve pĂ«rmes shfletuesit, nĂ« Chrome Ă«shtĂ« realizuar segmentimi i hapĂ«sirĂ«s adresore – izolimi i sandbox-i lejon ekzekutimin e JavaScript vetĂ«m me tregues 32-bitĂ«sh dhe ndan memorjen e menaxherĂ«ve nĂ« heap-e tĂ« pa pĂ«rputhshme prej 4GB. PĂ«r tĂ« organizuar aksesin nĂ« tĂ« gjithĂ« hapĂ«sirĂ«n adresore tĂ« procesit dhe pĂ«r tĂ« kaluar kufizimin 32-bit, kĂ«rkuesit kanĂ« pĂ«rdorur teknikĂ«n e Confuzionit tĂ« Tipit, qĂ« lejon qĂ« motori JavaScript tĂ« trajtojĂ« njĂ« objekt me njĂ« tip tĂ« pavend, duke i dhĂ«nĂ« mundĂ«sinĂ« pĂ«r tĂ« formuar njĂ« tregues 64-bitĂ«sh bazuar nĂ« kombinimin e dy vlerave 32-bitĂ«she.

Esenca e sulmit është se gjatë trajtimit të një objekti të dëmshëm të dizajnuar veçmas në motorin JavaScript, krijohen kushte që çojnë në ekzekutimin spekulativ të instruktimeve, duke e lejuar aksesin në një array. Objekti zgjidhet në një mënyrë që fushat e kontrolluara nga sulmuesit vendosen në një zonë ku përdoret një tregues 64-bitësh. Duke qenë se tipi i objektit të dëmshëm nuk korrespondon me tipin e array-t që po trajtohet, nën kushte normale, një veprim i tillë bllokohet në Chrome nga mekanizmi i deoptimizimit të kodit, i aplikuar për qasjen në array. Për të zgjidhur këtë problem, kodi për sulmin e Confuzionit të Tipit kalon në një bllok kushtor «if» që nuk aktivizohet nën kushte normale, por ekzekutohet në modin spekulativ, kur procesori bën një parashikim të gabuar për branchimin e mëtejshëm.

Në përfundim, proçesi spekullativ i procesorit i qaset një treguesi 64-bit të formuar dhe ricenton gjendjen pas përcaktimit të një parashikimi të dështuar, por gjurmët e ekzekutimit mbeten në cache-në e përgjithshëm dhe mund të rikuperohen përmes metodave të identifikimit të përmbajtjes së cache nga kanale të jashtme, duke analizuar ndryshimin në kohën e qasjes në të dhëna të mbajtura në cache dhe të pa mbajtura në cache. Për analizën e përmbajtjes së cache në kushte të saktësisë së pamjaftueshme të timerit të disponueshëm në JavaScript, aplikohet metoda e propozuar nga Google, e cila mashtrojnë strategjinë e shfrytëzimit të cache-ëve Tree-PLRU të aplikuar në procesorë dhe lejon, përmes rritjes së numrit të cikleve, të rrisë ndjeshëm diferencën e kohës në prani dhe mungesë të vlerës në cache.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster