Un virus informatico è un tipo di malware che si replica infettando altri elementi, per esempio file eseguibili. «Malware» è il termine largo: comprende software dannoso con comportamenti molto diversi, e non tutto il malware è un virus.
Tenere separate le categorie evita due errori frequenti: chiamare virus qualsiasi problema del computer, e credere che cambiare sistema operativo ti renda inattaccabile.
Virus, worm e trojan non sono sinonimi
Un virus ha bisogno di un ospite attraverso cui replicarsi. Un worm si propaga da solo, anche sfruttando la rete. Un trojan si traveste da qualcosa di utile o desiderabile perché sia tu a eseguirlo.
Le categorie descrivono aspetti diversi, e possono convivere nello stesso attacco. «Ransomware», per esempio, indica il comportamento di estorsione, non un metodo di diffusione.
Anche gli effetti cambiano: danneggiare dati, sottrarre informazioni, usare le risorse della macchina, mantenere un accesso. E un rallentamento può avere dieci altre cause: da solo non diagnostica nulla.
Dai programmi sperimentali ai floppy disk
La storia parte dalle ricerche sull'autoriproduzione dei programmi e dai primi esperimenti di propagazione. Vale la pena però non schiacciare tutto insieme: esperimenti di laboratorio, giochi fra programmi e malware diffusi nel mondo reale sono fenomeni distinti.
Un esempio concreto è Elk Cloner, scritto da Rich Skrenta per Apple II nel 1982, che si diffondeva tramite dischetti. Qui correggo due cose che avevo detto male: non si installava nel BIOS, e Apple II non è un Macintosh con macOS. Analisi di Elk Cloner di Scott Levy e Jedidiah R. Crandall.
Il punto che resta valido è che il software dannoso viaggiava già prima del web. Supporti rimovibili e scambi di programmi hanno fatto la loro parte per anni.
Email e download: dove entra l'esecuzione
Il caso classico è l'allegato che, una volta eseguito, avvia il programma malevolo. Il messaggio serve a convincerti ad aprirlo: è il punto in cui malware e ingegneria sociale si incontrano.
Non tutti gli attacchi però hanno bisogno di quel passaggio: una vulnerabilità nei programmi può aprire altre strade. Ecco perché prudenza sugli allegati e aggiornamenti risolvono problemi diversi, e servono entrambi.
E il nome di un mittente che conosci non garantisce un file: il suo account può essere stato compromesso, o il messaggio può semplicemente imitarlo.
Windows, macOS e Linux: nessuna immunità automatica
Un programma scritto per un ambiente non gira necessariamente su un altro. Ecco perché un file dannoso per Windows può risultare inerte su Linux — il che non dimostra che Linux sia immune dalle minacce fatte per Linux.
Qui devo correggermi su un punto: avevo attribuito al registro di Windows un ruolo eccessivo. Il registro non concede a ogni programma il controllo del computer; contano autorizzazioni, privilegi e vulnerabilità. E nemmeno la varietà delle distribuzioni Linux o la disponibilità del sorgente sono, da sole, una garanzia.
Un'ultima distinzione: poter cancellare un file incompatibile non equivale a bonificare un sistema compromesso. Un file inerte e un'infezione in esecuzione sono due situazioni diverse.
Difese che lavorano insieme
Mantenere il software, scegliere fonti affidabili, usare le protezioni disponibili. L'antivirus è un pezzo di questo insieme, non il sostituto degli altri due.
Browser ed estensioni bloccano alcune minacce, ma installare componenti aggiuntivi senza guardarne provenienza e necessità aggiunge cose da gestire — e ogni estensione è codice che gira dentro il tuo browser.
Se hai segnali concreti di compromissione, la priorità è limitare il danno e capire che cosa è coinvolto. Una scansione aiuta; nei casi complessi serve qualcuno che sappia intervenire, e a volte l'unica strada sensata è ricostruire un ambiente affidabile.
La protezione migliore parte da una distinzione semplice: riconoscere il problema prima di scegliere lo strumento. «Ho un virus» è un'ipotesi, non la spiegazione di qualsiasi cosa non funzioni.