Loading AI tools
software appartenente alla categoria dei malware Da Wikipedia, l'enciclopedia libera
Un virus, in informatica, è un software appartenente alla categoria dei malware che, una volta eseguito, infetta dei file in modo da fare copie di se stesso, generalmente senza farsi rilevare dall'utente. Il termine viene usato per un programma che si integra in qualche codice eseguibile (incluso il sistema operativo) del sistema informatico vittima, in modo tale da diffondersi su altro codice eseguibile quando viene eseguito il codice che lo ospita, senza che l'utente ne sia a conoscenza.
I virus entrano nel computer sfruttando le vulnerabilità (exploit) dell'applicazione o del sistema operativo e arrecando danni al sistema, rallentando o rendendo inutilizzabile il dispositivo infetto. I virus comportano dunque un certo spreco di risorse in termini di RAM, CPU e spazio sul disco fisso. Come regola generale si assume che un virus possa danneggiare direttamente solo il software della macchina che lo ospita, anche se esso può indirettamente provocare danni anche all'hardware, ad esempio causando il surriscaldamento della CPU mediante overclocking, oppure fermando la ventola di raffreddamento. La parola è spesso erroneamente utilizzata in sineddoche per parlare di malware. Ne è un esempio il diffuso termine antivirus.
Nel 1949 John von Neumann dimostrò matematicamente la possibilità di costruire un programma per computer in grado di replicarsi autonomamente. Il concetto di programma auto-replicante trovò la sua evoluzione pratica nei primi anni '60 nel gioco ideato da un gruppo di programmatori dei Bell Laboratories della AT&T chiamato "Core War", nel quale più programmi si dovevano sconfiggere sovrascrivendosi a vicenda.[1]
Il termine virus venne adottato la prima volta da Fred Cohen (1984) della University of Southern California nel suo scritto Experiments with Computer Viruses (Esperimenti con i virus per computer), dove questi indicò Leonard Adleman come colui che aveva adattato tale termine dalla biologia. La definizione di virus era la seguente:
«Un virus informatico è un programma che ricorsivamente ed esplicitamente copia una versione possibilmente evoluta di sé stesso».[2]
Ma il termine era già stato utilizzato prima. Nel 1972 David Gerrold scrisse un romanzo di fantascienza La macchina di D.I.O. (When H.A.R.L.I.E. was One), dove è presente una descrizione di un programma per computer chiamato VIRUS che adotta il medesimo comportamento di un virus. Nel 1975 John Brunner scrisse il romanzo Codice 4GH (The Shockwave Rider) in cui sono descritti programmi chiamati tapeworms che si infiltrano nella rete con lo scopo di cancellare tutti i dati. Nel 1973 la frase "virus del computer" era stata usata nel film Il mondo dei robot (Westworld). Il termine virus del computer con il significato corrente è inoltre presente anche nell'albo a fumetti Uncanny X-Men n. 158, pubblicato nel 1982. Si può dunque affermare che Cohen fece per primo uso della parola virus solo in campo accademico, dato che questa era già presente nella lingua parlata.
Il primo malware della storia informatica è stato Creeper, un programma scritto per verificare la possibilità che un codice potesse replicarsi su macchine remote.[3] Il programma chiamato Elk Cloner è invece accreditato come il primo virus per computer apparso al mondo. Fu creato nel 1982 da Rich Skrenta sul DOS 3.3 della Apple e l'infezione era propagata con lo scambio di floppy disk: il virus era presente nel settore di boot di un disco infetto e veniva caricato in memoria insieme al sistema operativo all'avvio del computer.[4][5][6] Dalla metà degli anni novanta, con la diffusione di internet, i virus ed i cosiddetti malware in generale, iniziarono a diffondersi assai più velocemente, usando la rete e lo scambio di e-mail come mezzo per nuove infezioni.
Il primo virus informatico che si guadagnò notorietà a livello mondiale venne creato nel 1986 da due fratelli pakistani proprietari di un negozio di computer per punire, secondo la loro versione, chi copiava illegalmente il loro software. Il virus si chiamava Brain, si diffuse in tutto il mondo, e fu il primo esempio di virus che infettava il settore di avvio del DOS.[7]
Il primo file infector apparve nel 1987. Si chiamava Lehigh e infettava solo il file command.com. Nel 1988 Robert Morris Jr. creò il primo worm a diffondersi via internet, il Morris worm. L'anno seguente, nel 1989, fecero la loro comparsa i primi virus polimorfi, con uno dei più famosi: Vienna, e venne diffuso il trojan AIDS (conosciuto anche come Cyborg), molto simile al trojan dei nostri giorni chiamato PGPCoder. Entrambi infatti codificano i dati del disco fisso chiedendo poi un riscatto all'utente per poter recuperare il tutto.[7]
Nel 1995 comparve il primo dei macrovirus, virus scritti nel linguaggio di scripting di programmi di Microsoft come Word ed Outlook che infettano soprattutto le varie versioni dei programmi Microsoft attraverso lo scambio di documenti. Concept fu il primo macro virus della storia. Nel 1998 la nascita di un altro dei virus storici, Chernobyl o CIH, famoso perché sovrascriveva il BIOS della scheda madre e la tabella delle partizioni dell'hard disk infettato ogni 26 del mese.
La diffusione di massa di Internet nella fine degli anni 90 determina la modifica delle tecniche di propagazione virale: in questa fase i worm si diffondono prevalentemente via e-mail. Tra i worm di maggior spicco antecedenti al 2000: Melissa, Happy99 e Bubbleboy, il primo worm capace di sfruttare una falla di Internet Explorer e di autoeseguirsi da Outlook Express senza bisogno di aprire l'allegato.[7]
Nel 2000 il famoso I Love You che dà il via al periodo degli script virus, i più insidiosi tra i virus diffusi attraverso la posta elettronica perché sfruttano la possibilità, offerta da diversi programmi come Outlook e Outlook Express di eseguire istruzioni attive (dette script), contenute nei messaggi di posta elettronica scritti in HTML per svolgere azioni potenzialmente pericolose sul computer del destinatario. I virus realizzati con gli script sono i più pericolosi perché possono attivarsi da soli appena il messaggio viene aperto per la lettura. I Love You si diffuse attraverso la posta elettronica in milioni di computer di tutto il mondo, al punto che per l'arresto del suo creatore, un ragazzo delle Filippine, dovette intervenire una squadra speciale dell'FBI. Era un messaggio di posta elettronica contenente un piccolo programma che istruiva il computer a rimandare il messaggio appena arrivato a tutti gli indirizzi contenuti nella rubrica della vittima, in questo modo generando una specie di catena di sant'Antonio automatica che saturava i server di posta.[8]
Dal 2001 si è registrato un incremento di worm che, per diffondersi, approfittano di falle di programmi o sistemi operativi senza bisogno dell'intervento dell'utente. L'apice nel 2003 e nel 2004: SQL/Slammer, il più rapido worm della storia - in quindici minuti dopo il primo attacco, Slammer aveva già infettato metà dei server che tenevano in piedi internet mettendo fuori uso i bancomat della Bank of America, spegnendo il servizio di emergenza 911 a Seattle e provocando la cancellazione per continui inspiegabili errori nei servizi di biglietteria e check-in di alcune compagnie aeree[9]; ed i due worm più famosi della storia: Blaster e Sasser.[7] Nel giugno 2009 è nata una nuova tipologia di virus che ha come bersaglio sistemi informatici industriali, il primo virus di questa nuova tipologia è stato Stuxnet che ha preso di mira i sistemi SCADA.
Un virus è composto da un insieme di istruzioni, come qualsiasi altro programma per computer. È solitamente composto da un numero molto ridotto di istruzioni, ed è specializzato per eseguire soltanto poche e semplici operazioni e ottimizzato per impiegare il minor numero di risorse, in modo da rendersi il più possibile invisibile. Caratteristica principale di un virus è quella di riprodursi e quindi diffondersi nel computer ogni volta che viene aperto il file infetto.
Tuttavia, un virus di per sé non è un programma eseguibile. Un virus, per essere attivato, deve infettare un programma ospite, o una sequenza di codice che viene lanciata automaticamente, come ad esempio nel caso dei boot sector virus. La tecnica solitamente usata dai virus è quella di infettare i file eseguibili: il virus inserisce una copia di sé stesso nel file eseguibile che deve infettare, pone tra le prime istruzioni di tale eseguibile un'istruzione di salto alla prima linea della sua copia ed alla fine di essa mette un altro salto all'inizio dell'esecuzione del programma. In questo modo quando un utente lancia un programma infettato viene da prima impercettibilmente eseguito il virus, e poi il programma. L'utente vede l'esecuzione del programma e non si accorge che il virus è ora in esecuzione in memoria e sta compiendo le varie operazioni contenute nel suo codice.
Principalmente un virus esegue copie di sé stesso, ma può avere anche altri compiti molto più dannosi (cancellare o rovinare dei file, formattare l'hard disk, aprire delle backdoor, far apparire messaggi, disegni o modificare l'aspetto del video, installare altri malware, ed altre attività minacciose per un sistema informatico.
I virus informatici più semplici sono composti da due parti essenziali, sufficienti ad assicurarne la replicazione:
Molti virus sono progettati per eseguire del codice estraneo alle finalità di replicazione del virus stesso e contengono dunque altri due elementi:
I virus possono essere criptati e magari cambiare algoritmo e/o chiave ogni volta che vengono eseguiti, quindi possono contenere altri tre elementi:
Ciò che distingue i virus propriamente detti dai worm è la modalità di replicazione e di diffusione: un virus è un frammento di codice che non può essere eseguito separatamente da un programma ospite, quindi si deve appoggiare ad un altro programma/eseguibile per essere attivato, mentre un worm è un software applicativo a sé, e nonostante sia più grande, non deve copiarsi in altri file, ma è sufficiente che sia eseguito. Inoltre, alcuni worm sfruttano per diffondersi delle vulnerabilità di sicurezza, e non dipendono quindi dal fatto di ingannare l'utente per farsi eseguire, infatti vengono eseguiti in automatico.
I virus informatici presentano numerose analogie con quelli biologici per quello che riguarda il ciclo di vita, che si articola nelle fasi seguenti:
I virus informatici possono essere suddivisi in categorie in base alle seguenti caratteristiche:
I virus si sviluppano su diversi supporti fisici e per questo sono classificabili in:
Esistono poi combinazioni delle caratteristiche precedenti: ad esempio vi sono virus che sono contemporaneamente file virus e boot virus. In tal caso il loro algoritmo di infezione è più complesso, potendo eseguire attacchi differenti.[11]
Si possono incontrare anche in versioni infette dei giochi che si scaricano gratis da Internet, come 4Story, Cabal e così via. In qualche caso gli utenti hanno riscontrato particolari problemi di annidamento di virus nella cache di Java.
In base alle caratteristiche dei loro algoritmi, i virus si distinguono in:
In generale non esistono molti virus informatici che sono solo stealth, polimorfici o TSR, perché sarebbero facilmente individuabili. In realtà i computer virus sono formati da una combinazione dei precedenti.
A seconda del tipo di danni causati, i virus possono essere:
Si tenga comunque presente che i sintomi appena descritti potrebbero essere riconducibili a cause diverse da virus.
Non esiste un metodo generale per individuare un virus all'interno di un sistema. Le tecniche di rilevamento utilizzate dagli antivirus sono diverse: utilizzate contemporaneamente garantiscono un'ottima probabilità di rilevamento della presenza di un virus. In base alle tecniche di rilevamento usate, gli antivirus si distinguono in tre tipi:
Oggi sono ben pochi i codici malevoli ai quali si può attribuire, propriamente, il nome di virus. Quando un tempo lo scambio dei file avveniva tramite supporti fisici, generalmente i floppy, erano questi ad essere veicolo delle infezioni e pertanto era importante, volendo creare un virus che si diffondesse, che questo fosse il più silenzioso possibile. Venivano scritti in assembly e questo li rendeva piccoli, performanti ed insidiosi seguendo la regola: se non sai cosa cercare figurati se sai come trovarlo.
Parlando oggi di virus, entrando nel particolare, si commette però un errore. Si intende quindi, con il termine virus, tutto il codice malevolo in grado di arrecare danno ad un utente. Lo scambio di file tramite dispositivi fisici quali il floppy, il quasi totale abbandono degli stessi per effettuare una procedura di boot e di ripristino, ha reso obsoleto il vecchio concetto di virus, un piccolo codice malevolo difficile da individuare. Nondimeno le macchine sono sempre più performanti, gli utenti sempre di più e sempre meno preparati, la banda larga è disponibile a tutti. Le informazioni viaggiano da un capo all'altro del pianeta senza vincoli fisici ormai, e così anche il codice malevolo.
Il vecchio concetto di virus è stato sostituito con quello più moderno di worm. I worm non sono più scritti in assembly ma in linguaggi di programmazione di livello sempre più alto in stretta convivenza con il sistema operativo e le sue vulnerabilità. Tutto questo rende la stesura di un codice malevolo molto più semplice che in passato ed il gran numero e la diversità di worm con rispettive varianti ne è un esempio lampante. Questi nuovi tipi di infezioni penetrano nel sistema quasi sempre da soli sfruttando le vulnerabilità, non fanno molto per nascondersi, si replicano come vermi anziché infettare i file, che è un'operazione più complessa ed ormai in disuso.
Ultimamente vanno molto di moda payload altamente distruttivi o che espongono la vittima ad altri tipi di attacchi. La vita dei worm è generalmente più breve di quella di un virus perché identificarlo, grazie ad internet, è diventato un business ora più grande che in tempi passati ed è probabilmente questo che porta sempre più spesso gli ideatori a voler un ciclo di vita più breve anche per la macchina che lo ospita e qualche capello in meno all'utente. I worm agiscono sempre più spesso come retrovirus e, volendo correre più veloce delle patch che correggono le vulnerabilità che ne hanno permesso la diffusione, spesso ci si trova ad aggiornare l'antivirus quando il codice ha già preso piede nel sistema.
Molti programmatori di virus, soprattutto nel passato, si sono scambiati sorgenti di virus per capire nuove tecniche di programmazione. Molti scambi di virus sono avvenuti tramite siti web chiamati VX. VX significa Virus exchange.
La scarsa conoscenza dei meccanismi di propagazione dei virus e il modo con cui spesso l'argomento viene trattato dai mass media favoriscono la diffusione tanto dei virus informatici quanto dei virus burla, detti anche hoax: sono messaggi che avvisano della diffusione di un fantomatico nuovo terribile virus con toni catastrofici e invitano il ricevente ad inoltrarlo a quante più persone possibile. È chiaro come questi falsi allarmi siano dannosi in quanto aumentano la mole di posta indesiderata e diffondono informazioni false, se non addirittura dannose.
All'inizio tutte le minacce informatiche erano virus come sopra definiti, successivamente sono comparse e si sono specializzate diverse altre minacce, anche se nel linguaggio comune continuano impropriamente ad essere chiamate "virus informatici", come trojan, o adware. Nell'uso comune il termine virus viene frequentemente ed impropriamente usato come sinonimo di malware, indicando quindi di volta in volta anche categorie di "infestanti" diverse, come ad esempio worm, trojan, dialer o spyware.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.