Un'altra settimana, un altro BWAIN!
Come saprai se hai ascoltato la scorsa settimana Podcast (accennare, accennare!), BWAIN è l'abbreviazione di Bug con un nome impressionante:
È un soprannome che applichiamo quando gli scopritori di un nuovo attacco alla sicurezza informatica sono così entusiasti della loro scoperta che gli danno un soprannome adatto alle pubbliche relazioni, registrano un nome di dominio vanity per esso, costruiscono un sito Web personalizzato e progettano un logo speciale.
Questa volta il nome Collisione+Potenza include un fastidioso carattere di punteggiatura, che è un vantaggio nella denominazione dei bug, ma uno svantaggio quando si registra un dominio Internet. (Ironia della sorte, i nomi di dominio possono essere utilizzati -
, Ma non +
).
Quindi, il nome di dominio doveva essere leggermente abbreviato in https://collidepower.com, ma il sito Web fornirà comunque una panoramica del problema, anche con il segno di addizione sottratto.
Confronta i dati memorizzati nella cache e misura la potenza richiesta
I ricercatori dietro questo nuovo carta sono Andreas Kogler, Jonas Juffinger, Lukas Giner, Martin Schwarzl, Daniel Gruss e Stefan Mangard dell'Università di Graz in Austria, e Lukas Gerlach e Michael Schwarz del CISPA Helmholtz Center for Information Security in Germania.
Non cercheremo di spiegare a lungo le varie forme di questo attacco, perché i dettagli tecnici su come effettuare le misurazioni ei modelli matematici utilizzati per trarre deduzioni da tali misurazioni sono complessi.
Ma il nocciolo del problema, se mi perdonerete il gioco di parole parziale, è che la memoria cache che è sepolta all'interno dei moderni chip del processore, destinata a fornire un aumento invisibile e automatico delle prestazioni...
…non è sempre così invisibile come si potrebbe pensare e talvolta può far trapelare parte o tutto il suo contenuto, anche a processi che non dovrebbero essere in grado di vederlo.
Come suggerisce il nome, memoria cache (si pronuncia Contanti, come in dollari e centesimi, no timbro, come rispetto e prestigio, se te lo sei mai chiesto), conserva copie speciali dei valori dei dati dalla RAM convenzionale in posizioni nascoste all'interno del chip della CPU stesso.
Se la CPU tiene traccia degli indirizzi RAM (posizioni di memoria) che hai utilizzato di recente e può indovinare abbastanza bene quali probabilmente utilizzerai di nuovo presto, può tenerli temporaneamente nella sua memoria cache e quindi accelerare notevolmente il tuo secondo accesso a quei valori, e il terzo accesso, il quarto e così via.
Ad esempio, se stai cercando una serie di valori di dati in una tabella per convertire i pixel dell'immagine da un formato di colore a un altro, potresti scoprire che la maggior parte delle volte la tabella di ricerca ti dice di visitare l'indirizzo RAM 0x06ABCC00 (che potrebbe dove è memorizzato il codice speciale per "pixel nero") o l'indirizzo 0x3E00A040 (che potrebbe essere la posizione del codice "pixel trasparente").
Mantenendo automaticamente i valori di questi due indirizzi di memoria comunemente necessari nella sua cache, la CPU può cortocircuitare (in senso figurato, non letteralmente!) i tentativi futuri di accedere a quegli indirizzi, in modo che non sia necessario inviare segnali elettrici all'esterno del processore, attraverso la scheda madre e nei chip RAM effettivi per leggere la copia principale dei dati che sono archiviati lì.
Pertanto, i dati memorizzati nella cache sono in genere molto più veloci da accedere rispetto ai dati nella RAM della scheda madre.
In generale, tuttavia, non puoi scegliere quali registri della cache utilizzare per memorizzare quali indirizzi RAM e non puoi scegliere quando la CPU decide di interrompere la memorizzazione nella cache del valore del "codice pixel trasparente" e iniziare a memorizzare nella cache il valore di un altro programma “chiave crittografica super segreta” invece.
In effetti, la cache può contenere un mix liberale di valori, da un mix liberale di indirizzi RAM, appartenenti a un mix liberale di diversi account utente e livelli di privilegio, tutti allo stesso tempo.
Per questo motivo, insieme a motivi di efficienza e prestazioni, anche i programmi a livello di amministratore non possono sbirciare direttamente l'elenco di indirizzi attualmente memorizzati nella cache o ottenere i loro valori, per proteggere i dati memorizzati nella cache dallo snooping esterno.
Come programmatore, usi ancora l'istruzione del codice macchina "leggi il codice del pixel trasparente dall'indirizzo 0x3E00A040" e il sistema operativo decide ancora se dovresti avere accesso a quei dati in base all'indirizzo numerico 0x3E00A040, anche se il i dati alla fine provengono direttamente dalla cache anziché dal vero indirizzo RAM 0x3E00A040.
Il prezzo di un capovolgimento
Ciò che i ricercatori di Collide+Power hanno scoperto, molto semplificato, è che sebbene non sia possibile sbirciare direttamente i dati temporanei nella memoria cache, e quindi non è possibile eludere la protezione della memoria che verrebbe applicata se si passasse attraverso il suo indirizzo RAM ufficiale …
… puoi indovinare quando specifici valori di dati stanno per essere scritti in specifici registri di archiviazione della cache.
E quando un numero già memorizzato nella cache viene sostituito da un altro, puoi fare inferenze su entrambi i valori misurando la quantità di energia utilizzata dalla CPU nel processo.
(I processori moderni di solito includono registri interni speciali che forniscono letture sull'utilizzo dell'energia per te, quindi non è necessario aprire il case del computer e collegare un filo della sonda fisica da qualche parte sulla scheda madre.)
Curiosamente, il consumo energetico della CPU stessa, quando sovrascrive un valore della cache con uno nuovo, dipende da quanti bit sono cambiati tra i numeri.
Se semplifichiamo le questioni ai singoli byte, sovrascrivendo il valore binario 0b00000000
con 0b11111111
(cambiando il decimale 0 nel decimale 255) richiede il capovolgimento di tutti i bit nel byte, che consumerebbe più energia.
Sovrascrivere il carattere ASCII A
(65 in decimale) con Z
(90 in decimale) significa cambiare 0b01000001
ai miglioramenti 0b01011010
, dove vengono invertite quattro posizioni di bit, consumando così una quantità media di energia
E se i numeri sono gli stessi, non è necessario capovolgere i bit, il che consumerebbe meno energia.
In generale, se esegui l'XOR tra i due numeri e conti il numero di bit 1 nella risposta, trovi il numero di lanci, perché 0 XOR 0 = 0
ed 1 XOR 1 = 0
(quindi zero indica nessun capovolgimento), mentre 0 XOR 1 = 1
ed 1 XOR 0 = 1
(che denota un capovolgimento).
In altre parole, se puoi accedere a una serie di indirizzi scelti da te in modo da innescare un insieme specifico di registri cache all'interno della CPU e quindi monitorare il consumo di energia in modo sufficientemente accurato quando il codice di qualcun altro ottiene i suoi dati assegnati a quella cache località invece...
…poi puoi fare inferenze su quanti bit sono stati capovolti tra il vecchio contenuto della cache e il nuovo.
Naturalmente, puoi scegliere i valori memorizzati negli indirizzi con cui hai innescato i registri della cache, quindi non solo sai quanti bit probabilmente sono stati capovolti, ma sai anche quali erano i valori iniziali di quei bit prima che i lanci prendessero posto.
Ciò ti fornisce ancora più dati statistici con cui prevedere i probabili nuovi valori nella cache, dato che sai cosa c'era prima e il probabile numero di bit che ora sono diversi.
Potresti non essere in grado di capire esattamente quali dati stava utilizzando il processo della tua vittima, ma anche se riesci a eliminare alcuni schemi di bit, hai appena imparato qualcosa che non dovresti sapere.
E se quei dati fossero, diciamo, una chiave di crittografia di qualche tipo, potresti essere in grado di convertire un attacco di forza bruta irrealizzabile in un attacco in cui potresti semplicemente avere successo.
Ad esempio, se puoi prevedere 70 bit in una chiave di crittografia a 128 bit, allora invece di provare tutte le combinazioni di 128 bit, il che sarebbe un compito impossibile, dovresti provare 258 chiavi diverse invece (128 – 70 = 58), il che potrebbe benissimo essere fattibile.
Non c'è bisogno di farsi prendere dal panico
Fortunatamente, questa "vulnerabilità" (ora soprannominata CVE-2023-20583) è improbabile che venga usato contro di te in tempi brevi.
È più una questione teorica che i produttori di chip devono tenere in considerazione, sulla base della verità ovvia secondo cui gli attacchi alla sicurezza informatica "diventano sempre migliori e più veloci", piuttosto che un buco sfruttabile che potrebbe essere sfruttato oggi.
Infatti, i ricercatori ammettono, quasi imbarazzati, che “Tu non devi preoccuparti. "
Hanno scritto davvero Tu in corsivo, e l'imprecazione da non preoccuparsi in grassetto:
Nella conclusione del documento, i ricercatori notano mestamente che alcuni dei loro migliori risultati nel mondo reale con questo attacco, in condizioni di laboratorio ideali, sono trapelati a soli 5 bit all'ora.
Per uno dei loro scenari di attacco, infatti, hanno ammesso di aver incontrato "limitazioni pratiche che portano a tassi di perdita superiori a [un] anno per bit".
Sì, hai letto bene: l'abbiamo controllato più volte sul giornale solo per assicurarci che non lo stessimo immaginando.
E questo, ovviamente, solleva la domanda: "Quanto tempo devi lasciare in esecuzione una raccolta di test di trasferimento dati prima di poter misurare in modo affidabile velocità di trasmissione così basse?"
Secondo i nostri calcoli, un bit all'anno ti dà circa 125 byte per millennio. A quel ritmo, scaricando il film campione d'incassi di tre ore recentemente pubblicato Oppenheimer in qualità IMAX, che a quanto pare occupa circa mezzo terabyte, impiegherebbe circa 4 miliardi di anni. Per mettere in prospettiva quel bizzarro fattoide, la Terra stessa ha solo circa 4.54 miliardi di anni, più o meno qualche centinaio di milioni di mesi.
Cosa fare?
Il modo più semplice per affrontare CVE-2023-20538 in questo momento è non fare nulla, dato che gli stessi ricercatori ti hanno consigliato di non preoccuparti.
Se senti la necessità di fare qualcosa, sia i processori Intel che AMD hanno modi per ridurre di proposito la precisione dei loro strumenti di misurazione della potenza, aggiungendo rumore casuale nelle letture della potenza.
Ciò lascia le tue medie corrette ma varia le letture individuali sufficientemente da rendere questo attacco già non realmente fattibile ancora più difficile da portare a termine.
La mitigazione della misurazione della potenza di Intel è nota come filtraggio del limite di potenza media in esecuzione (RAPL).; AMD è indicato come modalità di determinismo delle prestazioni.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :È
- :non
- :Dove
- $ SU
- 1
- 15%
- 25
- 70
- 700
- a
- capace
- WRI
- Assoluta
- accesso
- Il mio account
- conti
- precisione
- con precisione
- operanti in
- presenti
- l'aggiunta di
- aggiunta
- indirizzo
- indirizzi
- ammettere
- ammesso
- ancora
- contro
- Tutti
- permesso
- lungo
- già
- anche
- Sebbene il
- sempre
- AMD
- quantità
- an
- ed
- Un altro
- rispondere
- in qualsiasi
- applicato
- APPLICA
- circa
- SONO
- AS
- addetto
- At
- allegare
- attacco
- attacchi
- Tentativi
- Austria
- autore
- auto
- Automatico
- automaticamente
- media
- background-image
- basato
- base
- BE
- perché
- prima
- dietro
- essendo
- MIGLIORE
- Meglio
- fra
- Miliardo
- Po
- campione d'incassi
- perno
- sistema
- entrambi
- Parte inferiore
- forza bruta
- Insetto
- costruire
- Mazzo
- ma
- by
- Cache
- calcoli
- Materiale
- Custodie
- centro
- cambiato
- cambiando
- carattere
- controllato
- patata fritta
- Chips
- Scegli
- scelto
- Scontro
- codice
- collezione
- colore
- COM
- combinazioni
- viene
- complesso
- computer
- conclusione
- condizioni
- consumare
- consumo
- contenere
- contenuto
- testuali
- convenzionale
- convertire
- Nucleo
- correggere
- potuto
- Portata
- coprire
- crepa
- Attualmente
- costume
- Cybersecurity
- Daniel
- dati
- affare
- denota
- dipende
- Design
- dettagli
- DID
- diverso
- direttamente
- scoperto
- scoperta
- Dsiplay
- do
- dollari
- dominio
- Domain Name
- NOMI DI DOMINIO
- Dont
- soprannominato
- terra
- efficienza
- o
- eliminato
- Di qualcun'altro
- crittografia
- abbastanza
- Anche
- EVER
- di preciso
- esempio
- eccitato
- Spiegare
- esterno
- fatto
- più veloce
- fattibile
- sentire
- pochi
- figura
- Trovate
- Capovolgere
- flips
- Nel
- forza
- formato
- forme
- quattro
- Quarto
- da
- futuro
- Generale
- Germania
- ottenere
- Dare
- dato
- dà
- andando
- molto
- ha avuto
- Metà
- accadere
- Più forte
- Avere
- altezza
- nascosto
- Foro
- ora
- librarsi
- Come
- Tutorial
- Tuttavia
- HTML
- HTTPS
- misura di peso di 5.8 chili
- ideale
- if
- Immagine
- impossibile
- impressionante
- in
- includere
- inclusi
- individuale
- informazioni
- informazioni di sicurezza
- interno
- invece
- Intel
- destinato
- interno
- Internet
- ai miglioramenti
- ironicamente
- IT
- SUO
- stessa
- ad appena
- mantenere
- conservazione
- Le
- Tasti
- Sapere
- conosciuto
- laboratorio
- Cognome
- principale
- perdita
- imparato
- meno
- Lasciare
- a sinistra
- Lunghezza
- livelli
- probabile
- LIMITE
- limiti
- Lista
- località
- posizioni
- logo
- Lunghi
- cerca
- ricerca
- Basso
- macchina
- make
- Produttori
- molti
- Margine
- martyn
- Mastercard
- matematico
- Importanza
- Matters
- max-width
- Maggio..
- si intende
- misurare
- misurazioni
- di misura
- Memorie
- Michael
- forza
- Millennio
- milione
- attenuazione
- scelta
- miscela
- modellismo
- moderno
- Monitorare
- mese
- Scopri di più
- maggior parte
- film
- molti
- Nome
- nomi
- di denominazione
- Bisogno
- New
- no
- Rumore
- Nessuna
- normale
- Niente
- adesso
- numero
- numeri
- of
- MENO
- ufficiale
- Vecchio
- on
- ONE
- quelli
- esclusivamente
- aprire
- operativo
- sistema operativo
- or
- Altro
- nostro
- su
- al di fuori
- panoramica
- proprio
- Carta
- modelli
- Paul
- per
- performance
- prospettiva
- Fisico
- pixel
- posto
- Platone
- Platone Data Intelligence
- PlatoneDati
- più
- posizione
- Post
- energia
- predire
- Prestige
- prezzo
- privilegio
- probabilmente
- sonda
- Problema
- processi
- i processi
- Processore
- processori
- Programmatore
- Programmi
- pronunciato
- protegge
- protezione
- fornire
- scopo
- metti
- qualità
- domanda
- solleva
- RAM
- casuale
- tasso
- Leggi
- mondo reale
- veramente
- ragione
- motivi
- recentemente
- ridurre
- di cui
- registro
- registrazione
- registri
- parente
- rilasciato
- sostituito
- richiede
- ricercatori
- rispetto
- Risultati
- destra
- running
- stesso
- dire
- Scenari
- Nero
- Secondo
- problemi di
- vedere
- inviare
- Serie
- set
- alcuni
- Corti
- segno
- Segnali
- semplificata
- semplificare
- site
- snooping
- So
- solido
- alcuni
- Qualcuno
- qualcosa
- da qualche parte
- presto
- parlando
- la nostra speciale
- specifico
- velocità
- inizia a
- Di partenza
- statistiche
- Ancora
- Fermare
- conservazione
- Tornare al suo account
- memorizzati
- avere successo
- suggerisce
- suppone
- sicuro
- SVG
- sistema
- tavolo
- Fai
- prende
- Task
- Consulenza
- dice
- temporaneo
- test
- di
- che
- Il
- loro
- Li
- si
- poi
- teorico
- Là.
- perciò
- di
- think
- Terza
- questo
- quelli
- così
- tempo
- a
- oggi
- insieme
- ha preso
- strumenti
- top
- pista
- trasferimento
- transizione
- trasparente
- vero
- prova
- seconda
- in definitiva
- per
- Università
- improbabile
- URL
- Impiego
- uso
- utilizzato
- Utente
- utilizzando
- generalmente
- APPREZZIAMO
- Valori
- VANITÀ
- vario
- molto
- via
- Visita
- Prima
- Modo..
- modi
- we
- Sito web
- settimana
- WELL
- è andato
- sono stati
- Che
- quando
- se
- quale
- while
- larghezza
- volere
- Wire
- con
- parole
- preoccuparsi
- sarebbe
- scrivere
- scritto
- anno
- anni
- ancora
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro
- zero