Una fetta molto importante - il 63%, secondo Trend Micro - dei malware attualmente in circolazione opera cercando di
intervenire direttamente sulla memoria di sistema del nodo che intende colpire. Senza scendere troppo in tecnicismi, questo avviene perché nella memoria del nodo sono già presenti diverse istruzioni eseguibili. Caricatevi dalle applicazioni lecite già in esecuzione sul nodo stesso. Queste istruzioni sono ovviamente
lecite. E per questo hanno passato il controllo delle varie funzioni di sicurezza attive.
Le istruzioni sono memorizzate come sequenze di codice esadecimale. E hanno un significato ben preciso se il sistema le "legge" a partire dagli indirizzi di memoria corretti. Se - come cercano di fare molti malware - si c
ambiano ad arte questi indirizzi, le operazioni lecite possono essere assemblate in una sequenza di operazioni malevole. Per usare una metafora frequente: i mattoncini delle applicazioni sono sempre quelli, ma il malware li assembla in modo diverso.
Questa forma di attacco, che ovviamente è parecchio più complessa di come l'abbiamo spiegata, è nota anche come ROP. ROP sta per
Return-Oriented Programming. Una denominazione scelta perché gli attacchi di questo tipo fanno un uso intenso e "creativo" della istruzione
RET (
Return). Questa porta l'esecuzione del codice a indirizzi particolari, reperiti dallo stack di sistema.
Usando opportunamente RET e gli indirizzi di (falso) ritorno, in estrema sintesi, un malware che riesce ad accedere alla memoria di sistema può
eseguire sequenze di codice assolutamente non previste dalle applicazioni lecite. Ma che ciononostante sono in memoria. Il malware non ha quindi la necessità di scrivere alcun suo codice in memoria. Cosa che sarebbe individuata e bloccata dai sistemi di sicurezza.
Come funziona Intel CET
La funzione
Intel Control-Flow Enforcement Technology (o
Intel CET) serve a bloccare gli attacchi ROP. Intel ci stava lavorando già da diverso tempo. La novità ora è che la funzione sarà integrata nella prossima generazione di processori, denominata
Tiger Lake. E sarà subito supportata da Microsoft Windows, dato che viene "vista" dalla release Windows 10 Version 2004. Analogamente, dovrebbe presto entrare a far parte stabilmente del kernel di Linux.
Intel CET opera creando un secondo stack "fantasma" - lo
Shadow Stack - in cui il processore inserisce gli indirizzi di memoria di ritorno per le varie chiamate di funzione del codice in esecuzione. lo Shadow Stack
non è modificabile dal codice utente, quindi non è possibile - almeno in teoria - che un malware lo manipoli come può fare con lo stack dati normale. La Control-Flow Enforcement Technology controlla che i valori di ritorno dello stack tradizionale siano gli stessi dello Shadow Stack. Se rileva una
incongruenza conclude che il primo è stato modificato arbitrariamente. E genera un allarme per il sistema operativo.
In Intel CET non c'è solo lo Shadow Stack. Una seconda funzione, denominata
Indirect Branch Tracking, protegge il sistema da attacchi simili ai ROP. Sono gli attacchi cosiddetti COP (Call Oriented Programming) o JOP (Jump Oriented Programming).
Quanto sarà efficace Intel CET? È ancora presto per dirlo, ovviamente. Ma in media le opinioni degli esperti di sicurezza - in base a quello che Intel ha raccontato della tecnologia negli ultimi anni -
virano all'ottimismo. La tecnologia in particolare ha il pregio di essere integrata a livello di microarchitettura e di irrobustirla nativamente. Non con elementi
aggiuntivi. Senza introdurre nuovi punti di vulnerabilità. Certo poi molto dipenderà da come i sistemi operativi ne faranno uso.