Continuo a leggere di Bloomberg che accusa i cinesi di aver inserito chip dentro le schede madri, allo scopo di spionaggio, e provo una sensazione che va dal divertimento al sarcasmo. Va dal divertimento al sarcasmo perche’ mi sforzo di immaginare come possa funzionare un coso del genere.

Bisogna capire una cosa: dall’hardware fisico ai dati ci sono tanti, ma tanti livelli di astrazione. E ognuno di questi livelli “offusca” i dati, nel senso che oggi quasi tutti i data center sono virtualizzati, ove virtualizzato significa che se io mi proponessi di leggere una specifica informazione di uno specifico programma, trovandomi sul livello della scheda madre, sarebbe difficilissimo riuscirci.

Certo, interagendo con le primitive di virtualizzazione potrei teoricamente intercettare la costruzione di un dominio di sicurezza, ma occorrerebbe conoscere esattamente il tipo di hypervisor, sapere cosa scrive dove, e a quel punto dovrei andare a leggere la memoria. Ma questo e’ semplicemente improbabile: anche interagendo con le chiamate primitive sulle estensioni di virtualizzazione, il software degli hypervisor e’ vario, viene patchato di continuo e viene aggiornato. Inoltre, sopra il dominio della virtualizzazione gira il sistema operativo guest, che a sua volta ha la sua storia e i suoi update. Per esempio, quando fu fissato il baco nelle CPU intel , al kernel di linux fu cambiato il modo in cui distribuisce i dati nella ram. Un “piccolo” cambiamento avrebbe reso vano il lavoro di questo “chip”

Ma ammettiamo pure che il chip riesca ad essere cosi’ intelligente da capire qualsiasi tipo di virtualizzazione, qualsiasi versione di OS e anche di sapere dove trovare i dati che si cercano in qualsiasi sistema e in qualsiasi applicativo, indipendentemente dalla versione e dalle patch: io so sempre a quale indirizzo della RAM si trova quella roba.

E non ho nemmeno pensato a cose come i containers, che visti dal punto di vista della scheda madre riducono la memoria ad una marmellata di dati, per esempio con lo spegnersi e riaccendersi dei microservices, oppure pensate alle funzioni lambda di Amazon.

Potrebbero aver semplicemente agito durante la fetch del processore, e se viene caricato uno specifico codice allora sappiamo che in qualche registro ci sara’ il dato, oppure sappiamo che se viene caricato uno specifico codice, una specifica sequenza di istruzioni, allora ad un dato offset ci sara’ il dato che vogliamo.

Ok. Diciamo che qualcosa potresti portare a casa. Forse.

A questo punto il problema e’ che la macchina si trova in una rete , che nel caso di virtualizzazione e’ a sua volta virtuale. E il traffico puo’ essere strettamente monitorato. In che modo questo chip dovrebbe trasmettere i dati carpiti , sfuggendo a DPI , outlier detection e tutto quanto? Tantomeno possiamo dare per scontato che quel cosino possa “far entrare” qualcuno. Un conto e’ se il cosino si trova nell’antenna di un BTS e allora consente di spiare le telefonate. Ma qui parliamo di endpoint , quindi qualcosa che e’ protetto. Il DOM0 potrebbe anche NON essere connesso, come capita quasi sempre.

Anche perche’ le macchine vengono provate prima di essere inviate, e se le macchine senza fare nulla si mettono ad aprire connessioni verso un qualche indirizzo, solo perche’ sono state accese, qualche sospetto viene. Un conto e’ se parliamo di un singolo server che tu accendi in sostituzione di un altro blade. Un conto e’ se ne hai comprati 15.000 e stai montando una nuova stanza nel tuo data center. In quel caso li accendi anche “a vuoto”. E non e’ bello vedere sta macchina aprire connessioni tcp verso indirizzi random.

A questo punto capite che questo modello di attacco dipende troppo da variabili indipendenti per funzionare. Se anche il chip criptasse i dati e li inviasse usando un pacchetto UDP, non e’ affatto scontato che il traffico udp in uscita sia consentito.

Esiste pero’ un modello migliore: quello in cui e’ la stessa vittima a portarci i dati.

Significa che io vendo 15.000 server col chip, il quale registra e basta. In ~3 anni quei server verranno cambiati, e io mi offro di riassorbire le vecchie macchine , per la loro distruzione. Significa che come rivenditore mi offro ANCHE di ritirare i server usati. Magari li compro anche ad un prezzo simbolico.

In quel caso, il chip non ha bisogno di trasmettere nulla. Si limita a registrare , registrare, registrare, e quando la vittima ammoderna i server, chi li ritira fa la sua pesca a strascico.

Questo e’ gia’ piu’ credibile: quando il mio chip nota che nella CPU e’ in fetch un segmento di codice, diciamo quello che cripta , allora sa che presto arriveranno i dati da criptare. E puo’ copiarli. E non fa altro che salvarli in qualche memoria persistente.

Sin qui nulla di strano: quando il nostro fornitore si offre di ritirarci l’usato, sa bene che noi cancelleremo ogni storage e che probabilmente lascieremo che anche la piu’ antica memoria residua nella RAM sia persa. Magari avremo anche una procedura per questo.

Ma non servira’ a nulla perche’ abbiamo il nostro recorder sulla scheda.

Sin qui, la cosa ha senso. Certo, e’ pensabile solo se accompagnamo all’attacco una massiccia campagna di “riacquisto” delle macchine usate, ma non e’ complicatissimo organizzarla. Ed e’ difficile notare la nostra “intrusione” dal momento che e’ la stessa vittima a consegnarci i server con il registratore a bordo.

E’ possibile farlo anche coi cellulari e con i computer domestici? Beh, a dire il vero l’imprudenza degli utenti e’ tale, che non serve neppure: basta ricomprare l’usato e ci si trovano dentro dati di ogni genere. Ho avuto un helpdesk in gioventu’, e ricordo che quando ritiravo l’usato per la distruzione fiscale (un servizio che facevo) , dentro c’era di tutto. Quindi non oso immaginare come sia per i cellulari: in quel caso, il chip-spia e’ semplicemente un sistema operativo che, anche quando riportato alla configurazione originale, mantiene ancora moltissimi “leftover” del passato. Qualcuno ha pensato “file di swap?”

Il motivo per cui questo fantomatico chippettino fa gridare di dolore gli USA e’ che si sono accorti di dipendere , in quasi tutti i settori dell’industria moderna e dei servizi, da produttori cinesi.

Questo e’ il punto. E lo vediamo nelle dichiarazioni delle aziende coinvolte: l’intenzione di Bloomberg era quella di segnalare come un segmento cruciale dell’ IT americano e mondiale sia nelle mani di una dittatura comunista che non ha mai fatto mistero di essere comunista e di non amare la democrazia come concetto.

Questa dittatura comunista sta costruendo flotte navali immense, missili intercontinentali e flotte di aerei da combattimento, a due passi dagli USA. E ciononostante, gli USA dipendono da loro.

Ma ripeto, considerate le dichiarazioni delle aziende coinvolte: sia Apple che Amazon hanno smentito assolutamente. La ragione e’ che dipendono da produttori cinesi per quasi tutto cio’ che fanno, dai grandi cloud alla produzione dell’hardware proprietario. Se domani i cinesi chiudessero i cordoni, negli USA servirebbe una riconversione industriale senza precedenti per poter soddisfare solo il fabbisogno americano. Quello mondiale, sognatevelo pure, occorrerebbero ~15 anni per poter sostituire la Cina.

Questo grido di dolore e’ il grido di chi scopre improvvisamente di aver comprato la corda con la quale si impicchera’, e di averla anche pagata cara. Un progetto di riconversione industriale che tolga ai produttori cinesi la fetta di mercato che hanno richiederebbe investimenti impossibili e un numero di anni improponibile per le esigenze delle industrie , occidentali e non.

Se si volesse segregare - per legge - la produzione cinese di chip, occorrerebbe mettere al lavoro , giorno e notte, ogni factory di silicio di Europa, India, Russia, USA , e dopo giganteschi investimenti si otterrebbe qualcosa di analogo. In dieci-quindici anni.

Perche’ cosi’ tanto? Perche’ vi servirebbero gli specialisti per far andare queste fabbriche: possiamo anche forzare Infineon in Germania o STM in Italia sino ad arrivare al massimo delle loro linee, ma qui siamo in una scala completamente diversa, e non ci sono abbastanza ingegneri elettronici per tenere in piedi una simile produzione. Occorrerebbe formarli. E quindi i tempi si allungano. E poi occorre tutta l’industria del vuoto, la filiera dei materiali, tutto deve moltiplicarsi di un fattore 100, se non 1000.

La smania di fare soldi facili investendo in un paese tutto sommato ostile, se non ambiguo, oggi ha dato i suoi frutti.

L’unica cosa che le nazioni occidentali possono fare e’ di fare delle leggi sullo smaltimento dell’elettronica usata, in modo che questo tipo di attacchi sia mitigato: diventa impossibile ritirare l’usato, e quindi andare a leggere i dati.

Perche’ il prossimo livello di escalation sara’ quello di inserire componenti maliziose dentro i SOC. E da questo, ammesso che possiate scoprirlo, non vi salvate proprio.