Qual è la vulnerabilità di "ThinkPwn" e cosa consente agli aggressori di fare?

13

Recentemente è stata divulgata la vulnerabilità del firmware ThinkPwn, con un proof of concept e una spiegazione abbastanza lunga . Tuttavia, qualcuno può spiegare in parole povere (senza richiedere una conoscenza approfondita su come funziona il firmware) che cosa consente a un utente malintenzionato di fare?

Inoltre, sembra che questa vulnerabilità sia anche presente in un computer HP Pavillon e probabilmente molti altri, ma posso Non vedo la sua utilità in questo caso poiché queste macchine non sembrano avere alcun controllo delle firme del firmware, quindi potresti già scrivere un firmware dannoso senza che questo exploit ne sovrascriva le regioni protette.

    
posta André Borie 04.07.2016 - 21:24
fonte

2 risposte

4

In parole povere, come richiesto, penso che questa vulnerabilità possa essere semplicemente ridotta a un caso particolare di attacco di escalation di privilegi. Segue la stessa strada e persegue lo stesso obiettivo (e tali attacchi contro SMM non sono nuovi: altri due eventi sono stati presentati alla conferenza Black Hat in 2008 e 2015 ).

Come funziona: funziona iniettando codice arbitrario in un software con privilegi più elevati. Qui l'originalità è che il software vulnerabile non viene eseguito all'interno del sistema operativo, ma al di fuori di esso: in un firmware.

Che cosa ottiene: puoi eseguire un'escalation di privilegi per diversi scopi:

  • Accedi ai dati che non dovrebbero essere raggiungibili. Ad esempio, Windows 10 sembra fare affidamento su un basata sulla virtualizzazione tecnologia per archiviare alcune credenziali dall'intera portata del sistema operativo. Questo exploit ti offre un livello di privilegio ancora più elevato e ti garantisce quindi l'accesso a tutti questi dati protetti.
  • Nasconditi dal codice con privilegi più bassi. Tutte le soluzioni anti-virus funzionano al meglio a livello di privilegio del kernel del sistema operativo. Elevando al di sopra di questo livello è possibile creare un software più furtivo che non sarà rilevabile utilizzando qualsiasi mezzo convenzionale.
  • Esegui altrimenti azioni non autorizzate. Anche in questo caso tutte le azioni possibili rimangono possibili, ma con il vantaggio di avere la precedenza sul sistema operativo (ad esempio puoi installare un servizio di rete nascosto: il sistema operativo non sarà mai consapevole dei pacchetti inviati e ricevuti da tale backdoor). Nuove azioni possono anche diventare possibili, ma molto probabilmente dipenderanno dalla piattaforma. Alla fine quello che ottieni è una specie di versione malevola del Intel's Management Engine , l'unica limitazione è che il tuo codice è associato alla CPU principale della piattaforma, ad esempio:
    • È potrebbe non essere in grado di funzionare mentre la macchina è spenta (questo potrebbe non essere vero tuttavia se la tua macchina è messa a riposo, se abiliti funzioni come wake-on-lan o se la backdoor ha abilitato tali funzionalità, o ha sostituito il vero power-off con una simulata),
    • potrebbe non accedere ad altri processori come il processore interno TPM, a meno che il chip TPM non sia effettivamente emulato sulla CPU principale come nel caso di TrustZone ARM (utilizzato in particolare da Android), o se il il livello di fiducia così acquisito apre l'accesso a nuovi canali di comunicazione non utilizzabili dal sistema operativo.
risposta data 07.07.2016 - 18:48
fonte
6

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.
risposta data 06.07.2016 - 11:26
fonte

Leggi altre domande sui tag