FragAttacks: vulnerabilità che interessano i dispositivi Wi-Fi

FragAttacks: vulnerabilità che interessano i dispositivi Wi-Fi

Dodici vulnerabilità nel protocollo Wi-Fi sono passate inosservate per 24 anni, fino a quando il ricercatore Mathy Vanhoef non le ha individuate e rese pubbliche in un documento pubblicato su Internet.

La raccolta di attacchi, denominata FragAttacks , che sta per attacchi di frammentazione e aggregazione, richiede che l’aggressore si trovi nel raggio della rete wireless.

Tre delle vulnerabilità scoperte sono “difetti di progettazione nello standard Wi-Fi” secondo Vanhoef, e quindi interessano la maggior parte dei dispositivi Wi-Fi. Durante la ricerca sono state scoperte ulteriori vulnerabilità rese possibili da “errori di programmazione diffusi nei prodotti Wi-Fi”.

Le vulnerabilità interessano tutti i protocolli di sicurezza dello standard Wi-Fi, comprese le ultime specifiche WPA3 ma anche WPA2 e WPE.

Sfruttando questi errori nella gestione dei frame, sarebbe possibile esportare informazioni e portare vari tipi di attacchi attraverso l’iniezione di frame, come l’impostazione “forzata” di un server DNS malevolo.

I test eseguiti dal ricercatore hanno confermato l’efficacia delle tecniche di attacco con tutti i sistemi operativi più diffusi (Linux, Windows, iOS, etc.) e le configurazioni hardware. Il livello di impatto varia a seconda delle varie combinazioni, ma in linea di principio il meccanismo è sempre lo stesso.

L’unica eccezione sarebbe rappresentata dai sistemi NetBSD e OpenBSD, che non supportano la ricezione di A-MSDU (aggregate MAC service data unit).

Sono state rilevate le seguenti vulnerabilità:

Vulnerabilità di iniezione di testo normale
Un utente malintenzionato può creare frame Wi-Fi non crittografati che vengono accettati dai dispositivi Wi-Fi di destinazione. Alcuni dispositivi wireless accettano automaticamente questi frame, altri possono accettare frame aggregati di testo normale se “sembrano messaggi di stretta di mano”

Ad esempio, questo può essere abusato per intercettare il traffico di un client inducendolo a utilizzare un server DNS dannoso come mostrato nella demo (il traffico intercettato potrebbe avere un altro livello di protezione). Contro i router questo può anche essere abusato per aggirare il NAT / firewall, consentendo all’avversario di attaccare successivamente i dispositivi nella rete Wi-Fi locale (ad esempio attaccando una macchina Windows 7 obsoleta come mostrato nella demo).

Difetto di progettazione: attacco di aggregazione
Il flag “è aggregato” non è autenticato, il che significa che può essere modificato dagli aggressori.

Un avversario può abusarne per iniettare pacchetti di rete arbitrari inducendo la vittima a connettersi al proprio server e quindi impostando il flag “è aggregato” di pacchetti accuratamente selezionati. Praticamente tutti i dispositivi testati erano vulnerabili a questo attacco. La capacità di iniettare pacchetti può a sua volta essere abusata per intercettare il traffico di una vittima facendola utilizzare un server DNS dannoso (vedere la demo).

Difetto di progettazione: attacco chiave misto
Frame Fragmentation è stato progettato per migliorare l’affidabilità delle connessioni Wifi suddividendo frame grandi in frame più piccoli. Il problema è che i destinatari non sono tenuti a verificare se i frammenti sono stati crittografati utilizzando la stessa chiave e ciò significa che i frammenti decrittografati utilizzando chiavi diverse possono essere riassemblati.

Questo difetto di progettazione può essere risolto in modo compatibile con le versioni precedenti riassemblando solo i frammenti decrittografati utilizzando la stessa chiave. Poiché l’attacco è possibile solo in rare condizioni, è considerato un attacco teorico.

Difetto di progettazione: attacco alla cache dei frammenti
Un altro difetto nella funzione di frammentazione del frame del Wi-Fi. Non è necessario che i dispositivi Wi-Fi rimuovano i frammenti non riassemblati dalla memoria quando un client si disconnette. L’attacco inietta un frammento dannoso nella memoria del punto di accesso in modo che il frammento iniettato dell’aggressore e il frame frammentato del client vengano riassemblati alla riconnessione.

Se la vittima invia frame frammentati, cosa rara nella pratica, è possibile abusarne per esfiltrare i dati.

Ecco l’elenco completo degli identificatori CVE:

  • CVE-2020-24588 : attacco di aggregazione (che accetta frame A-MSDU non SPP).
  • CVE-2020-24587 : attacco con chiave mista (riassemblaggio di frammenti crittografati con chiavi diverse).
  • CVE-2020-24586 : attacco alla cache dei frammenti (non cancella i frammenti dalla memoria durante la (ri) connessione a una rete).
  • CVE-2020-26145 : Accettazione di frammenti di trasmissione in testo normale come frame completi (in una rete crittografata).
  • CVE-2020-26144 : Accettazione di frame A-MSDU di testo normale che iniziano con un’intestazione RFC1042 con EtherType EAPOL (in una rete crittografata).
  • CVE-2020-26140 : Accettazione di frame di dati in testo normale in una rete protetta.
  • CVE-2020-26143 : Accettazione di frame di dati in chiaro frammentati in una rete protetta.
  • CVE-2020-26139 : inoltro di frame EAPOL anche se il mittente non è ancora autenticato (dovrebbe interessare solo gli AP).
  • CVE-2020-26146 : riassemblaggio di frammenti crittografati con numeri di pacchetti non consecutivi.
  • CVE-2020-26147 : riassemblaggio di frammenti misti crittografati / di testo normale.
  • CVE-2020-26142 : elaborazione di frame frammentati come frame completi.
  • CVE-2020-26141 : non verifica il TKIP MIC dei frame frammentati.

Vanhoef ha pubblicato un video su YouTube in cui dimostra attacchi che sfruttano i difetti di implementazione del Wi-Fi.

Fonti: [1], [2], [3].

1 Mi Piace

ZYXEL ha pubblicato un elenco di tutti i prodotti interessati:
Zyxel security advisory for FragAttacks against WiFi products | Zyxel

L’elenco include la versione del firmware contenente la patch e la prevista data di rilascio.

1 Mi Piace