Proteggere Windows 10 e Windows Server dalla falla NSA (CryptoAPI)

Come verificare se i propri sistemi Windows sono correttamente protetti nei confronti della falla di sicurezza individuata dalla NSA nella libreria CryptoAPI.

La falla di sicurezza scoperta in Windows 10, Windows Server 2019 e Windows Server 2016 dai tecnici della NSA (National Security Agency) e corretta da Microsoft il 14 gennaio 2020 può essere sfruttata per facilitare un ampio ventaglio di attacchi. Tra le modalità di aggressione che potrebbero essere utilizzate più di frequente vi è la possibilità di modificare i soggetti cui appartengono i certificati digitali, sia sul web che in locale facendo apparire pagine malevole come sicure (e realizzate da aziende note/fidate) e file eseguibili pericolosi come sviluppati da soggetti universalmente riconosciuti.

Negli articoli Vulnerabilità nella libreria Crypt32.dll di Windows: attenzione alla provenienza dei file e Falla in Windows CryptoAPI: arrivano i primi esempi di codice exploit abbiamo visto che il problema di sicurezza riguarda la libreria Windows CryptoAPI (Crypt32.dll) che non effettua una corretta validazione dei certificati ECC (Elliptic Curve Cryptography).

Le patch Microsoft destinate ai sistemi Windows 7, Windows Server 2019 e Windows Server 2016 oltre che quella per Google Chrome consentono di risolvere il problema ed essere avvisati, almeno quando una pagina web cercasse di sfruttare il problema.
Nel bollettino riferito alla vulnerabilità con identificativo CVE-2020-0601, al paragrafo Security Updates, in corrispondenza della colonna Article, sono indicati gli aggiornamenti Microsoft che – per ciascuna versione di Windows – consentono di risolvere il problema.

Gli utenti di Windows 10 versione 1909 e 1903, ad esempio, possono verificare l’avvenuta installazione della protezione controllando – nella cronologia di Windows Update – la presenza dell’aggiornamento KB4528760.
Chi utilizza Windows 10 versione 1809 dovrebbe controllare l’avvenuta installazione dell’aggiornamento KB4534273, chi usa Windows 10 versione 1803 della patch KB4534293.
Nonostante le versioni 1803, 1709 e 1607 di Windows 10 non siano più supportate da Microsoft (vedere la tabella pubblicata a questo indirizzo), vista la gravità della problematica Microsoft ha deciso di distribuire mediante Windows Update aggiornamenti speciali anche per queste release di Windows 10 ormai obsolete.

Per verificare l’effettiva protezione contro gli attacchi web (pagine web che si presentano come ciò che non sono utilizzando certificati digitali fasulli considerati validi da parte di Windows), il consiglio è di visitare dapprima questa pagina (il certificato legittimo sarà memorizzato nella cache del browser) quindi eseguire il test realizzato da Kudelski Security.

Se, cliccando sul pulsante Exploit me, dovesse comparire il messaggio “Hello World, this is a CryptoAPI CVE-2020-0601 PoC by Kudelski Security” significa che c’è un problema: la patch Microsoft non è stata ancora applicata.

Viceversa, se si ricevessero messaggi come NET::ERR_CERT_INVALID, ERR_CERT_AUTHORITY_INVALID oppure SEC_ERROR_BAD_DER con il sito che viene indicato come “Non sicuro“, significa che la protezione sta agendo correttamente.

Più complicato è il quadro in ambito locale perché l’utente potrebbe comunque essere tratto in inganno da file eseguibili che presentano una firma digitale modificata ad arte. È quindi bene riporre la massima attenzione sui file che si scaricano dalla rete Internet e che si eseguono sui propri sistemi effettuando sempre una scansione antimalware preventiva: vedere VirusTotal: guida all’uso del servizio per controllare l’identità dei file.

Dopo l’installazione della patch Microsoft, nel Visualizzatore eventi di Windows (premere Windows+R quindi digitare eventvwr.msc) il sistema operativo annota tutti i tentativi di sfruttamento della falla CVE-2020-0601.
Cercando gli eventi con ID 1 e il riferimento a CVE-2020-0601, si può sapere se è quando è stato tentato l’utilizzo della falla.

Per ottenere l’elenco completo degli eventi, suggeriamo di premere la combinazione di tasti Windows+X quindi scegliere Windows PowerShell o Prompt di comandi (selezionando Windows PowerShell bisognerà digitare cmd come primo comando).
A questo punto, usando il comando che segue, si potranno estrarre gli eventuali tentativi di sfruttamento della falla CVE-2020-0601:

wevtutil qe Application /q:"*[System[(EventID=1)] and EventData[Data[@Name='CVEID']]]"

Digitando quanto segue, si potranno salvarli come file di testo (poi aperto con il Blocco Note):

wevtutil qe Application /q:"*[System[(EventID=1)] and EventData[Data[@Name='CVEID']]]" > %userprofile%\CVE-2020-0601.txt && notepad %userprofile%\CVE-2020-0601.txt

Semplicemente rieffettuando da browser web il test di Kudelski Security, verrà automaticamente generato un evento con ID 1 e riferimento a CVE-2020-0601.

La pagina Curveball Test realizzata dal SANS Institute consente di verificare se sistema e browser sono protetti o meno.

Come misura di sicurezza aggiuntiva, gli utenti di Chromium e Chrome (e browser derivati) debbono assicurarsi di usare l’ultima versione disponibile: Aggiornamento Chrome: perché effettuarlo e cosa significano le icone. Firefox non è affetto dalla vulnerabilità.

Ti consigliamo anche

Link copiato negli appunti