Le procedure di sviluppo software possono facilmente fallire nel garantire la qualità del prodotto quando si procede “in emergenza”, ossia per correre ai ripari rispetto a qualche anomalia riscontrata nel software, in special modo quando questa anomalia riguarda la sicurezza.
Il fallimento è ancora più grave quando, per correggere un problema, se ne introduca un altro.
È esattamente quello che è capitato a Microsoft lo scorso mese, quando è incappata in un simile errore durante la soluzione di un altro problema di sicurezza. In particolare le correzioni che si intendeva porre, pur correggendo il problema originale, hanno introdotto (con la patch rilasciata a novembre) un ulteriore problema di sicurezza relativamente al software Windows Installer, problema nel medesimo dominio ma non correlato al precedente bug risolto da Microsoft. Diciamo che la soluzione applicata al precedente problema non è stata semplicemente “di livello adeguato”.
La vulnerabilità 0-Day derivante (ed il conseguente probabile exploit) in entrambi i casi si sono esplicitati in una possibilità di elevare il privilegio attraverso il suddetto software Windows Installer, con l’aggravante (nel secondo caso) di aver costituito una variante più potente.
Tutto nasce dal ritrovamento della vulnerabilità CVE-2021-41379 a cui Windows ha posto rimedio con l’aggiornamento “November Patch Tuestday updates”: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-41379.
Sottoposta ad analisi, questa patch (ovvero il “rimedio”) ha mostrato un possibile bypass al correttivo e un ulteriore bug che consente l’elevazione del privilegio. L’analisi ha determinato la realizzazione di un PoC (un modello concettuale) dello sfruttamento denominato InstallerFileTakeOver, pubblicato su GitHub: https://github.com/klinix5/InstallerFileTakeOver
Questo PoC agisce su Windows 10 20H2, Windows 11 e Windows Server 2022 completamente aggiornati quando su queste sia istallato Edge.
I ricercatori di Talos Security Intelligence and Research Group di Cisco (e altri ricercatori) hanno confermato l’efficacia del PoC. Inoltre hanno rilevato prove (tracce di malware operanti tramite questo, quindi l’esistenza di un exploit efficace) dell’utilizzo attivo dell’attacco derivante del bug di sicurezza.
Le conseguenze dell’attacco (da cui un punteggio CVSS basso per la vulnerabilità) è la possibilità da parte dell’attaccante di eliminare alcuni file mirati su sistema, ma non si otterrebbero (fonte Microsoft) privilegi per visualizzare o modificare il contenuto dei file.
Il PoC sfrutta l’ACL discrezionale (CACL) del servizio Microsoft Edge Elevation Service per sostituire qualsiasi file eseguibile su sistema mediante un file MSI (file di Windows Installer), consentendo in questo modo all’attaccante di eseguire come amministratore un suo codice veicolato mediante MSI.
La complessità del problema necessita di un intervento urgente di Microsoft, in quanto non risulta possibile gestire il problema con qualche workaround. La società, cosciente del problema e della pubblicità del PoC, si è impegnata a risolvere urgentemente il problema.
L’unica attenuante è che si tratta di un exploit locale, pertanto l’agente di minaccia deve già godere di un accesso sull’obiettivo e aver costituito in esso la capacità di iniettare ed eseguire codice arbitrario.
Resta la questione di fondo sulla sicurezza delle patch di sicurezza: i processi di rilascio software sempre più complessi paradossalmente sono divenuti loro stessi un problema.
Nel ciclo di rilascio software ormai sono sempre più predominanti processi di test automatici invece che test di laboratorio (vista l’ampiezza dei software e dei rilasci correttivi), pertanto, come in questo caso, cose visibili solo ad un analista esperto sfuggono facilmente tra le maglie delle verifiche automatiche.