Violato il protocollo WPA2

Come annunciato nella news KRACK ATTACK: VIOLATO IL PROTOCOLLO DI SICUREZZA WI-FI WPA2 pubblicata dal CERT Nazionale Italia il ricercatore di sicurezza Mathy Vanhoef dell’Università di Leuven (Lovanio, Belgio) ha scoperto gravi vulnerabilità nel protocollo WPA2 (Wi-Fi Protected Access 2) che permetterebbero ad un’attaccante che si trovi nel raggio di azione del dispositivo Wi-Fi di eseguire un tipo di attacco denominato dal ricercatore KRACK (Key Reinstallation Attack). Mathy Vanhoef ha comunicato con ai vendor di aver rilevato questa problematica di sicurezza il 14 luglio 2017, il 15 luglio 2017 lo ha comunicato al team di OpenBDS e lo ha poi comunicato al CERT/CC il 28 agosto 2017.

L’attacco KRACK è mirato al four way handshake del protocollo WPA2 che viene eseguito quando un client chiede di accedere ad una rete Wi-Fi protetta e il cui scopo è quello di confermare che sia il client, sia l’access point possiedono le credenziali di autenticazione corrette e quindi permette di creare una nuova chiave di cifratura mediante la quale verrà protetto da quel momento in poi tutto il traffico scambiato.

Il processo four way handshake si basa su due considerazioni, la prima è che l’Access Point deve autenticarsi e la seconda è che la chiave di sessione utilizzata per cifrare i messaggi deve ancora essere calcolata. Di seguito il lo schema di funzionamento dell’four way handshake

L’attacco KRACK consente di forzare gli utenti già connessi alla rete a reinstallare le chiavi di cifratura utilizzate per proteggere il traffico WPA2, in questo modo se l’attacco va a buon fine, l’attaccante sarà in grado di decifrare e leggere in chiaro le informazioni in transito, inoltre, in alcune condizioni potrebbe essere anche possibile per l’attaccante manipolare i dati trasmessi per iniettare malware nei siti Web visitati dagli utenti.

Le vulnerabilità individuate sono presenti nello stesso standard Wi-Fi e non in specifici prodotti o implementazioni, quindi potrebbero risultare affette tutte le corrette implementazioni del protocollo WPA2. A tal riguardo si veda la Vulnerability Note VU#228519 – Wi-Fi Protected Access II (WPA2) handshake traffic can be manipulated to induce nonce and session key reuse pubblicata dal SEI -Software Engineering Institute a not-for-profit Federally Funded Research and Development Center (FFRDC) at Carnegie Mellon University in cui vengono elencate le vulnerabilità coinvolte e i vendor che al momento risultano affetti.

Dal momento che il problema risiede nel protocollo ed è indipendente dall’implementazione, l’unico modo per proteggersi è quello di installare aggiornamenti specifici per il proprio sistema o dispositivo non appena verranno messi a disposizione dai rispettivi produttori.

Il ricercatore di sicurezza Mathy Vanhoef ha creato il sito https://www.krackattacks.com/ in cui vengono fornite maggiori informazioni sulle vulnerabilità e sull’attacco KRACK.

Il funzionamento dell’attacco è basato sul seguente approccio:

“When a client joins a network, it executes the 4-way handshake to negotiate a fresh encryption key. It will install this key after receiving message 3 of the 4-way handshake. Once the key is installed, it will be used to encrypt normal data frames using an encryption protocol. However, because messages may be lost or dropped, the Access Point (AP) will retransmit message 3 if it did not receive an appropriate response as acknowledgment. As a result, the client may receive message 3 multiple times. Each time it receives this message, it will reinstall the same encryption key, and thereby reset the incremental transmit packet number (nonce) and receive replay counter used by the encryption protocol. We show that an attacker can force these nonce resets by collecting and replaying retransmissions of message 3 of the 4-way handshake. By forcing nonce reuse in this manner, the encryption protocol can be attacked, e.g., packets can be replayed, decrypted, and/or forged. The same technique can also be used to attack the group key, PeerKey, TDLS, and fast BSS transition handshake.”

Di seguito alcune FAQ predisposte da Mathy Vanhoef che forniscono le risposte alle domande più comuni circa questo tipo di attacco:

Q: Do we now need WPA3?
A: No, luckily implementations can be patched in a backwards-compatible manner. This means a patched client can still communicate with an unpatched access point, and vice versa. In other words, a patched client or access points sends exactly the same handshake messages as before, and at exactly the same moments in time. However, the security updates will assure a key is only installed once, preventing our attacks. So again, update all your devices once security updates are available. Finally, although an unpatched client can still connect to a patched AP, and vice versa, both the client and AP must be patched to defend against all attacks!

 

Q: Should I change my Wi-Fi password?
A: Changing the password of your Wi-Fi network does not prevent (or mitigate) the attack. So you do not have to update the password of your Wi-Fi network. Instead, you should make sure all your devices are updated, and you should also update the firmware of your router. After updating your router, you can optionally change the Wi-Fi password as an extra precaution.

 

Q: I’m using WPA2 with only AES. That’s also vulnerable?
A: Yes, that network configuration is also vulnerable. The attack works against both WPA1 and WPA2, against personal and enterprise networks, and against any cipher suite being used (WPA-TKIP, AES-CCMP, and GCMP). So everyone should update their devices to prevent the attack!

 

Q: What if there are no security updates for my router?
A: Our main attack is against the 4-way handshake, and does not exploit access points, but instead targets clients. So it might be that your router does not require security updates. We strongly advise you to contact your vendor for more details. In general though, you can try to mitigate attacks against routers and access points by disabling client functionality (which is for example used in repeater modes) and disabling 802.11r (fast roaming). For ordinary home users, your priority should be updating clients such as laptops and smartphones.

 

Q: Why did OpenBSD silently release a patch before the embargo?
A: OpenBSD was notified of the vulnerability on 15 July 2017, before CERT/CC was involved in the coordination. Quite quickly, Theo de Raadt replied and critiqued the tentative disclosure deadline: “In the open source world, if a person writes a diff and has to sit on it for a month, that is very discouraging”. Note that I wrote and included a suggested diff for OpenBSD already, and that at the time the tentative disclosure deadline was around the end of August. As a compromise, I allowed them to silently patch the vulnerability. In hindsight this was a bad decision, since others might rediscover the vulnerability by inspecting their silent patch. To avoid this problem in the future, OpenBSD will now receive vulnerability notifications closer to the end of an embargo.

Per quanto riguarda i sistemi operativi Microsoft le correzioni di sicurezza rilasciate il 10 ottobre 2017 risolvono le vulnerabilità nei sistemi operativi Microsoft supportati ovvero i sistemi client Windows 7 Service Pack 1 e successi e Windows Server 2008 e successivi, a riguardo si veda Security TechCenter – CVE-2017-13080 Windows Wireless WPA Group Key Reinstallation Vulnerability in cui viene spiegato che Microsoft ha rilasciato la correzione il 10 ottobre e dato comunicazione il 16 ottobre per consentire ai partner di rilasciare a loro volta le necessarie correzioni.

Per quanto riguarda Android, Mathy Vanhoef riporta che il 50% dei device è vulnerabile a questo attacco:

Our attack is especially catastrophic against version 2.4 and above of wpa_supplicant, a Wi-Fi client commonly used on Linux. Here, the client will install an all-zero encryption key instead of reinstalling the real key. This vulnerability appears to be caused by a remark in the Wi-Fi standard that suggests to clear the encryption key from memory once it has been installed for the first time. When the client now receives a retransmitted message 3 of the 4-way handshake, it will reinstall the now-cleared encryption key, effectively installing an all-zero key. Because Android uses wpa_supplicant, Android 6.0 and above also contains this vulnerability. This makes it trivial to intercept and manipulate traffic sent by these Linux and Android devices. Note that currently 50% of Android devices are vulnerable to this exceptionally devastating variant of our attack.”

Il commento della Wi-Fi Alliance in merito a tale vulnerabilità è disponibile al seguente Wi-Fi Alliance security update – Austin, TX – October 16, 2017:

“This issue can be resolved through straightforward software updates, and the Wi-Fi industry, including major platform providers, has already started deploying patches to Wi-Fi users. Users can expect all their Wi-Fi devices, whether patched or unpatched, to continue working well together.”

Conclusioni

  • L’attacco può essere condotto sia su WPA1 che su WPA2, sia su reti personal che enterprise e su qualunque metodo di cifratura.
  • L’attacco colpisce i client e non gli Access point.
  • Risultano vulnerabili all’attacco KRACK tutti i tipi di dispositivi, applicativi e sistemi operativi che si connettono od instaurano una rete Wi-Fi WPA2, inclusi Android, Linux, iOS, macOS, Windows, OpenBSD, dispositivi IoT con Linux embedded e router Wi-Fi. Quindi quando dovranno essere installate fix di correzione, quando saranno rilasciate, su tutti i dispositivi che si connettono od instaurano una rete Wi-Fi WPA2 ovvero sia sui client che sugli Access Point, in caso contrario il traffico potrà ancora venire decifrato ed eventualmente manipolato mettendo a rischio la rete WiFi e le reti eventualmente connesse a questa.
  • Microsoft e OpenBSD hanno già sviluppato la correzione.