Attacchi Side Channel alle applicazioni Web e come NGSecurity può aiutare

Torna al Blog

Introduzione

L'analisi side-channel (SCA) è stata tradizionalmente associata ad attacchi hardware che hanno come obiettivo implementazioni crittografiche in dispositivi fisici. Tuttavia, con l'avanzamento delle moderne tecnologie web e degli ambienti di elaborazione condivisi, le applicazioni web sono diventate suscettibili a vulnerabilità simili. Gli aggressori, per ottenere dati sensibili senza compromettere direttamente il codice dell'applicazione, sfruttano informazioni indirette quali: tempi di risposta, utilizzo della cache, e potenza di elaborazione

Questo articolo approfondisce gli aspetti tecnici legati agli attacchi side-channel sulle applicazioni web, presentando dimostrazioni pratiche e spiegando come NGSecurity fornisce servizi completi di valutazione delle vulnerabilità (VA), e di test di penetrazione (PT), per rilevare e risolvere tali problemi.

Comprensione dell'analisi dei canali laterali (SCA)

Che cosa è la SCA?
La Side-Channel Analysis sfrutta la perdita di informazioni involontaria dai sistemi durante le operazioni.

A differenza degli attacchi tradizionali che sfruttano i bug del software, le SCA prendono di mira fattori fisici o ambientali, come:

•Differenze temporali: variazioni nei tempi di risposta durante le operazioni.
•Consumo energetico: analisi dei modelli di utilizzo dell'energia.
•Perdite elettromagnetiche: cattura dei segnali emessi durante l'elaborazione.
•Comportamenti della cache: sfruttamento del modo in cui le CPU archiviano e recuperano i dati.

Perché le SCA sono importanti nelle applicazioni Web?
Sebbene le applicazioni web sembrino astratte dall'hardware, spesso condividono risorse con altri processi o sistemi. Fattori quali ambienti cloud condivisi, processori multi-thread ed esecuzione di JavaScript nei browser le espongono a vulnerabilità side-channel.


Le implicazioni nel mondo reale includono:

• Accesso non autorizzato ai dati in ambienti cloud multi-tenant.
• Perdita di credenziali dovuta a discrepanze temporali.
• Dirottamento di sessione tramite sfruttamento della cache.

Attacchi Side-Channel comuni sulle applicazioni Web

Attacchi temporizzati
Gli attacchi di timing sfruttano le variazioni nei tempi di risposta. Ad esempio, quando si verificano le password, se un'applicazione restituisce un errore più velocemente quando il primo carattere è errato, un aggressore può indovinare la password in modo iterativo.
Esempio: utilizzo di script Python per misurare i tempi di risposta delle API e dedurre passo dopo passo i caratteri corretti della password.

Attacchi basati sulla cache (ad esempio, Spectre , Meltdown)
Questi attacchi sfruttano l'esecuzione speculativa e il tempo di cache nelle CPU. In ambienti condivisi come i servizi cloud, gli aggressori possono leggere i dati dai processi di altri utenti.
Esempio: esecuzione di JavaScript nei browser per accedere ai dati da schede adiacenti o utilizzo di macchine virtuali basate su cloud per leggere la memoria della VM vicina.

Sfruttamenti della previsione delle diramazioni della CPU
Le CPU moderne prevedono percorsi di esecuzione delle istruzioni per ottimizzare le prestazioni. Gli aggressori manipolano questa funzionalità per accedere a dati riservati.

Dimostrazione pratica

Attacco temporale per indovinare le credenziali
In questo esempio, c'è una pagina di login che accetta un nome utente (che è un ID di 4 cifre) e una password che è un codice PIN di 4 cifre . Per motivi di dimostrazione, questa configurazione è estremamente semplificata in modo tale da trasmettere il concetto fondamentale.
Visualizzazione della pagina di accesso:

Ora, quando il potenziale aggressore inserisce i nomi utente, inizia inserendo una coppia nome utente e password valida e misura il tempo impiegato dal sistema per rispondere (mantenendo costanti tutti i fattori, come la velocità di Internet).

Allo stesso modo, l'attaccante prende nota di alcune misurazioni con tentativi non validi per la password, ma tentativi validi per l'ID utente. Questo viene fatto per assicurarsi che, in seguito, l'attaccante possa usare queste informazioni per trovare altri ID validi.

Ora, l'attaccante intende trovare altri identificatori utente (ID) validi. A questo scopo, inizia inserendo x214,
dove x è una cifra da 1 a 9. In questo modo, continua a osservare la risposta dell'app e a misurare la risposta
temporale (ad esempio, se è la stessa di una risposta quando l'utente ha inserito un ID valido, allora l'attaccante sa di essersi imbattuto in un ID utente valido).

Come mostrato nell'esempio seguente, l'aggressore riceve una risposta con credenziali non valide,
tuttavia nota che il tempo impiegato è lo stesso di quando ha utilizzato l'ID 3214 (valido noto).

Da questo, l'attaccante deduce che anche l'ID 9214 è valido. Per il bene della demo, i passaggi
rimanenti sono abbreviati, e l'idea è che l'attaccante continui a monitorarlo in questo modo per poche
iterazioni e scopra anche gli ID e la password validi (per un altro utente).

Sfide nel rilevamento e nella mitigazione delle SCA nelle applicazioni Web

Le valutazioni di sicurezza tradizionali spesso trascurano le SCA, concentrandosi invece sulle
vulnerabilità del software. Rilevare questi attacchi è difficile perché:

•Le differenze di temporizzazione sono sottili e richiedono misurazioni ad alta precisione.
•I provider cloud raramente espongono dettagli a livello hardware.
•Contromisure come le funzioni a tempo costante richiedono revisioni della base di codice.
•Le architetture multistrato oscurano i percorsi di vulnerabilità diretti.

La mitigazione comporta:

•Implementazione di operazioni a tempo costante.
•Utilizzo di tecniche di partizionamento e isolamento della cache.
•Adozione di patch di sicurezza per vulnerabilità di esecuzione speculativa.
• Monitoraggio di comportamenti anomali indicativi di tentativi di SCA.

Come può aiutarti NG Security

Rilevamento tempestivo tramite i servizi di VA e WAPT (web application penetration test).
NG Security offre servizi avanzati di Vulnerability Assessment e WAPT che vanno oltre le scansioni convenzionali. Il nostro approccio include:

•Simulazione di attacchi side-channel per identificare vulnerabilità del mondo reale.
•Analisi delle architetture applicative per potenziali punti di perdita.
•Utilizzo di strumenti personalizzati per rilevare discrepanze temporali e vulnerabilità della cache.

Piani di remediation personalizzati

Non ci limitiamo a identificare i problemi, ti aiutiamo a risolverli. NG Security collabora con i clienti per:

•Sviluppare strategie di mitigazione su misura.
•Implementare algoritmi a tempo costante e pratiche di codifica sicure.
•Applicare soluzioni a livello di infrastruttura come l'isolamento della cache.

Monitoraggio continuo della sicurezza
Le vulnerabilità dei Side-Channel si evolvono con il cambiamento degli ambienti hardware e software. NG Security fornisce soluzioni di monitoraggio continuo per garantire che le minacce emergenti vengano affrontate tempestivamente.

Storie di successo

I nostri clienti hanno beneficiato del rilevamento proattivo e della correzione delle vulnerabilità Side-Channel. Ad esempio, un cliente finanziario ha evitato una potenziale violazione dei dati grazie al nostro rilevamento
precoce dei vettori di attacco temporizzati nel suo portale web.

Conclusioni

Gli attacchi side-channel rappresentano una minaccia seria e spesso trascurata per le applicazioni web. Con
l'evoluzione delle tecnologie e degli ambienti condivisi, il rischio non fa che aumentare. L'esperienza di NG Security assicura che la tua organizzazione resti al passo con queste minacce nascoste.

Non aspettare che si verifichi un attacco: contatta NG Security oggi stesso per rafforzare le tue applicazioni web contro le vulnerabilità side-channel.

 

 

 

 

 

Contatta

Via Rebaglia, 1 - 21019 Somma Lombardo (VA)    
Youtube Channel

Contatti...

 

 

 

fortinet e fortigate
sophos
tenable
tenable
tenable
tenable



Emergenza?