Che cos’è una botnet DDoS?

Gli attacchi botnet sono responsabili dei maggiori attacchi DDoS mai registrati. Approfondimento su come i dispositivi vengono infettati da malware botnet, come le bot vengono telecomandate e come proteggere una rete da un'infestazione botnet.

Share facebook icon linkedin icon twitter icon email icon

Botnet

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire una botnet DDoS
  • Spiegare perché vengono create le botnet
  • Capire in che modo le botnet vengono controllate da malintenzionati
  • Illustrare strategie per disabilitare una botnet e prevenire l'eventuale infezione

Che cos’è una botnet?

Una botnet è un insieme di computer infettati da malware e controllati da un malintenzionato. Il termine botnet deriva dalle parole robot e network, rete. Ogni dispositivo infetto è detto bot. Le botnet possono essere progettate per eseguire attività illecite o dannose, tra cui l'invio di spam, il furto di dati, ransomware, il clic fraudolento su annunci o attacchi DDoS (Distributed Denial of Service).


Mentre alcuni malware, come il ransomware, hanno un impatto diretto sul proprietario del dispositivo, i malware botnet DDoS possono avere diversi livelli di visibilità; alcuni malware sono progettati per assumere il controllo totale di un dispositivo, mentre altri vengono eseguiti in modalità silente come processo in background in attesa di istruzioni dall'aggressore, detto "bot herder”, letteralmente “guardiano di bot”.


Le botnet si auto-propagano reclutando altri bot attraverso una varietà di canali diversi. I percorsi di infezione includono lo sfruttamento di vulnerabilità dei siti Web, il cosiddetto cavallo di Troia e la decifrazione di tecniche deboli di autenticazione per ottenere in modo indebito l'accesso remoto. Una volta ottenuto l'accesso, tutti questi metodi di infezione comportano l'installazione di malware sul dispositivo designato, consentendone il controllo remoto da parte dell'operatore della botnet. Una volta che un dispositivo è infetto, può tentare di propagare automaticamente il malware botnet reclutando altri dispositivi hardware nella rete circostante.


Pur essendo impossibile sapere quanti bot comprenda una particolare botnet, le stime del numero totale di bot in una botnet sofisticata possono andare da alcune migliaia a oltre un milione.

Animazione dell’attacco DDoS botnet

Perché vengono create le botnet?

Le ragioni per usare una botnet variano dall'attivismo al blocco finanziato da un governo, con molti attacchi effettuati a scopo semplicemente di lucro. L'ingaggio di servizi botnet online è relativamente poco costoso, soprattutto in relazione all’entità di danno che possono causare. Anche le barriere alla creazione di una botnet sono sufficientemente basse da renderla un'attività redditizia per alcuni sviluppatori di software, specialmente in aree geografiche in cui la regolamentazione e l’applicazione della legge sono limitate. Questa combinazione ha portato a una proliferazione di servizi online che offrono attacchi su commissione.

Come viene controllata una botnet?

Una caratteristica precipua di una botnet è la capacità di ricevere istruzioni aggiornate dal guardiano di bot. La possibilità di comunicare con ciascun bot nella rete consente all'aggressore di alternare vettori di attacco, modificare l'indirizzo IP di destinazione, terminare un attacco e altre azioni personalizzate. Benché lo schema delle botnet possa variare, le strutture di controllo possono essere suddivise in due categorie generiche:

Il modello botnet client/server

Il modello client/server imita il tradizionale flusso di lavoro di workstation remote in cui ogni singola macchina si connette a un server centralizzato (o un numero limitato di server centralizzati) per accedere alle informazioni. In questo modello ogni bot si collegherà a una risorsa del centro di comando e controllo (CnC) quale un dominio Web o un canale IRC per ricevere istruzioni. Utilizzando questi repository centralizzati per fornire alla botnet nuovi comandi, un malintenzionato si limiterà semplicemente a modificare il materiale di origine a cui ogni botnet attinge da un centro di comando per aggiornare le istruzioni alle macchine infette. Il server centralizzato che controlla la botnet può essere un dispositivo posseduto e gestito dall'aggressore ma può anche essere un dispositivo infetto.


Sono state osservate numerose popolari topologie di botnet centralizzate, tra cui:

Topologia di rete a stella

Animazione della topologia di rete a stella

Topologia di rete multiserver

Animazione della topologia di rete multiserver

Topologia di rete gerarchica

Animazione della topologia di rete gerarchica

In ciascuno di questi modelli client/server ogni bot si collegherà a una risorsa del centro di comando e controllo quale un dominio Web o un canale IRC per ricevere istruzioni. Utilizzando questi repository centralizzati per fornire alla botnet nuovi comandi, un malintenzionato si limiterà semplicemente a modificare il materiale di origine a cui ogni botnet attinge da un centro di comando per aggiornare le istruzioni alle macchine infette.


La semplicità di aggiornamento delle istruzioni alla botnet da un numero limitato di fonti centralizzate si accompagna alla vulnerabilità di tali macchine; per rimuovere una botnet con un server centralizzato, infatti, basta bloccare il server. A causa di tale vulnerabilità, gli autori di malware botnet si sono evoluti migrando verso un nuovo schema, meno suscettibile di blocchi a causa di un singolo o pochi punti critici

Il modello di botnet peer-to-peer

Per aggirare le vulnerabilità del modello client/server, le botnet più recenti sono state progettate utilizzando componenti per la condivisione file peer-to-peer decentralizzata. L'incorporamento della struttura di controllo all'interno della botnet elimina la vulnerabilità del singolo punto critico tipica di una botnet con server centralizzato, rendendo più difficili gli sforzi di mitigazione. I bot P2P possono essere sia client che centri di comando, operando fianco a fianco con i nodi vicini per propagare i dati.


Le botnet peer to peer mantengono un elenco di computer affidabili con i quali possono comunicare e ricevere comunicazioni e aggiornare il malware. Limitando il numero di altre macchine a cui si connette, ogni bot si espone esclusivamente a dispositivi adiacenti, rendendo più difficile tracciarla e mitigarne l’effetto. La mancanza di un server di comando centralizzato rende una botnet peer-to-peer più vulnerabile al controllo da parte di qualcuno diverso dall’autore della botnet. Per prevenire la perdita di controllo, le botnet decentralizzate sono in genere crittografate in modo da limitare l'accesso.

Animazione della topologia di rete peer-to-peer

In che modo i dispositivi IoT si trasformano in botnet?

Nessuno esegue il proprio Internet banking attraverso la telecamera wireless installata nel giardino per osservare la mangiatoia degli uccelli, ma ciò non significa che il dispositivo non sia in grado di effettuare le richieste di rete necessarie. La potenza dei dispositivi IoT unita alla sicurezza mediocre o mal configurata crea una breccia che consente al malware botnet di reclutare nuovi bot. La crescita dei dispositivi IoT ha portato a un nuovo panorama per gli attacchi DDoS, poiché molti sono configurati in modo inappropriato e sono per questo vulnerabili.


Se la vulnerabilità di un dispositivo IoT è codificata nel firmware, gli aggiornamenti sono più difficili. Per mitigare il rischio, è consigliabile aggiornare i dispositivi IoT con firmware obsoleto, dato che spesso dopo l'installazione iniziale del dispositivo le credenziali predefinite non vengono più modificate. Molti produttori di hardware a poco prezzo non sono incentivati a rendere più sicuri i propri dispositivi, ecco perché la vulnerabilità dei dispositivi IoT nei confronti di malware botnet rimane un rischio di sicurezza irrisolto.

Come si disabilita una botnet esistente?

Disabilitando i centri di controllo di una botnet:

Le botnet progettate secondo uno schema di comando e controllo, possono essere disabilitate più facilmente una volta identificati i centri di controllo. Neutralizzare il comando nei punti critici può portare offline l'intera botnet. Gli amministratori di sistema e le forze dell'ordine si concentrano pertanto sulla chiusura dei centri di controllo di queste botnet. Questo processo è più difficile se il centro di comando opera in un paese in cui l’applicazione della legge è perseguita con minor vigore o efficacia.

Eliminando l'infezione sui singoli dispositivi:

Nel caso di singoli computer, le strategie per riprendere il controllo della macchina includono l'esecuzione di software antivirus, la reinstallazione del software da un backup sicuro o il riavvio dopo la riformattazione del sistema. Per i dispositivi IoT, le strategie possono includere il flashing del firmware, il ripristino delle impostazioni di fabbrica o la formattazione del dispositivo. Se queste opzioni non sono attuabili, altre strategie possono essere rese disponibili dal produttore del dispositivo o da un amministratore di sistema.

Come proteggere i propri dispositivi dalla possibilità di essere annessi a una botnet?

Creare password sicure:

Per ridurre l'esposizione alla vulnerabilità della botnet a molti dispositivi vulnerabili può bastare cambiare le credenziali amministrative con qualcosa di diverso dal nome utente e dalla password predefiniti. La creazione di una password sicura rende difficile l’accesso mediante forza bruta. Se la password è molto sicura, il metodo della forza bruta farà praticamente fiasco. Ad esempio, un dispositivo infetto dal malware Mirai scandaglierà gli indirizzi IP in cerca di dispositivi che rispondono. Una volta che un dispositivo risponde a una richiesta di ping, il bot tenterà di accedere a quel dispositivo utilizzando un elenco prestabilito di credenziali predefinite. Se la password predefinita è stata modificata ed è stata implementata una password sicura, il bot si arrenderà e passerà alla ricerca di dispositivi più vulnerabili.

Consentire solo l'esecuzione affidabile di codice di terze parti:

Se si adotta l’esecuzione del software del modello del telefono cellulare, sarà possibile eseguire solo applicazioni autorizzate, garantendo un maggiore controllo sull'eliminazione di software ritenuto dannoso, incluse le botnet. Solo un’aggressione al software supervisore (ad es. il kernel) può comportare l’aggressione al dispositivo. Questo prevede innanzitutto di avere un kernel sicuro, cosa che la maggior parte dei dispositivi IoT non ha, e si applica più facilmente a macchine che eseguono software di terze parti.

Pulizia/ripristino periodici del sistema:

Il ripristino a un valido stato noto dopo un periodo prestabilito rimuoverà tutte le scorie raccolte da un sistema, incluso il software botnet. Se utilizzata come misura preventiva, questa strategia assicura l’espulsione anche del malware silente.

Implementare buone pratiche di filtraggio in ingresso e in uscita:

Altre strategie più avanzate includono pratiche di filtraggio su router di rete e firewall. Un principio di progettazione per una rete sicura è applicare la sicurezza a più livelli: minima restrizione per le risorse accessibili al pubblico, sicurezza sempre più stringente per gli elementi che si ritengono sensibili. Inoltre, tutto ciò che attraversa tali confini deve essere scrutinato: traffico di rete, unità USB, ecc. Pratiche di filtraggio di qualità aumentano la probabilità di intercettare malware DDoS e metodi di propagazione e comunicazione prima che entrino o escano dalla rete.


Se si è sotto attacco, si possono immediatamente adottare alcune misure per alleviare la pressione. Se si è già utenti Cloudflare, per mitigare l’attacco si possono seguire questi passaggi. La protezione DDoS di Cloudflare è sfaccettata per consentire di mitigare i numerosi possibili vettori di attacco. Approfondimento: la protezione DDoS di Cloudflare.