Botnet

rete di computer infettati da un malware

Una botnet è una rete composta da dispositivi infettati da malware, detti bot o zombie, che agiscono sotto il controllo di un unico attore (detto botmaster) aumentando le risorse e le capacità offensive a sua disposizione.[1]

L'immagine mostra il diagramma dell'attacco DDos della botnet Stacheldraht.

I dispositivi connessi a Internet, in caso siano affetti da una qualche vulnerabilità nell'infrastruttura, possono diventare parte della botnet. Inoltre, se l'agente infettante è un trojan, il botmaster può controllare il sistema tramite accesso remoto usando protocolli di rete come IRC o HTTP, attraverso un centro di comando detto Command and Control (o C2)[2]. I computer infettati così possono scagliare attacchi, denominati Distributed Denial of Service contro altri sistemi e/o compiere operazioni non lecite, in alcuni casi persino su commissione di organizzazioni criminali.[1]

Applicazioni delle botnet modifica

Applicazioni legali modifica

In generale il termine viene utilizzato per quelle reti in grado di agire con sincronia ed autonomia per fini illegali, ma esistono botnet legali usate per studiare la diffusione del malware o per progetti di ricerca sul calcolo distribuito come, ad esempio, il progetto SETI@home della Berkeley University che utilizza la potenza computazionale aumentata della rete di computer per cercare forme di vita ultraterrestre.[3]

Applicazioni illegali modifica

Le botnet a volte compromettono i computer violandone le difese di sicurezza come, per esempio, le credenziali di accesso deboli o corte, firewall mal configurati o software server vulnerabili, per cui il controllo viene ceduto al botmaster, in grado di dirigere le attività di questi computer tramite protocolli di rete come IRC e HTTP/HTTPS.

Alcune botnet possono essere utilizzate da criminali informatici per una varietà di scopi, come ricatti, attentati e la conservazione di materiale illecito come ad esempio quello di natura pedopornografica.

Modalità di funzionamento e uso modifica

Tali malware/trojan specializzati, non appena hanno assunto il controllo di un sistema, trasmettono all'esterno e in genere al proprio botmaster gestore i dati fondamentali relativi al sistema infettato. Per fare ciò spesso sfruttano, per fornire un accesso esclusivo al loro gestore, i canali IRC, connettendosi ad un canale privato protetto da password. Tramite il canale di chat, il gestore è in grado di controllare contemporaneamente tutti i sistemi infetti in ascolto sul canale, i quali possono essere anche decine di migliaia e di impartire a questi ordini, richiedendo immagini dello schermo, indirizzo IP o, ad esempio, fornendo l'hostname/IP di una vittima da attaccare tramite DDoS. I botmaster possono anche controllare i computer zombie tramite le sofisticate reti peer-to-peer, persino con Skype, e quindi con protocolli binari e crittografati. Se il bersaglio si trova dietro un firewall ben configurato, per eludere i controlli, è anche possibile che venga usato il protocollo HTTP/HTTPS, dato che la porta 80 si trova nella whitelist dei firewall di quasi tutti gli utenti: il collegamento sfrutta un server intermedio specializzato che supporta il protocollo direttamente o lo usa come incapsulamento per altri protocolli che devono restare nascosti.

Questi malware sono spesso programmati in modo da spiare il sistema infetto come se fossero spyware, intercettando password ed altre informazioni private ma utili all'attaccante. Possono anche offrire accesso alle macchine infette tramite backdoor oppure offrire servizi proxy che garantiscono l'anonimato in rete a discapito della banda della rete infetta.

Un uso più sofisticato delle botnet è come proxy verso un sistema compromesso: i bot infatti spesso vengono ripuliti dal malware, ma se l'attaccante installa un server su una di queste macchine e ne perde il controllo, il danno per lui può essere rilevante. Per ridurre questi rischi, una tecnica usata recentemente è quella del fastflux[4], in cui una macchina fuori dalla botnet fa girare un finto server (per esempio per fare dello spoofing) e le macchine della botnet fungono solo da proxy verso questa macchina.

Con l'aumentare del numero di sistemi compromessi, l'attaccante può sfruttare sempre più potenza di calcolo al fine di riuscire a individuare le password di sistemi che prima risultavano molto difficili da individuare , tramite il calcolo distribuito.

Meccanismi di protezione dai botnet[5] modifica

I canali C&C (Command and Control), punto di forza dell'infrastruttura, possono essere anche una debolezza: i mezzi per accedervi devono essere protetti da altri pirati informatici. Questo livello di protezione è garantito tramite:

Domain Fluxing modifica

Per evitare che i domini che subiscono l'accesso delle macchine infette facciano scattare blocchi di protezione o altri automatismi di sicurezza, l'attaccante può usare software che generano dinamicamente nomi di dominio sempre differenti ed usare un proprio sistema DNS. Avendo il controllo sui record DNS, il malware può scambiare velocemente gli IP a cui puntano i nomi di dominio, puntare domini verso altri domini o ancora rinominare ad intervalli causali i domini seguendo un pattern prevedibile dal malware. Questi sono tutti elementi del domain fluxing, usato spesso assieme ad architetture robuste (come stella, multi-server, gerarchica e randomizzata) per evadere i blocchi delle autorità e dei fornitori di servizi Internet.[5][6]

Modello client-server modifica

 
Una rete basata sul modello client-server, dove i singoli clienti richiedono i servizi e le risorse da server centralizzati default

Il modello client-server è apparso sui primi tipi di Internet botnet ed è stato generalmente basato su IRC o su siti web contenenti liste di comandi predefinite. IRC è un protocollo testuale facile da implementare e le botnet basate su esso hanno agenti infettanti vantaggiosamente piccoli, che richiedono poca banda di rete e utilizzano metodi semplici per la comunicazione.

Nel caso di botnet IRC, i client infetti si collegano a un server IRC infetto e si connettono a un determinato canale per ricevere i comandi. Il botmaster invia i comandi al canale tramite il server IRC, il client li recupera e li esegue.[7]

Questo tipo di canale, però, può essere inibito da semplici filtri basati su parole chiave, anche se l'agente crea nuovi canali di chat casuali: infatti la maggior parte delle grandi botnet usavano domini ed hosting protetto anziché IRC nella loro costruzione (vd. Rustock botnet, Srizbi botnet).

Con il tempo il modello client-server è diventato troppo facile da bloccare ed i botmaster hanno optato per l'uso di protocolli peer-to-peer.

Peer-to-peer modifica

 
Una rete peer-to-peer (P2P), in cui nodi ("peers") sono interconnessi per condividere le risorse tra loro senza l'uso di un sistema amministrativo centralizzato

In risposta agli sforzi effettuati per individuare ed eliminare i botnet IRC, i botmaster hanno iniziato a distribuire malware sulle reti peer-to-peer. Questi bot tendono a utilizzare firme digitali, in modo che solo chi ha accesso alla chiave privata può avere il controllo delle botnet[8](Gameover ZeuS, ZeroAccess botnet).

Le botnet più recenti operano completamente su reti P2P. Piuttosto che comunicare con un server centralizzato, i bot P2P funzionano sia come un server di distribuzione dei comandi che come un client per riceverli.[9] Questo evita di avere un singolo punto debole, un problema tipico delle botnet centralizzate.

Per trovare altre macchine infette, il bot interroga discretamente indirizzi IP casuali fino a quando non riesce a contattare un'altra macchina infetta. Il bot contattato risponde con informazioni come la sua versione del software e la lista dei bot conosciuti. Se una delle due versioni è inferiore all'altra, inizia un trasferimento di file per effettuare l'aggiornamento.[8] In questo modo, ogni bot accresce la sua lista di macchine infette e si aggiorna comunicando periodicamente con tutti i bot conosciuti.

Componenti principali modifica

  • Componente Host
  • Componente di rete

Componente Host modifica

I bot sono le macchine compromesse che il botmaster può controllare a distanza grazie a un agente attivato sulle macchine compromesse. L'agente che consente a una macchina compromessa di essere controllata a distanza da un botmaster, è chiamato agente di bot (bot agent). Un agente di bot può essere un componente di malware autonomo, in forma di un file di libreria di collegamento dinamico (DLL), eseguibile o un pezzo di codice aggiunto al codice malware. Le funzioni principali dell'agente di bot sono: ricevere i comandi dal botmaster, eseguire attacchi, inviare dati al botmaster.

Componente di rete modifica

Il componente di rete botnet è una qualsiasi risorsa online che una botnet utilizza per compiere la sua direttiva.

Comando e controllo (C&C) modifica

I protocolli di comando e controllo delle botnet sono stati implementati in diversi modi, a partire dagli approcci tradizionali IRC a versioni più sofisticate.

Telnet modifica

Le botnet Telnet utilizzano un semplice protocollo C&C in cui i bot si connettono ad un'unità di comando principale che ospita la botnet.

Il server di controllo scansiona un range di indirizzi IP alla ricerca di server Telnet e ssh con credenziali di login di default. Una volta trovate le credenziali di login dei bot, vengono raccolte in una "lista di infezione" e, successivamente, vengono infettati tramite script "malevoli", eseguiti attraverso ssh, dal server di controllo.

Quando viene eseguito il comando ssh, il server viene infettato e diventa un componente della botnet tramite il codice "malevolo" che l'ha infettato. A questo punto il botmaster, attraverso il server di comando principale, è in grado di controllare i bot e quindi di poter scatenare attacchi DDoS di grandi dimensioni.

Questi tipi di botnet sono stati utilizzati per attaccare grandi siti Web come Xbox Live e PlayStation network da un noto gruppo di hacker chiamato Lizard Squad.[10]

IRC modifica

I canali di comunicazione IRC rappresentano una vecchia forma di chat online.[11] Le reti IRC utilizzano semplici metodi di comunicazione a larghezza di banda ridotta e ciò li rende validi per ospitare una botnet. Essendo relativamente semplici nella costruzione sono state usate, con moderato successo, per coordinare attacchi DDoS oppure per inviare migliaia di mail spam sulla rete.

In una chat room è possibile trovare molti utenti che possono essere infettati e diventare dei bot; il botmaster potrebbe impartire i comandi attraverso la chat room, riuscendo ad allertare velocemente tutti gli utenti connessi.[11]

I cracker sono in grado di cambiare continuamente canale per evitare di essere rimossi ma, allo stesso tempo tramite il semplice blocco di determinate parole chiave, si è dimostrato semplice arrestare le botnet basate su IRC.

Essenziale per l'uso delle reti IRC è la conoscenza da parte dei bot-client del server IRC, della porta e del canale di comunicazione.

Le organizzazioni anti-malware sono in grado di rilevare e arrestare server e canali, bloccando in modo efficace le botnets. Quando ciò accade, i client rimangono infetti ma dormienti, poiché non hanno più modo di ricevere istruzioni. Per il botmaster questo costituisce una perdita economica; per far fronte a questo problema, una botnet può essere costituita da diversi server o canali, se uno di essi venisse disabilitato, viene scelto un server o un canale diverso per far sì che i client si colleghino a un server disponibile e non rimangano dormienti. È possibile rilevare e interrompere server o canali aggiuntivi sniffando il traffico IRC.[7]

P2P modifica

Poiché la maggior parte delle botnet che utilizzano reti e domini IRC possono essere rimosse con il passare del tempo, i cracker si sono spostati verso le botnet P2P per rendere più difficile la loro rimozione.

In una botnet P2P tutti i bot sono connessi tra loro e possono comportarsi sia come server che come client.

Il cracker o gruppo di cracker che realizza una botnet di questo tipo, inizialmente recluterà i membri identificando gli host vulnerabili all'interno di una rete P2P già esistente e infettandoli attraverso lo scambio di file maliziosi, rendendo il processo di contaminazione molto semplice. Dopo la contaminazione è necessario che i bot si connettano agli altri e soprattutto al botmaster per riuscire a ricevere i comandi.[11]

Per far sì che un bot si possa connettere alla rete, deve eseguire una fase di bootstrap, che consiste nel connettersi a un server bootstrap il cui indirizzo è contenuto all'interno del bot stesso e a cui si connette la prima volta che viene eseguito.

Il compito di un server bootstrap è di mantenere un enorme elenco di indirizzi IP dei nodi. Questi server potrebbero essere rimossi dai garanti della sicurezza, ciò non influirebbe i bot già presenti nella rete ma impedirebbe l’ingresso di nuove infezioni fino alla configurazione di nuovi server.[12]

Una volta costruita la rete, i bot attendono istruzioni per svolgere azioni illecite o aggiornamenti.

Alcuni botmaster hanno anche usato la crittografia come metodo per proteggere o bloccare la botnet dagli altri. Il più delle volte usano una crittografia a chiave pubblica.

Domini e HTTP modifica

Molte botnet utilizzano domini per la loro costruzione, di solito sono ospitati da bulletproof hosting. Questo è uno dei primi tipi di C&C.

Un computer zombie accede a una pagina web o a un dominio appositamente progettati per restituire l’elenco dei comandi di controllo.

Il vantaggio dell’uso di pagine web o domini come C&C, consiste nel consentire un controllo e un mantenimento con semplice codice che può essere facilmente aggiornato.

Gli svantaggi dell’utilizzo di questo metodo sono che è necessaria una notevole larghezza di banda e che i domini possono essere facilmente sequestrati dalle agenzie governative senza molti problemi. Se i domini che controllano le botnet non vengono sequestrati, divengono obbiettivi facili per attacchi DoS.

Il DNS fast-flux può essere usato come un modo per rendere difficile rintracciare i server di controllo. I server di controllo possono anche passare ad altri domini DNS, con gli algoritmi di generazione del dominio utilizzati per creare nuovi nomi DNS per i server controllori.

Alcune botnet utilizzano servizi di hosting DNS gratuiti come DynDns.org, No-IP.com e Afraid.org per indirizzare un sottodominio verso un server che ospita i bot. Questi servizi DNS gratuiti forniscono indirizzi spesso codificati nel file eseguibile della botnet. La rimozioni di questi servizi può paralizzare l’intera botnet.

Esempi notevoli modifica

Tra le decine di botnet nati negli anni 2000-2010 e di cui nel 2015 non sia ancora stata attestata la completa dismissione, menzioniamo due esempi entrambi diffuse tramite trojan su piattaforme Microsoft Windows:

La botnet e la criminalità modifica

Le botnet sono diventati ultimamente fonte di interesse per la criminalità organizzata. Sono infatti un sistema per guadagnare soldi in modo illegale. I botmaster infatti vendono i servizi dei botnet a clienti che vogliono compiere azioni illegali. Tra le azioni che i botnet hanno a "catalogo" ci sono:

  • Denial of service: attacco massivo contro qualcuno: DDos, DoS, DRDos
  • Spam: campagne di spam con lo scopo di vendere prodotti (spesso illegali)
  • Phishing: campagne di spam con lo scopo di carpire credenziali a scopo di furto, riciclaggio, informazioni , ecc.
  • Spyware: è un software maligno che invia informazioni riguardanti l'attività online di un utente senza il suo consenso, trasmettendole ad un'organizzazione che le utilizzerà per trarne profitto.

Contromisure modifica

La botnet è un problema complesso, ed anche la sua soluzione risulta complessa: infatti, solitamente basterebbe eliminare il malware dal computer per eliminare del tutto la minaccia. Tuttavia, la botnet non risiede su un solo host. Pertanto, anche eliminando il malware e sistemando una macchina compromessa, il problema è tutt'altro che risolto: il processo rimuove semplicemente un elemento ospite dalla botnet, ma essa risulterà ancora operativa e raggiungibile dai cybercriminali informatici che la gestiscono.

Per questo motivo, la lotta contro le botnet deve essere combattuta su due fronti:

  • Il fronte tecnico;
  • Il fronte legale.

Il fronte tecnico modifica

Il punto di vista tecnico si concentra nella battaglia sui due componenti principali della Botnet: l'host e la rete.

La dispersione geografica della botnet significa che ogni ospite deve essere identificato individualmente/rinchiuso/riparato e limitati i benefici di filtraggio. Alcune botnet utilizzano DNS liberi e i servizi di hosting come DynDns.org, No-IP.com, e Afraid.org per puntare un sottodominio verso un server IRC che ospita i bot. Questi servizi DNS gratuiti non ospitano gli attacchi, ma forniscono punti di riferimento. La rimozione di tali servizi può paralizzare un intero botnet. Alcuni botnet implementano versioni personalizzate di protocolli molto noti. L'analisi delle differenze tra le implementazioni dei protocolli possono essere utilizzati per il rilevamento delle botnet. Ad esempio, Mega-D dispone di una implementazione del protocollo SMTP leggermente modificata per la capacità di test dello spam. Filtrare il server SMTP del Mega-D disabilita l'intero pool di bot che si basano sullo stesso server SMTP

Elenco storico di botnet modifica

Nome Data di creazione Data di smantellamento N° stimato di bot Capacità dello spam

(bn/gg)

Alias
Bagle 2004 230.000 5.7 Beagle, Mitglieder, Lodeight
Marina Botnet 6.215.000 92 Damon Briant, BOB.dc, Cotmonger, Hacktool.Spammer, Kraken
Torpig 180.000[13] Sinowal, Anserin
Storm 160.000 3 Nuwar, Peacomm, Zhelatin
Rustock 2006 circa marzo 2011 150.000[14] 30 RKRustok, Costrat
Donbot 125.000[15] 0.8 Buzus, Bachsoy
Cutwail 2007 circa 175.000[15] 74 Pandex, Mutant (correlato a: Wigon, Pushdo)
Akbot 2007 1.300.000[16]
Srizbi marzo 2007 novembre 2008 450.000[17] 60 Cbeplay, Exchanger
Lethic 260.000 2
Xarvester 10.000 0.15 Rlsloup, Pixoliz
Sality 2008 circa 1.000.000[18] Sector, Kuku
Mariposa 2008 circa 2009 12.000.000[19]
Conficker novembre 2008 10.500.000[20] 10 DownUp, DownAndUp, DownAdUp, Kido
Waledac novembre 2008 marzo 2010 90.000[21] 1.5 Waled, Waledpak
Maazben 50.000 0.5
Onewordsub 40.000[22] 1.8
Gheg 30.000 0.24 Tofsee, Mondera
Nucrypt 20.000[22] 5 Loosky, Locksky
Wopla 20.000[22] 0.6 Pokier, Slogger, Cryptic
Asprox 2008 circa 15.000[23] Danmec, Hydraflux
Spamthru 12.000[22] 0.35 Spam-DComServ, Covesmer, Xmiler
Gumblar 2008 circa
BredoLab maggio 2009 novembre 2010 30.000.000 3.6 Oficla
Grum 2009 circa luglio 2012 560.000[24] 39.9 Tedroo
Mega-D 509.000[25] 10 Ozdok
Kraken 400.000[26] 9 Kracken
Festi agosto 2009 250.000[27] 2.25 Spamnost
Vulcanbot marzo 2010
LowSec gennaio 2010 11.000 0.5 LowSecurity, FreeMoney, Ring0.Tools
TDL4 2010 circa 4.500.000[28] TDSS, Alureon
Zeus 3.600.000[29] Zbot, PRG, Wsnpoem, Gorhax, Kneber
Kelihos 2010 2011/2012 300.000 4 Hlux
Ramnit 2011 circa febbraio 2015 3.200.000[30]
Zer0n3t 2013 2013 200 + computer server 4 Fib3rl0g1c, Zer0n3t, Zer0Log1x
Chameleon 2012 circa 120.000
Mirai (malware) agosto 2016 380.000
Koobface 2.900.000[29] Ali Baba & 4

I ricercatori dell'Università della California presero il controllo di una botnet che risultò sei volte più piccola del previsto, questo perché è comune che alcuni utenti cambino varie volte il loro indirizzo IP in un giorno. La stima della dimensione della botnet in base al numero di indirizzi IP potrebbe non fornire una rappresentazione accurata della dimensione della botnet.[31]

Note modifica

  1. ^ a b FORTINET, Anatomy of a Botnet, p. 1,2,3,4 (archiviato dall'url originale il 1º febbraio 2017).
  2. ^ Bots and Botnet: An Overview | SANS Institute, su sans.org. URL consultato l'11 marzo 2022.
  3. ^ Botnet: come proteggervi, su IONOS Digitalguide. URL consultato l'11 marzo 2022.
  4. ^ (EN) Know Your Enemy: Fast-Flux Service Networks | The Honeynet Project Archiviato il 9 maggio 2008 in Internet Archive.
  5. ^ a b (EN) Elisan, Christopher, Malware, Rootkits & Botnets A Beginner's Guide, McGraw Hill Professional, 2013, p. 69, ISBN 0-07-179206-6.
  6. ^ (EN) Gunter Ollmann, Botnet Communication Topologies, Damballa Inc..
  7. ^ a b Schiller, Craig A., Botnets : the killer web app, Syngress Pub, 2007, ISBN 978-1-59749-135-8, OCLC 162131556.
  8. ^ a b Simon Heron, Botnet command and control techniques, in Network Security, vol. 2007, n. 4, 1º aprile 2007, pp. 13–16, DOI:10.1016/S1353-4858(07)70045-4. URL consultato il 29 novembre 2017.
  9. ^ Stavroulakis, Peter. e Stamp, Mark., Handbook of information and communication security, Springer, 2010, ISBN 978-3-642-04117-4, OCLC 663093967.
  10. ^ Lizard Squad: Ecco perché abbiamo affondato PlayStation Network e Xbox Live Leggi l'articolo originale su ZEUS News - https://www.zeusnews.it/n.php?c=22315, su zeusnews.it.
  11. ^ a b c La botnet, su di-srv.unisa.it.
  12. ^ Peer-to-Peer Botnets for Beginners, su malwaretech.com.
  13. ^ (EN) Researchers hijack control of Torpig botnet, in SC Media US, 5 maggio 2009. URL consultato il 27 novembre 2017.
  14. ^ (EN) The Rustock botnet spams again, in SC Media US, 25 luglio 2008. URL consultato il 27 novembre 2017.
  15. ^ a b (EN) Spam Botnets to Watch in 2009, su secureworks.com. URL consultato il 27 novembre 2017 (archiviato dall'url originale il 5 marzo 2016).
  16. ^ (EN) New Zealand teenager accused of controlling botnet of 1.3 million computers - The H Security: News and Features, su h-online.com. URL consultato il 27 novembre 2017.
  17. ^ (EN) Spam on rise after brief reprieve, 26 novembre 2008. URL consultato il 27 novembre 2017.
  18. ^ Sality: Story of a Peer-to-Peer Viral Network (PDF), su symantec.com.
  19. ^ (EN) How FBI, police busted massive botnet. URL consultato il 27 novembre 2017.
  20. ^ News from the Lab Archive : January 2004 to September 2015, su f-secure.com. URL consultato il 27 novembre 2017.
  21. ^ (EN) Waledac botnet 'decimated' by MS takedown. URL consultato il 27 novembre 2017.
  22. ^ a b c d (EN) Gregg Keizer, Top botnets control 1M hijacked computers, in Computerworld. URL consultato il 9 novembre 2019.
  23. ^ (EN) Botnet sics zombie soldiers on gimpy websites. URL consultato il 27 novembre 2017.
  24. ^ Research: Small DIY botnets prevalent in enterprise networks (JPG) [collegamento interrotto], su zdnet.com.
  25. ^ Oleg Nikolaenko, Mega-D Botmaster to Stand Trial, su garwarner.blogspot.it. URL consultato il 27 novembre 2017.
  26. ^ (EN) New Massive Botnet Twice the Size of Storm, in Dark Reading. URL consultato il 27 novembre 2017.
  27. ^ (EN) Spamhaus Declares Grum Botnet Dead, but Festi Surges, su PCWorld. URL consultato il 27 novembre 2017.
  28. ^ (ES) Cómo detectar y borrar el rootkit TDL4 (TDSS/Alureon), in infoALEPH, 3 luglio 2011. URL consultato il 27 novembre 2017.
  29. ^ a b (EN) Ellen Messmer, America's 10 most wanted botnets, in Network World. URL consultato il 27 novembre 2017.
  30. ^ (EN) Europol takedown of Ramnit botnet frees 3.2 million PCs from cybercriminals’ grasp, in Naked Security, 27 febbraio 2015. URL consultato il 27 novembre 2017.
  31. ^ (EN) Tom Espiner, Botnet size may be exaggerated, says Enisa | ZDNet, in ZDNet. URL consultato il 27 novembre 2017.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di sicurezza informatica