Spook.js, en ny teknik för att utnyttja Specter -sårbarheter i Chrome

En grupp forskare från amerikanska, australiska och israeliska universitet rapporterade det beskrev en ny attackteknik som gör det möjligt att utnyttja sårbarheter Spectre-klass på kromdrivna webbläsare.

Attacken, kodnamn Spook.js, tillåter vid körning av JavaScript -kod kringgå webbplatsisolationsmekanismen och läsa innehållet i hela adressutrymmet i den aktuella processen, det vill säga åtkomst till data från sidorna som körs på andra flikar, men som behandlas i samma process.

Eftersom Chrome lanserar olika webbplatser i olika processer är praktiska attacker begränsade till tjänster som tillåter olika användare att vara värd för sina sidor. Attackmetoden för Spook.js gör det möjligt från en sida där en angripare kan bädda in sin JavaScript -kod, bestämma förekomsten av andra sidor som öppnats av användaren av samma webbplats och extrahera konfidentiell information av dem, till exempel autentiseringsuppgifter eller bankuppgifter som ersätts av systemet för autoslutförande i webbformulär.

En annan tillämpning av metoden är en attack mot webbläsarplugins, som gör det möjligt att extrahera data från andra insticksprogram när ett angreppsstyrt plug-in är installerat.

Spook.js är tillämplig på alla webbläsare baserade på Chromium -motorn, inklusive Google Chrome, Microsoft Edge och Brave. Forskarna tror också att metoden kan anpassas för att fungera med Firefox, men eftersom Firefox -motorn skiljer sig mycket från Chrome, är arbetet med att skapa en sådan exploatering överlåtet till framtiden.

För att skydda mot attacker relaterade till spekulativt genomförande av instruktioner via webbläsaren implementeras adressutrymmesegmentering i Chrome: sandlådaisolering gör att JavaScript endast fungerar med 32-bitars pekare och delar minnet för handkontrollen i icke-överlappande staplar på 4 GB.

För att organisera åtkomst till hela adressutrymmet i processen och undvika 32-bitarsbegränsningen använde forskarna typen förvirringsteknik, som gör att JavaScript-motorn kan bearbeta ett objekt med fel typ, vilket gör det möjligt att bilda en 64-bitars kod baserad på en kombination av två 32-bitars värden.

Kärnan i attacken är att genom att bearbeta ett specialtillverkat skadligt objekt i JavaScript -motorn skapas villkor som leder till spekulativ körning av instruktioner som får tillgång till arrayen. Objektet väljs på ett sådant sätt att fälten som styrs av angriparna placeras i det område där 64-bitars pekaren används.

Eftersom typen av skadligt objekt inte motsvarar typen av array som bearbetas, blockeras sådana åtgärder i normala förhållanden i Chrome av avoptimeringsmekanismen för koden som används för att komma åt matriserna. För att lösa detta problem placeras Type Confusion -attackkoden i ett "if" -villkorat block, som inte avfyras under normala förhållanden, men körs i spekulativt läge, om processorn felaktigt förutsäger fler grenar.

Som ett resultat får processorn spekulativt åtkomst till den genererade 64-bitars pekaren och återställer tillståndet efter att ha fastställt den misslyckade förutsägelsen, men körningsspåren ställs in i den delade cachen och kan återställas med hjälp av metoder för att bestämma innehållet i cacheminnet genom tredje- partskanaler, analyserar förändringen i åtkomsttid till cachade och icke-cachelagrade data.

För att analysera innehållet i cacheminnet under förhållandena med otillräcklig precision för timern som är tillgänglig i JavaScript, används en metod som föreslagits av Google som lurar Tree-PLRU cache-datautdrivningsstrategin som används i processorer och tillåter, genom att öka antalet cykler, att öka tidsskillnaden avsevärt i närvaro och frånvaro av ett värde i cachen.

Forskare har släppt en prototyputnyttjande som fungerar i Chrome 89 en-system med Intel i7-6700K och i7-7600U. Utnyttjandet skapades med prototyper av JavaScript -kod som tidigare publicerats av Google för att utföra Spectre -attacker.

Slutligen nämner forskarna det lyckats förbereda arbetsnyttor för system baserade på Intel- och Apple M1 -processorer, som ges möjlighet att organisera det lästa minnet med en hastighet av 500 byte per sekund och en noggrannhet på 96%. Metoden är tänkt att vara tillämplig på AMD -processorer, men det var inte möjligt att förbereda ett fullt fungerande utnyttjande.

Fuente: https://www.spookjs.com


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.