Il riferimento all’ utilizzo di tecniche di automazione ed eventualmente di AI (Artificial Intelligence) è diventato prassi comune nell’ indirizzare molte problematiche di analisi dei dati da cui trarre indicazioni sui comportamenti futuri di sistemi complessi.
In realtà la possibilità per un sistema di reagire autonomamente a eventi particolari in modo da standardizzare il comportamento è qualcosa presente in molti dispositivi da tempo. In queste note esamineremo un esempio delle funzionalità disponibili su alcuni nodi delle reti di impresa (ad oggi tutte basate sul protocollo IP) che permettono :
Il riconoscimento di uno specifico evento
La creazione di una policy da applicare in caso si verifichi l’ evento in oggetto
L’ applicazione della policy al sistema con la seguente modifica del comportamento dello stesso.
Tutti i principali vendor di dispositivi di rete IP (Cisco Systems, Juniper Networks, Arista Networks,…) offrono, con nomi diversi, una tale funzionalità.
Senza entrare nello specifico di ciascun sistema vorrei semplicemente illustrare il principio di funzionamento per offrire un'idea di come esistano, anche nel campo dei dispositivi di rete, strumenti e funzionalità che permettono l’ automazione dei comportamenti dei nodi a fronte di specifici eventi.
La diffusione di questi strumenti potrebbe portare anche a soluzioni che, in sinergia con tecniche di sicurezza basate su AI (vedi articolo DeepInstinct, dalla rilevazione alla prevenzione) permettano di intervenire con efficacia a fronte di specifici problemi evitando che la minaccia o il tentativo di compromissione possa raggiungere i sistemi finali (Server o postazioni di lavoro individuali).
Farò quindi riferimento ad un ipotetico dispositivo di rete. Il nodo in oggetto fornisce un ambiente di sviluppo focalizzato sull’implementazione di funzionalità di automazione.
Molto spesso questo ambiente è sviluppato sulla base di un sistema Linux ottimizzato per essere eseguito su di un processore “ausiliario” all’interno del nodo di rete. Il grande vantaggio di una tale soluzione deriva dal poter sfruttare molte (anche se non tutte) delle librerie e dei linguaggi disponibili in ambito Linux. Oltre a ciò va aggiunta la possibilità, offerta dai costruttori del nodo di rete, di accedere alle principali caratteristiche di utilizzo del nodo stesso da questo ambiente Linux.
E’ possibile quindi accedere a specifici parametri delle interfacce tramite una libreria (fornita dal costruttore) che permette di conoscere, ad esempio, il numero di pacchetti transitati in ingresso-uscita da una specifica porta oppure identificare i pacchetti malformati (troppo grandi o troppo piccoli o con errori,…). Queste funzionalità non si limitano alle caratteristiche dell’interfaccia, ma possono interessare altri sottosistemi del nodo come il livello di routing o alcune delle caratteristiche fisiche del sistema (temperatura, stato delle ventole, etc).
Posso quindi definire uno specifico evento sulla base del verificarsi di una predeterminata condizione : superamento del numero di errori di CRC su di una porta, modifica di una tabella di routing, superamento di un valore di soglia per quanto riguarda la temperatura del sistema, il carico della CPU o l’occupazione della memoria.
A questo punto, l’ evento così definito può essere usato come innesco (trigger) di una specifica azione (policy): disabilitare una porta, mandare un messaggio (con modalità diverse) all’ amministratore di sistema, intervenire sulla configurazione per cambiare una rotta di default e cosi via.
Tutte le azioni possono essere eseguite tramite degli script o dei programmi eseguibili: tipicamente i sistemi offrono la possibilità di utilizzo dei principali linguaggi quindi Python, Perl, Ruby e di un ambiente nativo basato sulla propria interfaccia comandi.
Questa funzionalità apre tutta una serie di possibili implicazioni molto interessanti anche sotto l’ aspetto della sicurezza delle reti.
Qualora fosse possibile, utilizzando strumenti esterni al sistema e basati su AI, nell’ ottica definita dall’articolo citato, istruire opportunamente e comunicare al sistema la presenza di una possibile minaccia identificata, sarebbe possibile intervenire immediatamente (o in tempi estremamente brevi). L’ intervento ipotizzato quindi bloccherebbe la specifica connessione e, al contempo, attuerebbe una specifica policy definita in precedenza intervenendo quindi sulla configurazione stessa del sistema.
In questo modo potrebbe essere possibile, ad esempio, isolare uno specifico dominio, ritenuto non affidabile, garantendo al contempo il mantenimento della connettività a livello globale.
Naturalmente le sinergie tra gli apparati di rete e i sistemi di sicurezza sono oggetto di analisi e sviluppi da parte di tutti i principali vendor che sono in grado di offrire strumenti di identificazione e contenimento delle minacce informatiche, che opportunamente configurati ed utilizzati, risultano essere molto efficaci.
Giorgio Tosi