La verità sul sistema operativo nascosto Minix di Intel e problemi di sicurezza

Se si dispone di una scheda madre basata su chipset Intel, è molto probabile che sia dotata dell'unità Intel Management (Intel ME). Questo non è nuovo. E le preoccupazioni riguardanti il ​​problema della privacy dietro quella caratteristica poco conosciuta sono state sollevate per diversi anni. Ma improvvisamente, la blogosfera sembra aver riscoperto il problema. E possiamo leggere molte affermazioni vere o semplicemente false su questo argomento.

Lasciatemi provare a chiarire, per quanto posso, alcuni punti chiave per farti un'opinione personale:

Cos'è Intel ME?

Innanzitutto, diamo una definizione direttamente dal sito Web di Intel:

Costruito in molte piattaforme basate su chipset Intel® è un sottosistema per computer di piccole dimensioni a basso consumo chiamato Intel® Management Engine (Intel® ME). Intel® ME esegue varie attività mentre il sistema è in stato di sospensione, durante il processo di avvio e quando il sistema è in esecuzione.

Detto semplicemente, ciò significa che Intel ME aggiunge un altro processore sulla scheda madre per gestire gli altri sottosistemi. In realtà, è più di un semplice microprocessore: è un microcontrollore con un proprio processore, memoria e I / O. Davvero proprio come se fosse un piccolo computer all'interno del tuo computer.

Quell'unità supplementare è parte del chipset e NON è sul die principale della CPU. Essere indipendenti significa che Intel ME non è influenzato dai vari stati di sospensione della CPU principale e rimarrà attivo anche quando si mette il computer in modalità di sospensione o quando lo si spegne.

Per quanto posso dire, Intel ME è presente a partire dal chipset GM45, che ci riporta indietro al 2008 o giù di lì. Nella sua implementazione iniziale, Intel ME era su un chip separato che poteva essere rimosso fisicamente. Sfortunatamente, i moderni chipset includono Intel ME come parte del northbridge, essenziale per il tuo computer. Ufficialmente, non c'è modo di spegnere Intel ME, anche se sembra che qualche exploit sia stato usato con successo per disabilitarlo.

Leggo che gira su "ring -3" cosa significa?

Il fatto che Intel ME esegua "ring -3" genera confusione. Gli anelli di protezione sono i vari meccanismi di protezione implementati da un processore che consente, ad esempio, al kernel di utilizzare determinate istruzioni del processore mentre le applicazioni in esecuzione su di esso non possono farlo. Il punto chiave è che il software in esecuzione su un "ring" ha il controllo totale sul software in esecuzione su un ring di livello superiore. Qualcosa che può essere utilizzato per il monitoraggio, la protezione o per presentare un ambiente di esecuzione idealizzato o virtualizzato al software in esecuzione su livelli più alti.

In genere, su x86, le applicazioni vengono eseguite nell'anello 1, il kernel viene eseguito nell'anello 0 e un eventuale hypervisor sull'anello -1. "Ring -2" è talvolta usato per il microcodice del processore. E "ring -3" è usato in diversi articoli per parlare di Intel ME come un modo per spiegarlo che ha un controllo ancora maggiore di quello che funziona sulla CPU principale. Ma "ring -3" non è certamente un modello funzionante del tuo processore. E lasciatemelo ripetere ancora una volta: Intel ME non è nemmeno sul dado della CPU.

Vi incoraggio a dare un'occhiata in particolare alle prime pagine del rapporto Google / Two Sigma / Cisco / Splitted-Desktop Systems per una panoramica dei vari livelli di esecuzione di un tipico computer basato su Intel.

Qual è il problema con Intel ME?

Di progettazione, Intel ME ha accesso agli altri sottosistemi della scheda madre. Compresa la RAM, i dispositivi di rete e il motore di crittografia. E questo finché la scheda madre è alimentata. Inoltre, può accedere direttamente all'interfaccia di rete utilizzando un collegamento dedicato per la comunicazione fuori banda, quindi anche se si monitora il traffico con uno strumento come Wireshark o tcpdump, potrebbe non essere necessariamente visualizzato il pacchetto di dati inviato da Intel ME.

Intel afferma che ME è necessaria per ottenere il meglio dal chipset Intel. Molto utile, può essere utilizzato soprattutto in un ambiente aziendale per alcune attività di amministrazione e manutenzione remote. Ma nessuno al di fuori di Intel sa esattamente cosa può fare. Essendo di stretta origine, ciò porta a domande legittime sulle capacità di tale sistema e sul modo in cui può essere utilizzato o abusato.

Ad esempio, Intel ME ha la possibilità di leggere qualsiasi byte nella RAM in cerca di qualche parola chiave o di inviare tali dati attraverso la NIC. Inoltre, poiché Intel ME è in grado di comunicare con il sistema operativo e potenzialmente applicazioni in esecuzione sulla CPU principale, possiamo immaginare scenari in cui Intel ME (ab) verrà utilizzato da un software dannoso per aggirare le politiche di sicurezza a livello di sistema operativo.

È questa fantascienza? Beh, non sono personalmente a conoscenza della perdita di dati o di altri exploit che hanno utilizzato Intel ME come vettore di attacco principale. Ma citare Igor Skochinsky può darti un'idea di come sia possibile utilizzare tale sistema:

Intel ME ha alcune funzioni specifiche e, sebbene la maggior parte di queste funzioni possa essere vista come il miglior strumento che si possa dare al responsabile IT per la distribuzione di migliaia di workstation in un ambiente aziendale, ci sono alcuni strumenti che sarebbero molto interessanti per un exploit. Queste funzioni includono la tecnologia Active Managment, con la possibilità di amministrazione remota, provisioning e riparazione, oltre a funzionare come KVM. La funzione Difesa sistema è il firewall di livello più basso disponibile su una macchina Intel. Il reindirizzamento IDE e la Serial-Over-LAN consentono a un computer di avviarsi su un'unità remota o di correggere un sistema operativo infetto e l'Identity Protection ha una password monouso integrata per l'autenticazione a due fattori. Esistono anche funzioni per una funzione "antifurto" che disabilita un PC se non riesce a effettuare il check-in su un server ad intervalli predeterminati o se una "pillola velenosa" è stata consegnata attraverso la rete. Questa funzione antifurto può uccidere un computer o notificare la crittografia del disco per cancellare le chiavi di crittografia dell'unità.

Ti lascio dare un'occhiata alla presentazione di Igor Skochinsky per la conferenza REcon 2014 per avere una panoramica di prima mano sulle funzionalità di Intel ME:

  • scivoli
  • video

Come nota a margine, per darvi un'idea dei rischi date un'occhiata al CVE-2017-5689 pubblicato nel maggio 2017 riguardante una possibile escalation di privilegi per utenti locali e remoti che utilizzano il server HTTP in esecuzione su Intel ME quando Intel AMT è abilitato .

Ma non fatevi prendere dal panico immediatamente perché per la maggior parte dei personal computer, questo non è un problema perché non usano AMT. Ma questo dà un'idea dei possibili attacchi che hanno come bersaglio Intel ME e il software in esecuzione lì.

Cosa sappiamo di Intel ME? Com'è collegato a Minix?

Intel ME e il software in esecuzione sono strettamente collegati e le persone che hanno accesso alle informazioni correlate sono vincolate da un accordo di non divulgazione. Ma grazie a ricercatori indipendenti abbiamo ancora alcune informazioni a riguardo.

Intel ME condivide la memoria flash con il BIOS per archiviare il firmware. Sfortunatamente, gran parte del codice non è accessibile con una semplice scarica del flash perché si basa su funzioni memorizzate nella parte ROM inaccessibile del microcontrollore ME. Inoltre, sembra che le parti del codice accessibili siano compresse usando tabelle di compressione Huffman non divulgate. Questa non è crittografia, la sua compressione-offuscamento qualcuno potrebbe dire. Ad ogni modo, non aiuta nel reverse engineering Intel ME.

Fino alla sua versione 10, Intel ME era basato su processori ARC o SPARC. Ma Intel ME 11 è basato su x86. Ad aprile, un team di Positive Technologies ha provato ad analizzare gli strumenti che Intel fornisce agli OEM / fornitori e alcuni codici di bypass ROM. Ma a causa della compressione di Huffman, non erano in grado di andare molto lontano.

Tuttavia, sono stati in grado di fare in modo che analizzasse TXE, il Trusted Execution Engine, un sistema simile a Intel ME, ma disponibile sulle piattaforme Intel Atom. La cosa bella di TXE è che il firmware non è codificato da Huffman. E lì hanno trovato una cosa divertente. Preferisco citare il paragrafo corrispondente in extenso qui:

Inoltre, quando abbiamo esaminato il modulo vfs decompresso, abbiamo incontrato le stringhe "FS: bogus child for fork" e "FS: forking in cima al child in uso", chiaramente derivate dal codice Minix3. Sembrerebbe che ME 11 sia basato sul sistema operativo MINIX 3 sviluppato da Andrew Tanenbaum :)

Facciamo chiarezza: TXE contiene il codice "preso in prestito" da Minix. Questo è sicuro. Altri suggerimenti suggeriscono che probabilmente esegue implementazioni minime complete. Infine, nonostante nessuna prova, possiamo assumere senza troppi rischi che ME 11 si basi anche su Minix.

Fino a poco tempo fa Minix non era certamente un nome OS ben noto. Ma un paio di titoli accattivanti sono cambiati di recente. Quella e una recente lettera aperta di Andrew Tannenbaum, l'autore di Minix, sono probabilmente all'origine dell'attuale campagna pubblicitaria su Intel ME.

Andrew Tanenbaum?

Se non lo conosci, Andrew S. Tanenbaum è uno scienziato informatico e professore emerito alla Vrije Universiteit di Amsterdam nei Paesi Bassi. Generazioni di studenti, incluso me, hanno imparato le scienze informatiche attraverso i libri, il lavoro e le pubblicazioni di Andrew Tanenbaum.

A fini didattici, ha iniziato lo sviluppo del sistema operativo Minix ispirato a Unix alla fine degli anni '80. Ed era famoso per le sue polemiche su Usenet con un giovane allora di nome Linus Torvalds sulle virtù del monolitico contro i micro-kernel.

Per quello che ci interessa oggi, Andrew Tanenbaum ha dichiarato di non avere alcun feedback da Intel sull'utilizzo che hanno fatto di Minix. Ma in una lettera aperta a Intel, spiega di essere stato contattato pochi anni fa dagli ingegneri Intel che facevano molte domande tecniche su Minix e persino richiedendo la modifica del codice per poter rimuovere selettivamente parte del sistema al fine di ridurne l'ingombro.

Secondo Tannenbaum, Intel non ha mai spiegato il motivo del loro interesse per Minix. "Dopo quell'iniziale esplosione di attività, c'è stato un silenzio radio per un paio d'anni", questo fino ad oggi.

In una nota finale, Tannenbaum spiega la sua posizione:

Per la cronaca, vorrei precisare che quando Intel mi ha contattato, non hanno detto su cosa stavano lavorando. Le aziende parlano raramente di prodotti futuri senza NDA. Ho pensato che fosse un nuovo chip Ethernet o chip grafico o qualcosa del genere. Se avessi sospettato che stessero costruendo un motore spia, certamente non avrei collaborato [...]

Vale la pena ricordare se possiamo mettere in discussione il comportamento morale di Intel, sia per quanto riguarda il modo in cui si sono avvicinati a Tannenbaum e Minix, sia nell'intento perseguito con Intel ME, in senso stretto, hanno agito perfettamente in conformità con i termini della licenza Berkeley che accompagna il progetto Minix.

Maggiori informazioni su ME?

Se stai cercando ulteriori informazioni tecniche su Intel ME e lo stato attuale della conoscenza della community di tale tecnologia, ti invito a dare un'occhiata alla presentazione di Positive Technology pubblicata per la conferenza IT-Security di TROOPERS17. Sebbene non sia facilmente comprensibile da tutti, questo è certamente un riferimento per giudicare la validità delle informazioni lette altrove.

E che dire dell'uso di AMD?

Non ho familiarità con le tecnologie AMD. Quindi se hai più informazioni, faccelo sapere usando la sezione dei commenti. Ma da quello che posso dire, la linea di microprocessori AMD Accelerated Processing Unit (APU) ha una caratteristica simile in cui incorpora un microcontrollore basato su ARM, ma questa volta direttamente sul die della CPU. Sorprendentemente, questa tecnologia è pubblicizzata come "TrustZone" da AMD. Ma come per la sua controparte Intel, nessuno sa davvero cosa fa. E nessuno ha accesso alla fonte per analizzare la superficie di exploit che aggiunge al tuo computer.

Quindi cosa pensare?

È molto facile diventare paranoici riguardo a questi argomenti. Ad esempio, che cosa dimostra che il firmware in esecuzione su Ethernet o NIC wireless non ti spinge a trasmettere dati attraverso qualche canale nascosto?

Ciò che rende Intel ME più preoccupante è perché funziona su una scala diversa, essendo letteralmente un piccolo computer indipendente che osserva tutto ciò che accade sul computer host. Personalmente, sono stato interessato a Intel ME dal suo annuncio iniziale. Ma questo non mi ha impedito di utilizzare computer basati su Intel. Certamente, preferirei che Intel decidesse di aprire il motore di monitoraggio e il software associato. O se hanno fornito un modo per disabilitarlo fisicamente. Ma questa è un'opinione che riguarda solo me. Hai certamente le tue idee al riguardo.

Infine, ho detto sopra, il mio obiettivo per iscritto è stato quello di darti il ​​maggior numero possibile di informazioni verificabili in modo che tu possa esprimere la tua opinione ...

Raccomandato

Intervista con il fondatore di Linux Training Academy Jason Cannon
2019
Nuovi corsi di Linux disponibili presso il suo negozio FOSS
2019
Miglior software gratuito di editing video per Linux
2019