Ciclo di vita e tecniche di connessione di una botnet in informatica

Ciclo di vita e tecniche di connessione di una botnet in informatica

Ciclo di vita di una botnet

Una botnet viene progettata e sviluppata attraverso cinque diverse fasi: initial injection, secondary injection, connection, command and control server, upgrading and maintenance. Il processo comprende le seguenti fasi:

  1. La prima fase, Initial injection, consiste nella ricerca di host vulnerabili. Questa fase è caratterizzata da una normale procedura di infezione del computer, che può essere eseguita in diversi modi, come l’invio di spam e-mail, creazione di backdoor ecc;
  2. La seconda fase, Secondary injection, richiede che la prima fase sia completata con In questa fase, la macchina infetta effettua il download del binario del malware per poi eseguirlo. Quando scaricati ed eseguiti, questi binari fanno sì che l’host si comporti come un vero e proprio zombie;
  3. La terza fase, Connection o Rally, consiste nel tentare di effettuare una connessione, ovvero cercare di trovare il punto di rendez-vous, le coordinate a cui contattare il server principale. Sebbene i cicli di vita dei bot possano variare in base alle diverse implementazioni, a un certo punto nel tempo, il nuovo bot deve contattare il C2 server per ricevere istruzioni o aggiornaIl processo per stabilire una connessione con il C2 server è noto anche come rally. Questa fase è pianificata ogni volta che l’host viene riavviato per assicurarsi che sia in grado di ricevere comandi allo scopo di eseguire attività dannose. Pertanto, la fase di connessione può verificarsi più volte durante il ciclo di vita dei bot;
  4. La quarta fase, Malicious Activities, prende origine dopo che il bot ha stabilito la connessione ed è quindi pronto per eseguire un attacco. Le attività dannose sono di diverso tipo: possono consistere nel furto di informazioni, nell’esecuzione di attacchi DDoS, nella diffusione di malware, nel monitoraggio del traffico di rete, spamming, phishing, furto di identità, manipolazione di giochi e sondaggi, ecc;
  5. L’ultima fase del ciclo di vita del bot è Maintenance and upgrading. La manutenzione è necessaria se il botmaster vuole mantenere il suo esercito di Può essere necessario aggiornare i codici per varie ragioni, tra cui eludere le tecniche di rilevamento, aggiungere nuove funzionalità o migrare verso un altro C2 server. Questa fase viene, di solito, considerata un passaggio vulnerabile; poichè il botmaster intende diffondere gli aggiornamenti prima possibile, alcuni pattern comportamentali delle stazioni appartenenti alla rete possono emergere e rendere la botnet rilevabile.

Ciclo di vita di una botnet
Ciclo di vita di una botnet

Tecniche di connessione

Tutti i bot sono programmati per connettersi al punto di rendez-vous in fase di rally. Per effettuare questa operazione vi sono varie tecniche:

  • Hardcoded IP address: questa tecnica è il modo più semplice per informare il bot a quale server collegarsi, consiste nell’inserire l’indirzzo IP del server nel binario del malware. Il problema è che tale metodologia offre una resilienza limitata, poichè con l’utilizzo di indirizzi IP codificati il C2 server può essere facilmente rilevato e il canale di comunicazione facilmente bloccato;
  • Static DNS: questa tecnica offre al botmaster la flessibilità di aggiungere un altro livello di astrazione. Presenta tuttavia una resilienza limitata poichè l’indirizzo IP mappato può anche essere inserito in una blacklist;
  • Dynamic DNS: questa tecnica consente al botmaster di utilizzare indirizzi IP dinamici. Il vantaggio è rappresentato dal fatto che se il C2 server venisse bloccato dalle autorità, il botmaster potrebbe facilmente riprendere il controllo creando un nuovo C2 server da qualche altra parte, aggiornando poi l’indirizzo IP;
  • DGA: questa tecnica offre un alto grado di resilienza, poichè i domini generati algoritmicamente vengono utilizzati solo per un piccolo periodo e successivamente scartati. Questa tecnica ostacola il meccanismo della blacklist utilizzato in precedenza per prevenire le botnet;
  • Fast Flux: questa tecnica prevede l’utilizzo del Domain Flux (mapping di multiple Fully Qualified Domain Name (FQDN) allo stesso indirizzo del protocollo Internet) e del IP Flux (modifica continua degli indirizzi IP risolti in un dominio). È utilizzata per nascondere il phising dietro una rete di host compromessi che agiscono da proxy e che cambiano in continuazione.

DGA

Domain Generation Algorithm, è una tecnica utilizzata per generare periodicamente un gran numero di nomi di dominio apparentemente casuali, di cui ne viene selezionato un piccolo sottoinsieme per la comunicazione con il C2 server. I nomi di dominio generati automaticamente vengono chiamati Automatically Generated Domains (AGD). I domini vengono generati in base a un determinato seme, che può consistere in costanti numeriche, data/ora, ecc. Il seme funge da segreto condiviso tra botmaster e bot per calcolare il punto di rendez-vous. Modificando costantemente i domini utilizzati, gli approcci di rilevamento che si basano sul dominio statico come le blacklist, sono resi inefficaci. In secondo luogo, generando dinamicamente nomi di dominio, i botmaster non devono includere i nomi di dominio hardcoded nei binari del malware, rendendo più difficile l’estrazione di questa informazione.

  • Time dependence: sta ad indicare che il DGA incorpora una fonte temporale, ad esempio l’ora di sistema dell’host compromesso o il campo data in una risposta HTTP per il calcolo di Di conseguenza, i domini generati avranno un periodo di validità e solo durante tale periodo questi domini potranno essere interrogati dall’host compromesso;
  • Determinism: sta ad indicare che il DGA utilizza parametri di tipo deterQuesti valori sono noti dall’algoritmo e assumono valori fissi. I DGA con questa caratteristica generano una sequenza di nomi di dominio semplice da prevedere, in quanto l’algoritmo farà sempre uso degli stessi valori per la generazione della sequenza.

La dipendenza dal tempo e il determinismo consentono le seguenti quattro combinazioni: indipendente dal tempo e deterministico (TID), dipendente dal tempo e deterministico (TDD), dipendente dal tempo e non deterministico (TDN), indipendente dal tempo e non deterministico (TIN).

Oltre alle caratteristiche del seme, vi sono 4 schemi di generazione dei DGA:

  • Arithmetic based DGAs: calcolano una sequenza di valori che hanno una rappresentazione ASCII utilizzabile per un nome di dominio o per designare un offset in uno o più array hardcoded, costituendo l’alfabeto del DGA. Sono il tipo più comune di DGA;
  • Hash based DGAs: utilizzano la rappresentazione hexdigest di un hash per produrre un AGD;
  • Word-list based DGAs: concatenano una sequenza di parole a partire da una o più liste di parole. Queste liste di parole sono direttamente incorporate nel binario del malware o ottenute da una fonte accessibile al pubblico;
  • Permutation based DGAs: derivano tutti i possibili AGD attraverso la permutazione di un nome di dominio iniziale.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *