Towards Model-based Run-time Cybersecurity: On Control-Flow Anomaly Detection, Attack Identification, and Hardware Monitoring
Questo articolo propone un framework di cybersicurezza basato su modelli per il monitoraggio del tempo di esecuzione che combina il controllo del flusso di controllo software e hardware per superare il camuffamento degli attaccanti, migliorando così sia il rilevamento delle anomalie che la precisione diagnostica dell'identificazione degli attacchi attraverso un processo di verifica gerarchico.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immagina di essere la guardia giurata di un castello hi-tech. Il tuo compito non è solo controllare chi varca la porta principale; devi assicurarti che, una volta entrati, non inizino a riorganizzare i mobili, a dipingere sopra gli affreschi o a intrufolarsi nella camera del re. Nel mondo dei computer, questo si chiama cybersecurity. Per molto tempo, le guardie hanno principalmente sorvegliato la porta d'ingresso (la rete) per vedere se i cattivi cercavano di entrare. Ma gli hacker moderni sono astuti; a volte riescono a entrare e poi cercano di cambiare il modo in cui il computer pensa e si muove, il tutto fingendo di essere un programma normale e utile.
Per catturare questi intrusi subdoli, gli scienziati usano un metodo chiamato Monitoraggio del Control-Flow. Pensa a un programma per computer come a una ricetta per cucinare una torta. Il "control flow" è l'ordine dei passaggi: mescola la farina, aggiungi le uova, cuoci, poi decora. Se la ricetta improvvisamente dice "aggiungi sale" subito dopo "cuoci", o salta interamente il passaggio "mescolare", qualcosa non va. I sistemi di sicurezza osservano questa ricetta per vedere se i passaggi hanno senso. Se non lo sono, si tratta di un'anomalia. Ma ecco la parte complicata: un hacker intelligente può ingannare la guardia. Potrebbe nascondere il passaggio "aggiungi sale" in una parte della ricetta che sembra un normale passaggio "pulisci la cucina", oppure potrebbe cancellare la nota che dice "aggiungi sale" dal blocco appunti della guardia. Questo è chiamato camouflage. La guardia vede un passaggio strano, ma poiché la nota è mancante o sembra innocua, la guardia pensa: "Oh, è solo una strana routine di pulizia", e lascia correre.
Questo articolo, scritto da ricercatori tedeschi, affronta esattamente questo problema: Come si cattura un hacker che è bravo a nascondere le proprie tracce? Gli autori suggeriscono un nuovo e intelligente modo di affrontare il problema combinando due tipi di guardie: una che lavora all'interno del software del computer (l'osservatore software) e una che osserva da una scatola hardware separata e indistruttibile (l'osservatore hardware). Sostengono che, mentre la guardia software può essere ingannata, la guardia hardware è molto più difficile da truccare. Usandole entrambe, si può catturare l'hacker anche quando cerca di travestire le sue mosse.
La storia delle due guardie
I ricercatori iniziano spiegando come funziona la sicurezza attuale. Di solito, un computer ha una mappa di tutti i percorsi validi che un programma può seguire, chiamata Control-Flow Graph (CFG). È come una mappa della metropolitana che mostra ogni stazione e ogni binario. Se il programma tenta di saltare a una stazione che non è sulla mappa, il sistema suona un allarme. Per capire perché l'allarme è scattato, i team di sicurezza utilizzano qualcosa chiamato Attack Tree (Albero degli Attacchi). Immagina un albero dove il ramo superiore è la brutta cosa che è accaduta (come "La camera del Re è stata violata"). I rami sottostanti sono le possibili ragioni: "La guardia si è addormentata?", "Qualcuno ha scassinato la serratura?" o "Un ladro è volato dentro?".
Il problema, come sottolineano gli autori, è che l'Attack Tree è intelligente solo quanto le informazioni che riceve. Se l'hacker riesce a nascondere le prove, l'Attack Tree potrebbe concludere: "Oh, la guardia si è solo addormentata", quando la vera risposta è: "Il ladro è volato dentro". Questo è il problema del camouflage. L'hacker manipola i log o i sensori del software stesso in modo che la parte del racconto relativa al "volare dentro" scompaia dal rapporto.
L'eroe Hardware
Per risolvere questo, l'articolo propone un sistema a doppio livello. Il primo livello è l'Osservatore Software, che vive all'interno del computer. È come una telecamera installata nel corridoio. È buona, ma se un hacker entra nel corridoio, può coprire l'obiettivo della telecamera o sostituire la videocassetta.
Il secondo livello è l'Osservatore Hardware. Questa è la grande idea dell'articolo. Invece di una telecamera all'interno del corridoio, immagina un drone separato e invisibile che vola fuori dalle mura del castello, osservando il castello attraverso un telescopio. Questo drone è collegato ai macchinari fisici del castello (il processore) ma non fa parte del software del castello. Anche se l'hacker prende il controllo dei sistemi interni del castello, non può facilmente raggiungere il drone all'esterno per cambiare ciò che vede.
I ricercatori descrivono uno scenario specifico per mostrare come funziona questo. Immaginano un servizio di autenticazione (un sistema di login) per un gateway industriale.
- L'Attacco: Un hacker trova una vulnerabilità nel sistema di login. Si intrufola un carico utile malevolo che sembra una normale richiesta di "manutenzione". Inganna il sistema per saltare il controllo della "Multi-Factor Authentication" (MFA) e creare una sessione segreta.
- Il Camouflage: L'hacker usa poi un trucco speciale per riscrivere i log del software stesso. L'osservatore software vede un rapporto che dice: "Abbiamo fatto un po' di manutenzione, poi abbiamo negato la richiesta, e poi... oh, una sessione è stata creata, ma i log sono un po' disordinati". L'osservatore software pensa: "Hmm, forse il sistema di logging è solo buggato. Quello è un problema di basso livello". L'Attack Tree concorda e classifica l'evento come un errore di configurazione minore.
- La Verità Hardware: Nel frattempo, l'Osservatore Hardware sta osservando i segnali elettrici reali del processore. Vede il percorso reale: l'hacker è saltato da un blocco di "manutenzione" direttamente a un blocco di "hacking", ha saltato completamente il controllo MFA e ha poi soppresso i log. L'osservatore hardware vede il salto illegale che l'osservatore software ha mancato.
La diagnosi cambia
Quando i ricercatori inseriscono i dati dell'Osservatore Hardware nello stesso Attack Tree, la diagnosi cambia completamente. L'albero non vede più un "log buggato". Vede "Salto illegale", "Controllo di sicurezza mancante" e "Manomissione dei log". Improvvisamente, la diagnosi passa da "Bassa Gravità: Errore di Configurazione" a "Alta Gravità: Iniezione di Codice e Hijacking del Control-Flow".
L'articolo mostra che combinando i due, non si catturano solo più attacchi, ma si capiscono meglio. La guardia software potrebbe dire: "Qualcosa è strano", ma la guardia hardware dice: "Ecco esattamente cosa c'è di strano, ed è pericoloso".
Cosa significa questo (e cosa non significa)
Gli autori sottolineano con cautela che questa è un'idea preliminare. Hanno costruito parti di questo sistema e le hanno testate in simulazioni, ma non l'hanno ancora integrata completamente in un prodotto reale. Ammettono che ci sono delle sfide. Ad esempio, il monitor hardware non è magico; se il buffer di traccia si riempie (la memoria del drone si esaurisce) o se l'hacker attacca in qualche modo l'hardware fisico stesso, il sistema potrebbe comunque fallire. Inoltre, leggere i dati hardware richiede tempo e potenza di calcolo, quindi non si può osservare tutto tutto il tempo.
Invece, l'articolo suggerisce una strategia intelligente: usare la guardia software per osservare tutto a basso costo. Se la guardia software vede qualcosa di sospetto, allora sveglia la guardia hardware per dare un'occhiata più ravvicinata e dettagliata. In questo modo, si ottiene il meglio di entrambi i mondi: la velocità del software e l'affidabilità dell'hardware.
In definitiva, questo articolo non sostiene di aver risolto la cybersecurity per sempre. Non promette uno scudo perfetto. Ma offre un nuovo modo molto promettente di pensare al problema: Non fidarti solo della pagella del computer. Fai in modo che un testimone indipendente controlli i compiti. Aggiungendo questo secondo paio di occhi indipendenti, possiamo impedire agli hacker di nascondere i loro trucchi sotto gli occhi di tutti.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.