Google demonstron shfrytëzimin e dobësive të Spektrit duke përdorur JavaScript në një shfletues

Google zbuloi disa ditë më parë prototipet e ndryshme shfrytëzojnë që demonstrojnë mundësinë e shfrytëzimit të dobësive të klasës Specter kur ekzekuton kodin JavaScript në një shfletues, pa kaluar metodat e sigurisë të shtuara më sipër.

Shfrytëzimet mund të përdoren për të hyrë në memorjen e një procesi e cila është duke përpunuar përmbajtjen në internet në skedën aktuale. Për të testuar funksionimin e shfrytëzimit, uebfaqja për faqen e rrjedhur u hap dhe kodi që përshkruan logjikën e operacionit është publikuar në GitHub.

Prototipi i propozuar është krijuar për të sistemet e sulmit me Procesorët Intel Core i7-6500U në një mjedis Linux dhe Chrome 88, megjithëse kjo nuk përjashton që ndryshimet mund të bëhen për të përdorur shfrytëzimin në mjedise të tjera.

Metoda e funksionimit nuk është specifike për të përpunuesit Intel: pas adaptimit të duhur, Shfrytëzimi është konfirmuar për të punuar në sisteme me CPU të palëve të treta, përfshirë Apple M1 bazuar në arkitekturën ARM. Pas ndryshimeve të vogla, shfrytëzimi gjithashtu funksionon në sistemet e tjera operative dhe shfletuesit e tjerë bazuar në motorin Chromium.

Në një mjedis të bazuar në procesorët standardë Chrome 88 dhe Intel Skylake, kemi arritur një rrjedhje të të dhënave nga procesi përgjegjës për dhënien e përmbajtjes në ueb në skedën aktuale të Chrome (procesi i dhënies) me një shpejtësi prej 1 kilobyte në sekondë. Përveç kësaj, prototipa alternative u zhvilluan, për shembull, një shfrytëzim që lejon, me koston e stabilitetit të reduktuar, të rrisin shpejtësinë e rrjedhjes në 8kB / s kur përdorni performancën. Kohëmatësi tani () me një saktësi prej 5 mikrosekondash (0.005 milisekonda ) Developedshtë zhvilluar gjithashtu një variant që operon me një saktësi kohëmatës prej një milisekondë, i cili mund të përdoret për të organizuar hyrjen në memorjen e një procesi tjetër me një shpejtësi prej rreth 60 bajtësh në sekondë.

Kodi demo i botuar përbëhet nga tre pjesë:

  • Pjesa e parë kalibroni kohëmatësin për të vlerësuar kohën e funksionimit të operacioneve të nevojshme për të marrë të dhënat që mbeten në memorien e procesorit si rezultat i ekzekutimit spekulativ të udhëzimeve të CPU-së.
  • Pjesa e dytë Përcakton paraqitjen e kujtesës të përdorur kur caktohet koleksioni JavaScript.
  • Pjesa e tretë drejtpërdrejt shfrytëzon cenueshmërinë e Specter për të përcaktuar përmbajtjen e kujtesës të procesit aktual si rezultat i krijimit të kushteve për ekzekutimin spekulativ të operacioneve të caktuara, rezultati i të cilave hidhet nga procesori pas përcaktimit të një parashikimi të dështuar, por gjurmët e ekzekutimit vendosen në memorjen e përbashkët dhe mund të rikthehen duke përdorur metodat për të përcaktuar përmbajtjen e memorjes së fshehtë duke përdorur kanale të palëve të treta që analizojnë ndryshimin në kohën e hyrjes në të dhënat e memorizuara dhe jo të memorizuara.

Teknika e propozuar e shfrytëzimit eliminon kohëmatësit me precizion të lartë i disponueshëm përmes API-së të performancës. tani () dhe pa mbështetje për llojin SharedArrayBuffer, i cili ju lejon të krijoni vargje në kujtesën e përbashkët.

Shfrytëzimi përfshin pajisjen Specter, e cila shkakton ekzekutimin e kontrolluar të kodit spekulativ dhe një analizues të rrjedhjeve të kanalit anësor, i cili përcakton se cilat të dhëna janë fshehur gjatë ekzekutimit spekulativ.

Vegla zbatohet duke përdorur një koleksion JavaScript, në të cilën bëhet një përpjekje për të hyrë në një zonë jashtë kufijve të tamponit, e cila ndikon në gjendjen e bllokut të parashikimit të degës për shkak të pranisë së një kontrolli të madhësisë së buffer-it të shtuar nga përpiluesi (procesori në mënyrë spekulative kryen një akses para kohe, por e kthen gjendjen pas kontrollit).

Për të analizuar përmbajtjen e memorjes së fshehtë në kushte të precizitetit të pamjaftueshëm të kohëmatësit, u propozua një metodë që mashtron strategjinë e dëbimit të të dhënave të memorjes Cree-PLRU të përdorur në procesorë dhe lejon, duke rritur numrin e cikleve, të rrisë ndjeshëm kohën e ndryshimit kur vlera kthehet nga cache dhe në mungesë të një vlere në cache.

Google ka publikuar një prototip të shfrytëzimit për të treguar realizueshmërinë e sulmeve duke përdorur dobësitë e klasës Specter dhe inkurajoni zhvilluesit e faqeve të përdorin teknika që minimizojnë rreziqet e sulmeve të tilla.

Në të njëjtën kohë, Google beson se pa një rishikim të rëndësishëm të prototipit të propozuar, është e pamundur të krijohen shfrytëzime universale që janë gati jo vetëm për demonstrim, por edhe për përdorim të gjerë.

Fuente: https://security.googleblog.com


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.