Come proteggersi dagli attacchi di downgrade di Windows

Windows Downdate è un attacco che può eseguire il rollback degli aggiornamenti del sistema operativo allo scopo di reintrodurre vulnerabilità e consentire agli aggressori di assumere il pieno controllo del sistema. Come mitigare il rischio?

Tutte le applicazioni software, inclusi i sistemi operativi, contengono vulnerabilità, il che rende gli aggiornamenti regolari per correggerle un punto fermo della sicurezza informatica. I ricercatori che hanno inventato l’attacco Windows Downdate hanno preso di mira proprio questo meccanismo di aggiornamento con l’obiettivo di eseguire il rollback furtivo di un sistema Windows completamente aggiornato a una versione precedente contenente file e servizi vulnerabili. Questa operazione espone il sistema a noti exploit e compromissioni di alto livello che riguardano anche l’hypervisor e il kernel protetto. Peggio ancora, i normali aggiornamenti e i controlli di integrità del sistema non riscontreranno alcun problema.

Meccanismo di attacco

I ricercatori hanno effettivamente trovato due difetti distinti con meccanismi operativi leggermente diversi. Una vulnerabilità, assegnata all’ID CVE-2024-21302 e denominata Downdate, sfrutta un difetto nel processo di installazione dell’aggiornamento: i componenti dell’aggiornamento scaricati sono controllati, protetti da modifiche e firmati digitalmente, ma in una delle fasi intermedie dell’installazione (tra i riavvii), la procedura di aggiornamento crea e poi utilizza un file contenente un elenco di azioni pianificate (pending.xml). Se gli aggressori riuscissero a creare la propria versione di quel file e aggiungervi nel registro informazioni al riguardo, il Servizio di installazione dei moduli Windows (TrustedInstaller) eseguirà le istruzioni contenute nel file fasullo al momento del riavvio.

Il contenuto di pending.xml viene effettivamente verificato, ma questo avviene durante le fasi precedenti dell’installazione: TrustedInstaller non lo verificherà una seconda volta. Naturalmente, è impossibile scrivere liberamente nel file e installare file arbitrari in questo modo, poiché tutti i file devono essere firmati da Microsoft, ma la sostituzione dei file di sistema con file meno recenti sviluppati da Microsoft è abbastanza fattibile. Ciò può esporre il sistema a vecchie vulnerabilità con patch a lungo termine, comprese quelle critiche. Aggiungere al registro le chiavi necessarie relative al file pending.xml richiede privilegi di amministratore, dopodiché dovrà essere eseguito un riavvio del sistema. Queste sono comunque le sole limitazioni significative. Questo attacco non richiede privilegi elevati (quelli per cui Windows oscura lo schermo e richiede un’autorizzazione aggiuntiva di un amministratore) e la maggior parte degli strumenti di protezione non segnalerà le azioni eseguite durante l’attacco come sospette.

La seconda vulnerabilità, CVE-2024-38202, consente a un soggetto di manipolare la cartella Windows.old, nella quale il sistema di aggiornamento archivia l’installazione precedente di Windows. Sebbene la modifica dei file in questa cartella richieda privilegi speciali, un utente malintenzionato con diritti regolari può rinominare la cartella, creare un nuovo Windows.old e inserirvi versioni obsolete e vulnerabili dei file di sistema. Un ripristino del sistema eseguirà il rollback di Windows alla versione di installazione vulnerabile. Alcuni privilegi sono richiesti per il ripristino del sistema, ma non sono privilegi di amministratore e talvolta vengono concessi agli utenti regolari.

Aggiramento di VBS e furto di password

Dal 2015, l’architettura di Windows è stata ridisegnata per evitare che una compromissione del kernel di Windows conduca alla compromissione dell’intero sistema. Ciò comporta una serie di misure note collettivamente come protezione basata sulla virtualizzazione, o Virtualization-Based Security (VBS). Tra le altre cose, l’hypervisor di sistema viene utilizzato per isolare i componenti del sistema operativo e creare un kernel sicuro per l’esecuzione delle operazioni più sensibili, l’archiviazione delle password e così via.

Windows può essere configurato in modo da rendere impossibile impedire agli aggressori di disabilitare VBS, anche con i diritti di amministratore. L’unico modo per disabilitare questa protezione è riavviare il computer in una modalità speciale e immettere un comando da tastiera. Questa funzionalità è denominata blocco UEFI (Unified Extensible Firmware Interface). L’attacco Windows Downdate aggira anche questa restrizione sostituendo i file con versioni modificate, obsolete e vulnerabili. VBS non verifica che i file di sistema vengano effettivamente aggiornati, pertanto possono essere sostituiti con versioni precedenti e vulnerabili senza segni rilevabili o messaggi di errore. Tecnicamente, VBS non viene di fatto disabilitato, però non svolge più la sua funzione di protezione.

Questo attacco consente la sostituzione dei file del kernel protetto e dell’hypervisor con versioni di due anni fa contenenti vulnerabilità il cui sfruttamento conduce all’escalation dei privilegi. Di conseguenza, gli aggressori possono ottenere i massimi privilegi di sistema, l’accesso completo all’hypervisor e ai processi di protezione della memoria e la capacità di leggere facilmente credenziali, password con hash e anche hash NTLM dalla memoria (utilizzabili per espandere l’attacco alla rete).

Proteggersi da Downdate

Microsoft è stata informata delle vulnerabilità Downdate nel febbraio 2024, ma solo ad agosto sono stati rilasciati i dettagli insieme al lancio mensile del Patch Tuesday. La correzione dei bug si è rivelata difficile e piena di effetti collaterali, incluso l’arresto anomalo di alcuni sistemi Windows. Pertanto, invece di affrettarsi a pubblicare un’altra patch, Microsoft per ora ha semplicemente emesso alcuni suggerimenti per mitigare i rischi. Tra questi:

  • Audit degli utenti autorizzati a eseguire operazioni di ripristino e aggiornamento del sistema, riduzione al minimo del numero di tali utenti e revoca delle autorizzazioni, ove possibile.
  • Implementazione di elenchi di controllo di accesso (ACL/DACL) per limitare l’accesso e la modifica dei file di aggiornamento.
  • Configurazione del monitoraggio degli eventi per tutte le istanze di modifica o sostituzione dei file di aggiornamento in cui vengono utilizzati privilegi elevati, che rappresentano un potenziale indicatore di sfruttamento della vulnerabilità.
  • Monitoraggio della modifica e della sostituzione dei file associati al sottosistema VBS e ai backup dei file di sistema.

Il monitoraggio di questi eventi tramite SIEM e [EDR placeholder]EDR[/placeholder] è relativamente semplice. Tuttavia, è lecito aspettarsi falsi positivi, quindi distinguere l’attività legittima dell’amministratore di sistema da quella degli hacker spetta in ultima analisi al team di protezione.

Quanto sopra si applica non solo alle macchine Windows fisiche, ma anche alle macchine virtuali in ambienti cloud. Per le macchine virtuali in Azure, è inoltre consigliabile tenere traccia dei tentativi insoliti di accesso con credenziali di amministratore. Sarà necessario abilitare l’MFA e modificare le credenziali nel caso in cui venga rilevato un simile tentativo.

Un consiglio più drastico: revocare i privilegi di amministratore per i dipendenti che non ne hanno bisogno e imporre agli amministratori autentici di (i) eseguire solo azioni amministrative con i rispettivi account e (ii) usare un account separato per le altre attività.

Correzioni rischiose

Per chi cerca maggiore sicurezza, Microsoft offre l’aggiornamento KB5042562, che mitiga la gravità di CVE-2024-21302. Con questa installazione, le versioni obsolete dei file di sistema VBS vengono aggiunte all’elenco revocato e non possono più essere eseguite su un computer aggiornato. Questo criterio (SkuSiPolicy.p7b) viene applicato a livello UEFI, quindi quando lo si utilizza è necessario aggiornare non solo il sistema operativo ma anche eseguire il backup dei supporti di avvio rimovibili. È però importante sapere che così facendo non sarà più possibile eseguire il rollback a installazioni precedenti di Windows. Inoltre, l’aggiornamento attiva forzatamente la funzionalità UMCI (User Mode Code Integrity), che a sua volta può causare problemi di compatibilità e prestazioni.

In generale, si consiglia agli amministratori di valutare attentamente i rischi e di studiare a fondo la procedura e i suoi potenziali effetti collaterali. In futuro, Microsoft promette di rilasciare patch e misure di sicurezza aggiuntive per tutte le versioni rilevanti di Windows, fino a Windows 10, versione 1507 e Windows Server 2016.

Consigli