Rilevamento botnet fai da te: tecniche e sfide
Le botnet sono in circolazione da oltre due decenni e, con l’ascesa dell’Internet of Things (IoT), si sono diffuse ulteriormente su dispositivi che nessuno immaginava: router, dispositivi mobili e persino tostapane.
Alcune botnet sono legioni di soldati bot in attesa di un comando per attaccare un server di destinazione, generalmente per sopraffare il server con un attacco DDoS (Distributed Denial-of-Service). Altre botnet prendono di mira dispositivi specifici rubando password o criptovaluta mineraria. L’estrazione di criptovalute, in particolare, è stata una minaccia in forte crescita per le organizzazioni di recente, con botnet come Coinhive e CryptoLoot che consentono ai criminali informatici di guadagnare fino a million 100 milioni all’anno a scapito della potenza di calcolo delle vittime. Smominru, tra le più grandi botnet di criptovaluta-mining, ha infettato oltre mezzo milione di macchine utilizzando il famigerato exploit EternalBlue trapelato dalla NSA.
Per prevenire le infezioni da botnet, le organizzazioni devono essere in grado di rilevarle. Ma il rilevamento delle botnet non è facile. Esploriamo alcune delle principali tecniche e sfide nel rilevamento botnet.
Metodi per il rilevamento delle botnet
Quindi, cos’è una botnet? In poche parole, si tratta di un cluster di bot — computer e dispositivi compromessi — che eseguono i comandi forniti dal proprietario della botnet. Di solito, il proprietario della botnet dedicherà un command and Control server (C2), un server compromesso per comunicare con i bot, di solito tramite i comandi di chat di Internet Relay. Il proprietario della botnet utilizza il server C2 per ordinare alle botnet di eseguire attacchi, che si tratti di attacchi DDoS, furto di dati, furto di identità o altro tipo di attacco. Così, la pistola fumante che punta a una botnet è il suo server C2.
Sfortunatamente, trovare il C2 di solito non è un compito semplice. Molti comandi botnet emergono da più server o assumono forme nascoste, mascherando i comandi dannosi come attività innocue come il traffico di rete Tor, il traffico dei social media, il traffico tra servizi peer-to-peer, o algoritmi di generazione del dominio. A complicare ulteriormente le cose, i comandi sono spesso molto sottili, rendendo difficile rilevare eventuali anomalie.
Un metodo per tentare di rilevare C2s è abbattere e analizzare il codice malware. Le organizzazioni possono provare a smontare il codice compilato, da cui a volte possono identificare l’origine principale dei comandi della botnet. Tuttavia, poiché i creatori e gli amministratori di botnet utilizzano sempre più la crittografia integrata, questa tecnica è sempre meno efficace.
Generalmente, il rilevamento C2 richiede visibilità nella comunicazione tra un server C2 e i suoi bot, ma solo le soluzioni di sicurezza che proteggono specificamente i server C2 avranno questo tipo di visibilità. Un approccio più comune per il rilevamento delle botnet è il monitoraggio e l’analisi degli attacchi stessi, in cui le soluzioni di sicurezza standard forniscono visibilità, e la determinazione di quali attacchi hanno avuto origine dalle botnet.
Quando si esaminano i tentativi di exploit, ci sono alcune possibili indicazioni per una botnet. Ad esempio, se gli stessi indirizzi IP attaccano gli stessi siti, allo stesso tempo, utilizzando gli stessi payload e modelli di attacco, c’è una buona probabilità che siano parte di una botnet. Ciò è particolarmente vero se sono coinvolti molti IP e siti. Un esempio importante è un tentativo DDoS da parte di una botnet su un servizio web.
Falsi positivi
La probabilità di falsi positivi rende particolarmente difficile il rilevamento delle botnet. Alcuni payload sono ampiamente utilizzati, aumentando la probabilità di un modello che si verificano casualmente innescando un falso positivo. Inoltre, gli aggressori possono modificare i loro indirizzi IP utilizzando una rete privata virtuale o un proxy, facendo sembrare che molti aggressori o bot siano coinvolti quando ce n’è davvero uno solo.
Anche gli strumenti di hacking e gli scanner di vulnerabilità si comportano in modo simile alle botnet per restituire spesso falsi positivi. Questo perché gli strumenti di hacking generano gli stessi carichi utili e modelli di attacco, e molti hacker li usano, indipendentemente dal colore del loro cappello. E, se diversi giocatori capita di condurre un test di penetrazione sugli stessi siti allo stesso tempo, può sembrare un attacco botnet.
Le organizzazioni possono spesso identificare i falsi positivi cercando su Google il payload e facendo riferimento a qualsiasi informazione documentata intorno ad esso. Un’altra tecnica consiste semplicemente nel raccogliere qualsiasi informazione prontamente disponibile all’interno della richiesta grezza nella soluzione di sicurezza. Ad esempio, se la colpa è di uno scanner di vulnerabilità, la maggior parte delle soluzioni di sicurezza lo rivelerà identificandolo, specialmente se si tratta di uno degli scanner di vulnerabilità più comuni.
I falsi positivi sono una sfida inevitabile nel rilevamento delle botnet data l’enorme quantità di potenziali incidenti; recenti ricerche mostrano che il 27% dei professionisti IT riceve oltre 1 milione di avvisi di sicurezza ogni giorno, mentre il 55% riceve più di 10.000. Ma con le giuste tecniche e diligenza, le organizzazioni possono discernere il traffico innocuo dal traffico dannoso, botnet-driven.
Contenuti Correlati:
- 7 Non Computer Hack Che non Dovrebbe Mai Accadere
- Nuova Botnet Mostra l’Evoluzione della tecnologia e Cultura Criminale
- Paul Vixie Sulla Sicurezza DNS & Botnet Takedown (video)
- Anti-Botnet Guida ha lo scopo di Affrontare Automatizzato Minacce
Unire Scuro Lettura di VIVERE per due cybersecurity vette di Interoperabilità 2019. Impara dagli esperti di sicurezza IT più esperti del settore. Controlla l’agenda di Interoperabilità qui.