Clear Sky Science · it

Verso la comprensione dell’applicabilità della difesa a bersaglio mobile a runtime per l’internet delle cose e i sistemi cyber‑fisici

· Torna all'indice

Perché i piccoli computer hanno bisogno di grandi difese

Da termostati intelligenti a robot industriali, la vita quotidiana dipende ormai da piccoli dispositivi connessi che misurano, controllano e automatizzano il nostro mondo senza far rumore. Ma gli stessi dispositivi possono essere dirottati da hacker che sfruttano vulnerabilità software note da tempo per prenderne il controllo. Questo articolo esplora se un espediente di sicurezza potente, chiamato difesa a bersaglio mobile, funzioni davvero sull’hardware modesto che alimenta la maggior parte dell’Internet delle Cose (IoT) e dei sistemi cyber‑fisici (CPS) — e cosa ciò implica per mantenere sicuro il nostro mondo sempre più automatizzato.

Figure 1
Figura 1.

Un bersaglio che si muove per gli hacker

Gli strumenti di sicurezza tradizionali come firewall o antivirus reagiscono per lo più dopo l’inizio di un attacco. La difesa a bersaglio mobile adotta una tattica diversa: cambia continuamente parti chiave di un sistema in modo che gli aggressori non possano mai sapere esattamente dove mirare. La tecnica specifica studiata qui è l’Address Space Layout Randomization (ASLR), che rimescola la posizione in memoria di programmi e librerie a ogni esecuzione. In questo modo, anche se un aggressore conosce un punto debole, non può facilmente ritrovarne l’indirizzo esatto. L’ASLR è ormai uno standard nei principali sistemi operativi, ma il suo comportamento sui dispositivi piccoli e con risorse limitate — quelli comunemente presenti in IoT e CPS — non è stato ben compreso.

Mettere alla prova tre sistemi

Gli autori confrontano l’efficacia dell’ASLR su tre configurazioni basate su Linux: un sistema Kali Linux a 64 bit su un tipico processore Intel, e due sistemi ARM a 32 bit che eseguono Raspberry Pi OS e OpenWRT, più simili a quanto si trova su dispositivi edge, router e gateway. Piuttosto che tentare intrusioni alla cieca, adottano un approccio scientifico: registrano ripetutamente dove una libreria di sistema comune (libc) viene collocata in memoria, costruendo ampi set di dati di indirizzi reali. Analizzano quindi quanto quegli indirizzi si distribuiscano, come cambino singoli byte di ogni indirizzo tra esecuzioni e quanto imprevedibile sia il modello complessivo usando una misura chiamata entropia. Questo permette di quantificare quanto sarebbe difficile per un attaccante indovinare la posizione corretta.

Quanto è “abbastanza casuale” il casuale?

I risultati mostrano un netto contrasto tra il grande sistema a 64 bit e i dispositivi a 32 bit. Su Kali Linux a 64 bit, gli indirizzi sono distribuiti quasi uniformemente su un ampio intervallo: la maggior parte dei byte dell’indirizzo varia molto, poche posizioni si ripetono e un test statistico conferma che le scelte appaiono vicine al vero casuale. Per un attaccante ciò significa uno spazio di ricerca enorme e poche possibilità di indovinare rapidamente il punto giusto. Sui sistemi a 32 bit, invece, appare solo un piccolo insieme di 256 indirizzi distinti, anche raccogliendo 100.000 campioni. Diversi byte cambiano a malapena, in gran parte per vincoli architetturali e per l’allineamento richiesto dalle pagine di memoria. In pratica, questo significa che un aggressore potrebbe aver bisogno di poche centinaia di tentativi — non di milioni o miliardi — per colpire l’indirizzo giusto.

Figure 2
Figura 2.

Attacco nel mondo reale e costi contenuti

Per verificare se queste differenze contano nella pratica, i ricercatori implementano un tipo di tecnica di dirottamento di controllo nota come attacco return‑oriented programming (ROP) su tutti e tre i sistemi. Quando una opzione di indurimento chiave chiamata Position Independent Executable (PIE) è disattivata, l’attacco ha successo: il flusso normale del programma viene deviato verso funzioni nascoste scelte dall’attaccante. Ma una volta abilitata PIE, in combinazione con ASLR che rende spostabile anche la posizione del programma principale, l’attacco si conclude in modo affidabile con un crash invece che con un takeover — sia sulla macchina potente a 64 bit sia sui modesti dispositivi ARM a 32 bit. Le misure mostrano anche che abilitare ASLR, protezioni di stack e memoria non eseguibile introduce solo un piccolo overhead in termini di uso della memoria e tempi di esecuzione, dell’ordine dell’uno percento.

Cosa significa per i dispositivi di tutti i giorni

Lo studio conclude che sebbene l’ASLR sui sistemi ARM a 32 bit sia matematicamente più debole e meno casuale rispetto ai desktop e server a 64 bit, offre comunque una protezione paragonabile ai vecchi PC a 32 bit e può bloccare con successo attacchi semplici quando viene combinata con altre difese integrate. Per i sensori IoT più miniaturizzati l’ASLR è spesso impossibile perché l’hardware non dispone delle caratteristiche di memoria necessarie; in quei casi, altre tecniche come il secure boot e la crittografia leggera sono più adatte. Ma per dispositivi edge quali router e schede di classe Raspberry Pi, abilitare ASLR, PIE e le contromisure correlate è sia praticabile sia utile. La migrazione di queste piattaforme verso architetture a 64 bit, e l’accoppiamento dell’ASLR con altri accorgimenti a bersaglio mobile a livello di rete e software, può aumentare significativamente la soglia di difficoltà per gli aggressori che cercano di trasformare oggetti di uso quotidiano in armi.

Citazione: Gurung, D., Pradhan, M.P. & Gurung, S. Towards understanding the applicability of runtime moving target defense for the internet of things and cyber physical systems. Sci Rep 16, 5907 (2026). https://doi.org/10.1038/s41598-026-36797-4

Parole chiave: difesa a bersaglio mobile, ASLR, Sicurezza dell’Internet delle Cose, sistemi cyber‑fisici, attacchi da buffer overflow