Încă o săptămână, încă BWAIN!
După cum veți ști dacă ați ascultat-o pe cea de săptămâna trecută Podcast (aluzie, aluzie!), BWAIN este prescurtarea pentru Bug cu un nume impresionant:
Este o poreclă pe care o aplicăm atunci când cei care au descoperit un nou atac de securitate cibernetică sunt atât de încântați de descoperirea lor încât îi dau o poreclă prietenoasă pentru PR, înregistrează un nume de domeniu vanity pentru el, îi construiesc un site web personalizat și îi creează un logo special.
De data asta, numele Ciocnire+putere include un caracter de punctuație deranjant, care este un plus în denumirea erorilor, dar un minus la înregistrarea unui domeniu de internet. (În mod ironic, este permisă utilizarea numelor de domenii -
, Dar nu +
).
Deci, numele de domeniu a trebuit să fie abreviat ușor la https://collidepower.com, dar site-ul web vă va oferi oricum o imagine de ansamblu asupra problemei, chiar și cu semnul de adunare scăzut.
Ciocniți datele din cache și măsurați puterea necesară
Cercetătorii din spatele acestui nou hârtie sunt Andreas Kogler, Jonas Juffinger, Lukas Giner, Martin Schwarzl, Daniel Gruss și Stefan Mangard de la Universitatea Graz din Austria și Lukas Gerlach și Michael Schwarz de la Centrul CISPA Helmholtz pentru Securitatea Informației din Germania.
Nu vom încerca să explicăm diferitele forme ale acestui atac pe o lungă durată, deoarece detaliile tehnice ale modului de efectuare a măsurătorilor și modelarea matematică folosită pentru a face inferențe din acele măsurători sunt complexe.
Dar miezul problemei, dacă scuzați jocul de cuvinte parțial, este că memoria cache care este îngropată în cipurile de procesor moderne, menită să ofere o creștere invizibilă și automată a performanței...
…nu este întotdeauna atât de invizibil pe cât ați putea crede și, uneori, poate scurge o parte sau tot conținutul său, chiar și către procese care nu ar trebui să îl poată vedea.
După cum sugerează și numele, memoria cache (se pronunță numerar, ca în dolari și cenți, nu timbru, ca și în respect și prestigiu, dacă v-ați întrebat vreodată), păstrează copii speciale ale valorilor datelor din RAM convențională în locații ascunse în interiorul cipul CPU însuși.
Dacă procesorul ține evidența adreselor RAM (locații de memorie) pe care le-ați folosit recent și poate ghici suficient de bine pe care este posibil să le utilizați din nou în curând, le poate păstra temporar în memoria cache și, astfel, poate accelera foarte mult al doilea acces la acele valori și al treilea acces, al patrulea și așa mai departe.
De exemplu, dacă căutați o serie de valori de date într-un tabel pentru a converti pixelii imaginii dintr-un format de culoare în altul, este posibil să descoperiți că de cele mai multe ori tabelul de căutare vă spune să vizitați fie adresa RAM 0x06ABCC00 (care ar putea fie unde este stocat codul special pentru „pixel negru” sau adresa 0x3E00A040 (care ar putea fi locația codului „pixel transparent”).
Păstrând automat valorile de la acele două adrese de memorie necesare în mod obișnuit în memoria sa, procesorul poate scurtcircuita (în sens figurat, nu la propriu!) încercările viitoare de a accesa acele adrese, astfel încât să nu fie nevoie să trimiteți semnale electrice în afara procesorului, peste placa de bază și în cipurile RAM reale pentru a citi copia principală a datelor care sunt stocate acolo.
Deci, datele din cache sunt de obicei mult mai rapid de accesat decât datele din memoria RAM de pe placa de bază.
În general, totuși, nu puteți alege ce registre cache se obișnuiesc pentru a stoca adresele RAM și nu puteți alege când CPU decide să nu mai memoreze în cache valoarea „codului de pixeli transparent” și să înceapă să memoreze cache a unui alt program. în schimb, „cheie criptografică super-secretă”.
Într-adevăr, memoria cache poate conține un amestec liberal de valori, dintr-un amestec liberal de adrese RAM, aparținând unui amestec liberal de conturi de utilizator și niveluri de privilegii diferite, toate în același timp.
Din acest motiv, alături de motive de eficiență și performanță, chiar și programele la nivel de administrator nu pot arunca o privire directă la lista de adrese aflate în cache în prezent sau nu pot ajunge la valorile acestora, pentru a proteja datele din cache împotriva istoriei externe.
În calitate de programator, încă folosiți instrucțiunea codului mașinii „citește codul pixelului transparent de la adresa 0x3E00A040”, iar sistemul de operare decide în continuare dacă ar trebui să aveți acces la acele date pe baza adresei numerice 0x3E00A040, chiar dacă datele vin în cele din urmă direct din cache, nu de la adresa RAM adevărată 0x3E00A040.
Prețul unui bit-flip
Ceea ce au descoperit cercetătorii Collide+Power, foarte simplificat, este că, deși nu poți arunca o privire directă asupra datelor temporare din stocarea cache și, prin urmare, nu poți ocoli protecția memoriei care s-ar aplica dacă ai trece prin adresa sa RAM oficială. …
...puteți ghici când anumite valori de date sunt pe cale să fie scrise în registre de stocare cache specifice.
Și când un număr deja stocat în cache este înlocuit cu altul, puteți face inferențe despre ambele valori, măsurând cât de multă putere folosește procesorul în proces.
(Procesoarele moderne includ de obicei registre interne speciale care vă oferă citiri ale consumului de energie, astfel încât nu trebuie să deschideți carcasa computerului și să atașați un fir de sondă fizică undeva pe placa de bază.)
În mod intrigant, consumul de energie al procesorului în sine, atunci când suprascrie o valoare cache cu una nouă, depinde de câți biți s-au schimbat între numere.
Dacă simplificăm chestiunile la octeți individuali, atunci suprascriem valoarea binară 0b00000000
cu 0b11111111
(schimbarea zecimalului 0 la zecimal 255) necesită răsturnarea tuturor biților din octet, care ar consuma cea mai mare putere.
Suprascrierea caracterului ASCII A
(65 în zecimală) cu Z
(90 în zecimală) înseamnă schimbare 0b01000001
în 0b01011010
, unde patru poziții de biți sunt inversate, consumând astfel o cantitate medie de putere
Și dacă se întâmplă ca numerele să fie aceleași, niciun biți nu trebuie să fie răsucit, ceea ce ar consuma cea mai mică putere.
În general, dacă XOR cele două numere împreună și numărați numărul de 1 biți din răspuns, găsiți numărul de flip-uri, deoarece 0 XOR 0 = 0
și 1 XOR 1 = 0
(deci zero denotă nici un flip), în timp ce 0 XOR 1 = 1
și 1 XOR 0 = 1
(indicând o răsturnare).
Cu alte cuvinte, dacă puteți accesa o grămadă de adrese alese proprii într-un mod care activează un anumit set de registre cache în interiorul procesorului și apoi monitorizați consumul de energie suficient de precis când codul altcuiva primește datele alocate acelor cache locatii in schimb...
…apoi puteți face inferențe despre câți biți s-au întors între vechiul conținut cache și cel nou.
Desigur, puteți alege valorile stocate în adresele cu care ați amorsat registrele cache, astfel încât să nu știți doar câți biți au fost inversați, dar știți și care au fost valorile de pornire ale acelor biți înainte ca flip-urile să fie luate. loc.
Acest lucru vă oferă încă mai multe date statistice cu care să preziceți noile valori probabile din cache, având în vedere că știți ce a fost acolo înainte și numărul probabil de biți care sunt acum diferiți.
Este posibil să nu vă puteți da seama exact ce date folosea procesul victimei dvs., dar chiar dacă puteți elimina unele modele de biți, tocmai ați învățat ceva ce nu ar trebui să știți.
Și dacă acele date ar fi, să zicem, o cheie de criptare de vreun fel, s-ar putea să puteți converti un atac nerealizat de forță brută într-un atac în care ați putea pur și simplu să reușiți.
De exemplu, dacă puteți prezice 70 de biți într-o cheie de criptare de 128 de biți, atunci în loc să încercați toate combinațiile de 128 de biți, ceea ce ar fi o sarcină imposibilă, ar trebui să încercați 258 chei diferite în schimb (128 – 70 = 58), ceea ce ar putea foarte bine să fie fezabil.
Nu trebuie să intrați în panică
Din fericire, această „vulnerabilitate” (denumită acum CVE-2023-20583) este puțin probabil să fie folosit împotriva ta în curând.
Este mai degrabă o chestiune teoretică de care producătorii de cipuri trebuie să țină cont, pe baza truismului că atacurile de securitate cibernetică „devin întotdeauna mai bune și mai rapide”, decât o gaură exploatabilă care ar putea fi folosită astăzi.
De fapt, cercetătorii admit, aproape timid, că „tu nu trebuie să vă faceți griji. "
Chiar au scris tu cu caractere cursive și imprecația sa nu-ti faci griji cu aldine:
În concluzia lucrării, cercetătorii observă cu regret că unele dintre cele mai bune rezultate din lumea reală cu acest atac, în condiții ideale de laborator, au scurs doar 5 biți pe oră.
Pentru unul dintre scenariile lor de atac, de fapt, ei au recunoscut că s-au confruntat cu „limitări practice care au condus la rate de scurgere de mai mult de [un] an pe bit”.
Da, ați citit corect – l-am verificat de mai multe ori în ziar doar pentru a ne asigura că nu ne-am imaginat.
Și asta, desigur, ridică întrebarea: „Cât timp trebuie să lăsați o colecție de teste de transfer de date în funcțiune înainte de a putea măsura în mod fiabil ratele de transmisie atât de scăzute?”
După calculele noastre, un bit pe an vă oferă aproximativ 125 de octeți pe mileniu. În acest ritm, descărcarea filmului de succes de trei ore lansat recent Oppenheimer la calitate IMAX, care se pare că ocupă aproximativ o jumătate de terabyte, ar dura aproximativ 4 miliarde de ani. Pentru a pune în perspectivă acel factoid bizar, Pământul însuși are doar aproximativ 4.54 miliarde de ani, mai puțin de câteva sute de milioane de luni.
Ce să fac?
Cel mai simplu mod de a trata CVE-2023-20538 chiar acum este să nu faci nimic, având în vedere că înșiși cercetătorii te-au sfătuit să nu-ți faci griji.
Dacă simțiți nevoia să faceți ceva, atât procesoarele Intel, cât și AMD au modalități de a reduce în mod intenționat acuratețea instrumentelor lor de măsurare a puterii, adăugând zgomot aleatoriu în citirile de putere.
Acest lucru vă lasă mediile corecte, dar variază suficient de mult citirile individuale pentru a face acest atac care nu este cu adevărat fezabil și mai greu de realizat.
Reducerea măsurării puterii de la Intel este cunoscută ca limita de putere medie de rulare (RAPL).; AMD este denumită modul de determinism de performanță.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :este
- :nu
- :Unde
- $UP
- 1
- 15%
- 25
- 70
- 700
- a
- Capabil
- Despre Noi
- Absolut
- acces
- Cont
- Conturi
- precizie
- precis
- peste
- curent
- adăugare
- plus
- adresa
- adrese
- admite
- admise
- din nou
- împotriva
- TOATE
- permis
- de-a lungul
- deja
- de asemenea
- Cu toate ca
- mereu
- AMD
- sumă
- an
- și
- O alta
- răspunde
- Orice
- aplicat
- Aplică
- aproximativ
- SUNT
- AS
- alocate
- At
- atașa
- ataca
- Atacuri
- Încercările
- Austria
- autor
- Auto
- Automat
- în mod automat
- in medie
- imagine de fundal
- bazat
- bază
- BE
- deoarece
- înainte
- în spatele
- fiind
- CEL MAI BUN
- Mai bine
- între
- Miliard
- Pic
- blockbuster
- frontieră
- atât
- De jos
- brute force
- Bug
- construi
- Buchet
- dar
- by
- Cache
- calcule
- CAN
- caz
- Centru
- si-a schimbat hainele;
- schimbarea
- caracter
- verificat
- cip
- Chips
- Alege
- ales
- ciocnire
- cod
- colectare
- culoare
- COM
- combinaţii
- vine
- complex
- calculator
- concluzie
- Condiții
- consuma
- consum
- conţine
- conţinut
- conținut
- convențional
- converti
- Nucleu
- corecta
- ar putea
- Curs
- acoperi
- crăpa
- În prezent
- personalizat
- Securitate cibernetică
- Daniel
- de date
- afacere
- denotă
- depinde de
- Amenajări
- detalii
- FĂCUT
- diferit
- direct
- a descoperit
- descoperire
- Afişa
- do
- de dolari
- domeniu
- Domain Name
- NUMELE DE DOMENIU
- Dont
- numit
- Pământ
- eficiență
- oricare
- elimina
- Altele
- criptare
- suficient de
- Chiar
- EVER
- exact
- exemplu
- excitat
- Explica
- extern
- fapt
- mai repede
- realizabil
- simţi
- puțini
- Figura
- Găsi
- Flip
- Întoarceri
- Pentru
- Forţarea
- format
- formulare
- patru
- Al patrulea
- din
- viitor
- General
- Germania
- obține
- Da
- dat
- oferă
- merge
- foarte mult
- HAD
- Jumătate
- întâmpla
- Mai tare
- Avea
- înălțime
- Ascuns
- Gaură
- oră
- planare
- Cum
- Cum Pentru a
- Totuși
- HTML
- HTTPS
- sută
- ideal
- if
- imagine
- imposibil
- impresionant
- in
- include
- include
- individ
- informații
- securitatea informațiilor
- în interiorul
- in schimb
- Intel
- destinate
- intern
- Internet
- în
- Ironic
- IT
- ESTE
- în sine
- doar
- A pastra
- păstrare
- Cheie
- chei
- Cunoaște
- cunoscut
- de laborator
- Nume
- conducere
- scăpa
- învățat
- cel mai puțin
- Părăsi
- stânga
- Lungime
- nivelurile de
- Probabil
- LIMITĂ
- limitări
- Listă
- locaţie
- Locații
- siglă
- Lung
- cautati
- căutare
- Jos
- maşină
- face
- Producătorii
- multe
- Margine
- Martin
- maestru
- matematic
- materie
- materie
- max-width
- Mai..
- mijloace
- măsura
- măsurare
- măsurători
- măsurare
- Memorie
- Michael
- ar putea
- Millennium
- milion
- atenuare
- amesteca
- amestec
- modelare
- Modern
- monitor
- luni
- mai mult
- cele mai multe
- film
- mult
- nume
- nume
- denumire
- Nevoie
- Nou
- Nu.
- Zgomot
- Nici unul
- normală.
- nimic
- acum
- număr
- numere
- of
- de pe
- oficial
- Vechi
- on
- ONE
- cele
- afară
- deschide
- de operare
- sistem de operare
- or
- Altele
- al nostru
- afară
- exterior
- Prezentare generală
- propriu
- Hârtie
- modele
- Paul
- pentru
- performanță
- perspectivă
- fizic
- Pixel
- Loc
- Plato
- Informații despre date Platon
- PlatoData
- la care se adauga
- poziţie
- postări
- putere
- prezice
- Prestigiu
- preţ
- privilegiu
- probabil
- sondă
- Problemă
- proces
- procese
- procesor
- procesoare
- Programator
- Programe
- pronunţat
- proteja
- protecţie
- furniza
- scop
- pune
- calitate
- întrebare
- ridică
- RAM
- aleator
- rată
- tarife
- Citeste
- lumea reală
- într-adevăr
- motiv
- motive
- recent
- reduce
- menționat
- Inregistreaza-te
- înregistrare
- registre
- relativ
- eliberat
- înlocuiește
- Necesită
- cercetători
- respect
- REZULTATE
- dreapta
- funcţionare
- acelaşi
- Spune
- scenarii
- Negru
- Al doilea
- securitate
- vedea
- trimite
- serie
- set
- câteva
- Pantaloni scurți
- semna
- semnalele
- simplificată
- simplifica
- teren
- IGMP
- So
- solid
- unele
- Cineva
- ceva
- undeva
- curând
- vorbire
- special
- specific
- viteză
- Începe
- Pornire
- statistic
- Încă
- Stop
- depozitare
- stoca
- stocate
- reuși
- sugerează
- a presupus
- sigur
- SVG
- sistem
- tabel
- Lua
- ia
- Sarcină
- Tehnic
- spune
- temporar
- teste
- decât
- acea
- lor
- Lor
- se
- apoi
- teoretic
- Acolo.
- prin urmare
- ei
- crede
- Al treilea
- acest
- aceste
- Prin urmare
- timp
- la
- astăzi
- împreună
- a luat
- Unelte
- top
- urmări
- transfer
- tranziţie
- transparent
- adevărat
- încerca
- Două
- în cele din urmă
- în
- universitate
- improbabil
- URL-ul
- Folosire
- utilizare
- utilizat
- Utilizator
- folosind
- obișnuit
- valoare
- Valori
- VANITATE
- diverse
- foarte
- de
- Vizita
- a fost
- Cale..
- modalități de
- we
- website
- săptămână
- BINE
- a mers
- au fost
- Ce
- cand
- dacă
- care
- în timp ce
- lățime
- voi
- Fire de sârmă
- cu
- cuvinte
- face griji
- ar
- scrie
- scris
- an
- ani
- încă
- Tu
- Ta
- zephyrnet
- zero