Il worm informatico è un codice malevolo (malware) che, dopo aver compromesso un PC, è in grado di autoreplicarsi e diffondersi all’interno di una rete locale per infettare tutte le altre macchine connesse.
L’infezione mediante worm, inoltre, avviene senza richiedere alcuna interazione alla potenziale vittima: è sufficiente che il suo codice malevolo venga in qualche modo attivato sul sistema infetto per avviarne il processo di clonazione e diffusione che viene eseguito sfruttando le risorse di rete del sistema stesso.
Per completezza di informazione è utile ricordare che, prima della diffusione di Internet e delle tecnologie di rete, i worm informatici si tramettevano sfruttando esclusivamente supporti di archiviazione come i floppy disk e successivamente le chiavette USB che, se montati su un sistema, consentivano di infettare le altre unità di memoria collegate al sistema target.
Indice degli argomenti
Worm informatico: il malware capace di autoreplicarsi
Anche se apparentemente simili da un punto di vista tecnico, in quanto entrambi accomunati da un meccanismo di replica, è bene distinguere i worm dai virus in senso stretto del termine.
Un virus è un programma che crea copie di sé stesso in maniera fittizia, collegandosi ad un terzo elemento che funge da mezzo di propagazione, il quale gli concede la possibilità di attivarsi. Uno degli elementi di distinzione tra virus e worm è la necessità da parte dei primi di copiarsi in altri file dello stesso computer, non potendo avviarsi separatamente da un programma ospite. Ad esempio, potrebbe essere nascosto in un documento di Word, in un aggiornamento di Acrobat Reader o integrarsi in un qualsiasi altro codice eseguibile o anche sistema operativo della vittima.
I worm rientrano in un particolare tipologia di virus informatici, anche se differiscono da questi per alcune specificità. In genere si replicano senza infettare altri file dello stesso computer; una volta installati sulla macchina di una vittima, questi cambiano obiettivo, cercando immediatamente di spostarsi lateralmente su altri computer attraverso varie modalità di diffusione. Oltre che a un differente scopo, questi differiscono anche nella struttura del codice: i worm sono a sé stanti – i cosiddetti “standalone files” – mentre i virus sono porzioni di codice che si integrano in file esistenti di programmi legittimi.
Worm informatici: diffusione e pericolosità
Come tutti i malware di oggi, anche i worm attualmente in circolazione possiedono numerose proprietà in aggiunta a quelle appena descritte, tra cui un’estrema facilità di replicazione e il relativo perimetro di impatto.
Non avendo la necessità di essere avviati manualmente da un individuo, differentemente dai virus i worm si muovono liberamente nel sistema informatico della vittima, portando avanti l’enumeration del sistema.
Queste procedure sono finalizzate alla scoperta di nuovi bersagli: contatti in rubrica, indirizzi e-mail da programmi locali (e.g. Outlook) e da qualsiasi file (tramite uno scanning del file system), indirizzi IP direttamente collegati alla macchina e vulnerabili (con tecniche di network scanning), e molto altro.
Identificate queste nuove destinazioni, repliche del worm vengono spedite per compiere poi le stesse azioni, diffondendosi ancora e poi ancora. Tra i vettori d’attacco più utilizzati per la diffusione dei worm, oltre a mail di phishing e tecniche di ingegneria sociale, troviamo l’utilizzo di mezzi di propagazione quali reti P2P (peer-to-peer), chat e notifiche dei comuni social network, e in alcuni casi persino backdoor, quando si tratta di malware complessi e strutturati (botnet, rootkit, APT ecc.).
Oltre a diffondersi a macchia d’olio, l’innumerevole numero di copie che vengono spedite ad ancora più destinatari crea problemi di compromissione della memoria sia sulle macchine infettate che sui server remoti. Entrano in gioco, così, anche tecniche di buffer overflow e sfruttamento di vulnerabilità note per acquisire vantaggi sulle vittime.
Evoluzione dei worm
È ora utile fare un veloce excursus sui worm più pericolosi di sempre, in modo da comprenderne le tecniche di attacco ed essere pronti, eventualmente, a sapersi difendere.
1971: Crepper
Oltre ad essere il primo worm della storia, è stato uno dei primi programmi con atteggiamento malizioso. Pur non essendo stato creato in malafede bensì come esperimento di programma in grado di trasferirsi autonomamente da macchina a macchina, Crepper ha anticipato di ben 9 anni il primo virus informatico, Elk Cloner.
1988: Morris worm
Altrimenti noto come Internet worm, il malware prende il nome dal suo creatore, uno studente della Cornell University che anche in questo caso sembra non agisse malintenzionatamente. Il suo intento era testare le dimensioni di Internet sfruttando delle vulnerabilità di programmi noti in quell’epoca. Risultato? Migliaia di macchine UNIX colpite, un danno economico stimato a 5 zeri e prima condanna per reato informatico nella storia degli Stati Uniti.
2001: Code Red
Code Red appartiene alla categoria dei “server jamming worm”, attaccando i sistemi operativi Windows che utilizzano l’Internet information Services (IIS) web server di Microsoft. Come meccanismo di diffusione, il codice cerca di sfruttare vulnerabilità di buffer overflow nella vittima, e riuscì ad infettare oltre 360.000 host.
2001: Nimda
L’impatto record causato da Code Red venne presto scalzato da Nimda, un worm informatico che prese il nome dal reverse spelling di admin. Appartiene ai cosiddetti “multi-vector worm”, grazie al suo utilizzo di numerose tecniche di delivery (tra cui e-mail, open network shares, backdoor ecc.).
2003: SQL Slammer
Slammer viene ricordato per l’incredibile velocità di propagazione: riuscì a compromettere oltre 75 000 host in meno di 10 minuti, impedendo l’utilizzo della quasi totalità dei bancomat americani, del sistema di 911 nello Stato di Washington e di una centrale nucleare in Ohio tramite un blocco DDoS (Distributed Denial of Service).
2008: Koobface
Con l’avvento dei social network, questo famoso worm venne ideato per attaccare gli utenti di Facebook, cercando di estrapolare informazioni sensibili e dati delle carte di credito delle sue vittime. Il suo nome proviene dalla sostituzione della maggior parte delle password degli account compromessi con “Koobface”.
2016: Mirai
È un botnet anti-IoT, dunque indirizzato verso dispositivi Internet of Things connessi. Il malware ha numerose varianti, tra cui si trovano meccanismi di automatizzazione del botnet che lo rendono simile a un worm. Dalla pubblicazione del codice sorgente di Mirai, altri malware hanno utilizzato il suo scheletro per la definizione di nuove strategie di attacco.
2018: ADB.miner
Viene considerato il primo worm inforper dispositivi Android. Android Debug Bridge (ADB) è un comune programma di analisi dello smartphone quando questo viene collegato al computer. L’attivazione in modalità predefinita di questo programma ha reso possibile ai criminali informatici di utilizzare una porta lasciata aperta da questo programma sul dispositivo, addirittura lasciando privilegi di root per l’installazione di programmi e la compromissione di nuovi utenti.