La commedia degli errori che ha permesso agli hacker sostenuti dalla Cina di rubare la chiave di firma di Microsoft
Nel marzo 2021, Microsoft ha reso noto un massiccio attacco informatico che ha compromesso il suo software di posta elettronica Exchange Server e ha colpito decine di migliaia di organizzazioni in tutto il mondo. L’attacco, attribuito a un gruppo di hacker sponsorizzato dallo stato cinese noto come Hafnium, ha sfruttato quattro vulnerabilità precedentemente sconosciute in Exchange Server per ottenere l’accesso agli account di posta elettronica, rubare dati e installare malware.
Ma l’attacco ha avuto anche un’altra conseguenza più allarmante: gli hacker sono riusciti a rubare la chiave di firma di Microsoft, utilizzata per verificare l’autenticità e l’integrità degli aggiornamenti software. Ciò significava che gli hacker potevano utilizzare la chiave rubata per firmare codice maligno e distribuirlo come aggiornamenti legittimi a utenti ignari.
Come è potuto accadere? Come ha potuto un’azienda sofisticata come Microsoft perdere il controllo di un bene così critico? E cosa significa questo per la sicurezza delle catene di fornitura del software?
La risposta sta in una commedia di errori che coinvolge errori umani, guasti tecnici e guasti organizzativi. Questi sono alcuni dei fattori chiave che hanno contribuito a questa violazione senza precedenti:
– Microsoft ha utilizzato un certificato autofirmato per gli aggiornamenti di Exchange Server, invece di un certificato rilasciato da un’autorità esterna affidabile. In questo modo è stato più facile per gli hacker impersonare Microsoft e indurre gli utenti a installare aggiornamenti dannosi.
– Microsoft ha memorizzato la sua chiave di firma su un server connesso a Internet, invece di isolarla in un ambiente offline sicuro. Questo esponeva la chiave a possibili compromissioni da parte di chiunque potesse accedere al server.
– Microsoft non ha implementato controlli di sicurezza adeguati sul suo server di firma, come crittografia, autenticazione, registrazione e monitoraggio. Questo ha permesso agli hacker di ottenere un accesso inosservato al server e di alterarne la configurazione.
– Microsoft non ha seguito il principio del minimo privilegio, che significa concedere solo il livello minimo di accesso necessario per ogni utente o processo. Al contrario, ha concesso al suo server di firma tutti i privilegi amministrativi, consentendo agli hacker di eseguire comandi arbitrari e di rubare la chiave.
– Microsoft non disponeva di un solido piano di risposta agli incidenti che l’avrebbe aiutata a rilevare, contenere e mitigare l’attacco. Microsoft ha impiegato diverse settimane per scoprire la violazione e avvisare i suoi clienti, dando così agli hacker tutto il tempo necessario per sfruttare la chiave rubata.
Questi errori illustrano come un singolo anello debole possa compromettere un’intera catena di fornitura di software e mettere a rischio milioni di utenti. Inoltre, evidenziano la necessità per gli sviluppatori e i fornitori di software di adottare le migliori pratiche per proteggere le chiavi e i processi di firma, come ad esempio:
– Usa certificati di autorità accreditate che applicano politiche di verifica e revoca rigorose.
– Conservazione delle chiavi di firma in moduli di sicurezza hardware (HSM) che forniscono una protezione fisica e logica contro gli accessi non autorizzati.
– Implementa controlli di sicurezza come crittografia, autenticazione, registrazione e monitoraggio sui server e sulle reti di firma.
– Segui il principio del minimo privilegio e applica il principio della difesa in profondità, ovvero utilizza più livelli di sicurezza per proteggere le risorse critiche.
– Disponi di un piano di risposta agli incidenti chiaro e completo, che preveda test e aggiornamenti regolari.
Il furto della chiave di firma di Microsoft è stato un campanello d’allarme per l’industria del software e ha ricordato l’importanza di proteggere le catene di fornitura del software. Imparando da questo incidente e applicando queste best practice, gli sviluppatori e i venditori di software possono prevenire attacchi simili in futuro e garantire l’affidabilità dei loro prodotti.