Google ṣe afihan ilokulo ti awọn ailagbara Specter nipa ṣiṣe JavaScript ni ẹrọ aṣawakiri

Google ti ṣe atẹjade ọpọlọpọ awọn apẹẹrẹ ilokulo ti n ṣafihan iṣeeṣe ti ilokulo awọn ailagbara kilasi Specter nigba ṣiṣe koodu JavaScript ninu ẹrọ aṣawakiri, ni ikọja awọn ọna aabo ti a ṣafikun tẹlẹ. Exploits le ṣee lo lati ni iraye si iranti ti ilana ṣiṣe akoonu wẹẹbu ni taabu lọwọlọwọ. Lati ṣe idanwo iṣẹ ti ilokulo, oju opo wẹẹbu leaky.page ti ṣe ifilọlẹ, ati pe koodu ti n ṣalaye ọgbọn ti iṣẹ naa ni a fiweranṣẹ lori GitHub.

Afọwọkọ ti a dabaa ti ṣe apẹrẹ lati kọlu awọn eto pẹlu awọn ilana Intel Core i7-6500U ni agbegbe kan pẹlu Linux ati Chrome 88. Lati lo nilokulo fun awọn agbegbe miiran, awọn iyipada nilo. Ọna ilokulo kii ṣe pato si awọn olutọsọna Intel - lẹhin aṣamubadọgba ti o yẹ, ilokulo naa ti jẹrisi lati ṣiṣẹ lori awọn eto pẹlu awọn Sipiyu lati ọdọ awọn aṣelọpọ miiran, pẹlu Apple M1 ti o da lori faaji ARM. Lẹhin awọn atunṣe kekere, ilokulo tun ṣiṣẹ ni awọn ọna ṣiṣe miiran ati ninu awọn aṣawakiri miiran ti o da lori ẹrọ Chromium.

Ni agbegbe ti o da lori boṣewa Chrome 88 ati awọn ilana Intel Skylake, o ṣee ṣe lati jo data lati ilana ti o ni iduro fun sisẹ akoonu wẹẹbu ni taabu Chrome lọwọlọwọ (ilana oluṣe) ni iyara ti 1 kilobyte fun iṣẹju kan. Ni afikun, awọn apẹẹrẹ miiran ti ni idagbasoke, fun apẹẹrẹ, ilokulo ti o fun laaye, ni idiyele idinku iduroṣinṣin, lati mu iwọn sisan pọ si 8kB/s nigba lilo aago iṣẹ.now () pẹlu deede ti 5 microseconds (0.005 milliseconds) ). A tun pese ẹya kan ti o ṣiṣẹ pẹlu deede aago kan ti iṣẹju-aaya kan, eyiti o le ṣee lo lati ṣeto iraye si iranti ilana miiran ni iyara ti iwọn 60 awọn baiti fun iṣẹju kan.

Koodu demo ti a tẹjade ni awọn ẹya mẹta. Apa akọkọ ṣe iwọn aago lati ṣe iṣiro akoko ipaniyan ti awọn iṣẹ ṣiṣe ti o nilo lati mu pada data ti o ku ninu kaṣe ero isise bi abajade ti ipaniyan akiyesi ti awọn ilana Sipiyu. Apa keji pinnu ifilelẹ iranti ti a lo nigbati o ba n pin akojọpọ JavaScript.

Apakan kẹta lo taara ailagbara Specter lati pinnu awọn akoonu iranti ti ilana lọwọlọwọ bi abajade ti ṣiṣẹda awọn ipo fun ipaniyan akiyesi ti awọn iṣẹ ṣiṣe kan, abajade eyiti o jẹ asonu nipasẹ ero isise lẹhin ipinnu asọtẹlẹ ti ko ni aṣeyọri, ṣugbọn awọn itọpa ti ipaniyan ti wa ni ipamọ ni kaṣe gbogbogbo ati pe o le tun pada ni lilo awọn ọna fun ṣiṣe ipinnu awọn akoonu ti kaṣe nipasẹ awọn ikanni ẹnikẹta ti o ṣe itupalẹ awọn ayipada ni akoko iwọle si data ti a fipamọ ati ti a ko fi pamọ.

Ilana ilokulo ti a dabaa jẹ ki o ṣee ṣe laisi awọn akoko deede-giga ti o wa nipasẹ iṣẹ ṣiṣe.now () API, ati laisi atilẹyin fun iru SharedArrayBuffer, eyiti o fun ọ laaye lati ṣẹda awọn akojọpọ ni iranti pinpin. Iwa nilokulo naa pẹlu ohun elo Specter, eyiti o fa ipaniyan akiyesi idari ti koodu, ati olutupalẹ jo ikanni ẹgbẹ kan, eyiti o ṣe awari data ti a fipamọ ti o gba lakoko ipaniyan arosọ.

Ohun elo naa jẹ imuse nipa lilo eto JavaScript kan ninu eyiti a ṣe igbiyanju lati wọle si agbegbe kan ni ita awọn aala ifipamọ, ti o kan ipo ti bulọki asọtẹlẹ ẹka nitori wiwa iwọn ifipamọ kan ti a ṣafikun nipasẹ alakojọ (isise naa ṣe akiyesi ni akiyesi wiwọle niwaju ti akoko, ṣugbọn yipo pada ipinle lẹhin ti yiyewo). Lati ṣe itupalẹ awọn akoonu ti kaṣe ni awọn ipo ti akoko deede ti ko to, ọna kan ti dabaa ti o tan ilana Igi-PLRU ti idasile data ti a lo ninu awọn ilana ati gba laaye, nipa jijẹ nọmba awọn iyipo, lati mu iyatọ pọ si ni akoko nigba ti o pada. iye kan lati kaṣe ati nigbati ko si iye ninu kaṣe.

O ṣe akiyesi pe Google ṣe atẹjade apẹrẹ kan ti ilokulo lati ṣe afihan iṣeeṣe ti awọn ikọlu nipa lilo awọn ailagbara kilasi Specter ati lati gba awọn olupilẹṣẹ wẹẹbu niyanju lati lo awọn ilana ti o dinku awọn eewu lati iru awọn ikọlu naa. Ni akoko kanna, Google gbagbọ pe laisi atunṣe pataki ti apẹrẹ ti a dabaa, ko ṣee ṣe lati ṣẹda awọn iṣamulo gbogbo agbaye ti o ṣetan kii ṣe fun ifihan nikan, ṣugbọn fun lilo ni ibigbogbo.

Lati dinku eewu naa, a gba awọn oniwun aaye ni iyanju lati lo awọn akọsori ti a ṣe imuṣẹ laipẹ Afihan Ibẹrẹ Origin Cross-Origin (COOP), Ilana Ibẹrẹ Origin (COEP), Ilana orisun orisun Agbekọja (CORP), Ibere ​​Metadata Fetch, X-Frame- Awọn aṣayan, X -Akoonu-Iru-Aṣayan ati SameSite kukisi. Awọn ọna ṣiṣe wọnyi ko ni aabo taara si awọn ikọlu, ṣugbọn wọn gba ọ laaye lati ya sọtọ data aaye lati jijo sinu awọn ilana ninu eyiti koodu JavaScript ikọlu le ṣee ṣe (jo naa waye lati iranti ti ilana lọwọlọwọ, eyiti, ni afikun si koodu ikọlu naa. , tun le ṣe ilana data lati aaye miiran ti o ṣii ni taabu kanna). Ero akọkọ ni lati yapa ipaniyan ti koodu aaye ni awọn ilana oriṣiriṣi lati koodu ẹni-kẹta ti a gba lati awọn orisun ti ko ni igbẹkẹle, fun apẹẹrẹ, pẹlu nipasẹ iframe.



orisun: opennet.ru

Fi ọrọìwòye kun