what this allows an attacker to do?
Consente a un utente malintenzionato di eseguire codice arbitrario in SMM (System Management Mode), una modalità di esecuzione altamente privilegiata dei processori x86. Questa modalità è trasparente per il sistema operativo (OS) ed è più privilegiata rispetto a qualsiasi altra modalità. Se un utente malintenzionato può eseguire codice in SMM, è fondamentalmente proprietario della piattaforma / computer (più potente di qualsiasi altro rootkit nel kernel del sistema operativo).
Vale la pena notare che tale vulnerabilità ha un requisito: hai bisogno dei privilegi del kernel per attivare un System Management Interrupt (SMI), per eseguire l'exploit.
Ci sono due approcci per l'attaccante:
- Può sovrascrivere la memoria flash del firmware e disabilitare alcune funzionalità di sicurezza all'avvio. Quindi, anche se cancelli il contenuto del tuo disco rigido o ne acquisti un altro, puoi reinfettare il sistema operativo senza problemi. Inoltre, rilevare o rimuovere il malware dal firmware sarà un compito difficile poiché controlla uno dei primi pezzi di codice in esecuzione sul computer.
Tuttavia, un avvio misurato utilizzando un chip TPM (Trusted Platform Module) potrebbe rilevare la modifica del flash del firmware e che alcune funzionalità di sicurezza sono disabilitate all'avvio, poiché le misurazioni effettuate (hash crittografici) non sono autentiche. Tale rilevamento è possibile se il processo di avvio misurato è correttamente implementato dal fornitore. Il processo di misurazione si basa su una radice fondamentale di fiducia in cui il primo componente che misura il prossimo è affidabile. Quindi, se questo primo componente è il firmware contenuto nel flash, l'utente malintenzionato può simulare le misure senza essere rilevato.
- Può essere nascosto e sovrascrivere semplicemente il codice eseguito in SMM, situato in SMRAM, senza modificare il flash. In questo modo controlla il codice eseguito in SMM e può monitorare o modificare il comportamento del sistema operativo. La furtività deriva dal fatto che se il computer viene riavviato, non ci sono tracce dell'attacco nel flash (poiché tutto era nella RAM). Tuttavia, molti computer non si riavviano spesso (ad es. Server), quindi l'utente malintenzionato non ha bisogno di reinfettare la macchina per avere comunque il controllo su di essa.