CyberProbe, l’identificazione di infrastrutture maligne su larga scala

Il modulo di scansione di CyberProbe comprende tre diversi tipi di scanner: TCP Horizontal scanner, AppTCP scanner e UDP scanner. Il primo componente provvede all’invio di pacchetti senza payload con il flag “SYN” attivato, questo tipo di pacchetto viene utilizzato normalmente per iniziare una connessione con un server remoto. La successiva risposta del server, che seguendo le norme del protocollo, consiste in un pacchetto con i flag SYN e ACK attivati, se il server è disponibile ad effettuare una connessione, o RST (reset) se il server non è disponibile.

Quindi CyberProbe utilizza pacchetti SYN per capire se un server è in ascolto su una determinata porta. Per evitare di inviare un fingerprint a tutti gli indirizzi di Internet, effettua prima un SYN scan, inviando pacchetti SYN senza payload e collezionando le risposte di tipo SYN-ACK, per capire quanti server sono effettivamente attivi in un determinato momento su una determinata porta.
Ad esempio, su Internet i router BGP pubblicizzano un totale di 2,8 miliardi di IP raggiungibili, CyberProbe invia quindi 2,8 miliardi di pacchetti SYN sulla porta 80, le risposte SYN-ACK che riceve sono circa 70 milioni. Grazie a questo tipo di scansione sarà sufficiente inviare il fingerprint “solo” ai server attivi sulla porta 80, invece di gestire 2,8 miliardi di fingerprint. Questi ultimi vengono inviati con l’AppTCP scanner.

In evidenza i singoli passaggi dell’elaborazione effettuata da ciascun componente di CyberProbe, in alto l’AFG e sotto il modulo di scansione

La componente TCP Horizontal scanner – Questo tipo di scanner permette di “non di essere troppo rumorosi” durante le attività sul Web, poiché un fingerprint contiene sicuramente più informazione di un pacchetto SYN senza payload, e l’uso massimo potrebbe determinare un blocco delle reti backbone, col rischio di black-out temporanei.
Per quanto riguarda UDP invece non è possibile effettuare scansioni di tipo SYN perché il protocollo non possiede questo tipo di logica, essendo connection-less, incapace di garantire l’arrivo dei pacchetti e la loro integrità (al contrario di TCP). Proprio per questo, gli autori di CyberProbe hanno effettivamente dovuto inviare 2,8 miliardi di pacchetti UDP per trovare i “super-nodi” della botnet formata dalle macchine infettate dalla variante di Zeroaccess. In questo caso è stato necessario ridurre la velocità di invio dei pacchetti per evitare interruzioni del servizio di rete. In ogni caso, tutte le scansioni sono state effettuate seguendo delle linee guida di buon comportamento, evitando velocità eccessive e rimuovendo dalla lista di scansione gli indirizzi IP e le reti che hanno richiesto di non essere scansionati attraverso la pagina web che è stata appositamente creata a questo scopo.

Partendo da 15 Seed Server, CyberProbe è stato in grado di trovarne 151 precedentemente sconosciuti a servizi come VirusTotal, VxVault e Malwaredomainlist, raggiungendo un fattore di amplificazione 10. Il sistema ha inoltre identificato 7.884 super-nodi della botnet associata a una variante di Zeroaccess.
Osservando questi risultati è possibile affermare che CyberProbe rappresenta un importante passo in avanti nella lotta al crimine informatico, poiché aiuta l’identificazione e il “take down” di operazioni di cybercrime.