Le CPU x86 Intel nascondono un’altra CPU che può prendere il controllo del PC

Proprio così: le CPU x86 Intel nascondono al loro interno un’altra CPU che può prendere il controllo del PC!

I recenti processori Intel x86 hanno un segreto: Implementano al loro interno un potente meccanismo di controllo, eseguito su un chip dedicato, che nessuno può  verificare, esaminare o controllare. Se questo viene compromesso,il sistema interessato sarà esposto ad attacchi rootkit difficilmente rilevabili e quasi inarrestabili.

L’Intel Management Engine (ME) è un sottosistema composto da uno speciale microprocessore ARC a 32 bit che è fisicamente ubicato all’interno del chipset. Si tratta di un computer aggiuntivo di uso generale per l’esecuzione di un blob firmware che viene venduto come sistema di gestione per le grandi implementazioni aziendali.

Quando si acquista il sistema con una scheda madre e CPU Intel x86, si sta acquistando anche questo hardware sito all’interno della CPU stessa: un computer aggiuntivo che controlla la CPU principale. Questo computer viene eseguito completamente out-of-band con la CPU x86 principale il che significa che può funzionare in modo totalmente indipendente anche quando la CPU principale è in uno stato a bassa energia come lo stato S3 (sospensione).

Su alcuni chipset, il firmware in esecuzione sul ME implementa un sistema di Intel denominato Active Management Technology (AMT). Ciò è del tutto trasparente al sistema operativo, il che significa che il computer “nascosto” può fare il suo lavoro, indipendentemente da quale sistema operativo è installato e funzionante sulla CPU principale.

Lo scopo di AMT è quello di fornire un modo per gestire i computer remoto (questo è simile ad un vecchio sistema denominato “Intelligent Platform Management Interface” o IPMI , ma più potente). Per realizzare questo compito, il ME è in grado di accedere a qualsiasi regione di memoria, senza che la CPU x86 principale rilevi questi accessi. Essa gestisce anche un server TCP/IP sulla interfaccia di rete e i pacchetti entrano ed escono dalla macchina attraverso alcune porte byassando qualsiasi firewall in esecuzione sul sistema.

Mentre AMT può essere un grande valore aggiunto, ha diversi svantaggi preoccupanti. ME è classificato dai ricercatori di sicurezza come “Ring -3” . Gli anelli di sicurezza possono essere definiti come livelli di sicurezza che colpiscono particolari parti di un sistema, più e basso il numero più piccolo l’anello corrispondente ad un’area più vicina all’hardware. Ad esempio,all’Anello 3 sono associate minacce alla sicurezza che si manifestano in modalità  “userspace”. All’Anello 0 le minacce che si verificano nel livello “kernel”, le minacce dell’Anello -1 verificano in un livello “hypervisor”, cioè in un livello inferiore al kernel, mentre le minacce Anello -2 si verificano in una modalità CPU speciale chiamata modalità “SMM”. SMM è l’acronimo di Sistem-Management-Mode, una modalità speciale in cui le CPU intel possono eseguire un particolare pezzo di codice. Se gli aggressori possono modificare il codice SMM ed attivare la modalità, si può ottenere l’esecuzione arbitraria di codice sulla CPU.

Anche se il firmware ME è crittograficamente protetto con RSA 2048, nei primi modelli rilasciati i ricercatori sono stati in grado di sfruttare le debolezze del firmware ME e prenderne il controllo parziale. Questo mostra un enorme lacuna nella sicurezza, ed ME è stato definito un meccanismo per rootkit molto potente . Una volta che il sistema è compromesso da un rootkit, gli hacker possono accedere a l’amministrazione ed attaccare il computer senza essere individuati.

Nei sistemi più recenti rispetto alla serie Core 2, il ME non può essere disabilitato. I sistemi Intel che sono progettati per avere Intel ME, ma mancano del ME firmware (o il cui ME firmware sia danneggiato) rifiuteranno di avviarsi.

Non vi è alcun modo da parte per il firmware x86 o per il sistema operativo di disabilitare ME in modo permanente. Intel mantiene la maggior parte dei dettagli sul ME assolutamente segreti. Non c’è assolutamente alcun modo per la CPU principale di capire se la componente ME del sistema è stata compromessa esattamente come non c’è modo di “guarire” un ME compromesso. Non c’è nemmeno un modo per sapere se qualche entità malevola è stata in grado di compromettere ME e quindi infettare il sistema.

Una gran parte del modelli di sicurezza di ME è basata sul motto “sicurezza attraverso l’oscurità”, una pratica che molti ricercatori vedono come il peggior tipo di sicurezza. Se i segreti del funzionamneto di ME saranno compromessi (e in futuro lo saranno,  da ricercatori o enti dannosi), allora l’intero modello di sicurezza ME crollerà, esponendo ogni recente sistema Intel ai peggiori rootkit immaginabili.
Dice Damien Zammit:
“Abbiamo capito alcuni dei dettagli essenziali di come il firmware ME è stato confezionato in un blob. Il firmware ME è verificato da una ROM di boot segreta integrata nel chipset. Essa prima controlla che il checksum SHA256 della chiave pubblica corrisponda a quello dalla fabbrica, quindi verifica la firma RSA del payload firmware ricalcolandolo e confrontandola con la firma salvata. Questo significa che non vi è alcun modo ovvio per bypassare il controllo della firma, in quanto il controllo viene svolto da codice memorizzato in una ROM, anche se abbiamo la chiave pubblica e la firma. Tuttavia, ci potrebbe essere ancora un bug sfruttabile nel bootloader ROM.

Abbiamo anche scoperto che le parti critiche del firmware ME sono memorizzate in un formato compresso non standard, che viene decompresso da un apposito decompressore hardware. I tentativi iniziali di forza bruta sullo schema di decompressione hanno fallito miseramente. Un altro gruppo ha avuto più successo e hanno ora completato una routine di decompressione che lavora per tutte le versioni di ME fino alla 11 (non inclusa). Complimenti a loro!

L’obiettivo non è quello di sostituire ME di Intel, ma quello di fornire un firmware libre alternativo per gli utenti che scelgono di utilizzarlo. Quando l’implementazione di componenti così critici per la sicurezza è disponibile per essere esaminata, sarà peer-reviewed e verificata da parte di persone in tutto il mondo e ciò si traduce in genere in maggiore sicurezza.

Purtroppo, dal momento che il firmware è protetto da RSA 2048, al momento non abbiamo modo di eseguire il nostro codice su hardware ME perché non riesce la convalida. Non abbiamo modo di andare avanti, anche se lo volessimo.”

Siamo al sicuro? Possiamo dire che in questo caso, è impossibile fruttare ME per scopi diversi da quelli per cui è stato progettato a meno che non si disponga di un modo per fattorizzare numeri semi-primi con circa 600 cifre decimali in un tempo ragionevole. (Al momento della scrittura di questo articolo e della notizia originale, è praticamente impossibile in una sola vita umana,  a meno che non si abbia un computer quantistico).

Di lato uno schema altamente semplificato che descrive come alcuni degli hardware ME più vecchi si inseriscono in un sistema: 

Quindi, in conclusione, Intel finora ha solo impedito a chiunque di armeggiare con il firmware ME (solo a livello pratico). Ma non c’è modo di fidarsi del codice in esecuzione sul proprio chip perché è proprietario. Quindi siamo indietro ai giorni della Playstation di Sony, solo che ora si tratta di computer basati su Intel x86. La cosa che ci preoccupa ora è che Intel ha spremuto un intero sistema in un chip SoC. Dunque non abbiamo alcuna separazione fisica tra i componenti a cui possiamo dare fiducia e componenti ME non attendibili.

Schema by Damo22

Notizia in lingua originale: Link

I MindlessNerds si augurano che l’articolo sia di tuo gradimento. Ti invitiamo ad iscriverti e a seguirci su: |YouTube | Facebook | Instagram | Gruppo Telegram | Twitter | Twitch | Mixer | Mobcrush | Discord |

Inoltre se utilizzi un AD-BLOCK ti chiediamo di aggiungerci alle eccezioni, potremmo così sostenere i costi di gestione e manutenzione del sito. Grazie

 

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.