Virus, Spero che qlk lo sappiate già...

« Older   Newer »
  Share  
Ice_13
view post Posted on 18/7/2007, 00:18




Nell'ambito dell'informatica un virus è un frammento di software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo copie di sé stesso, generalmente senza farsi rilevare dall'utente. I virus possono essere o non essere direttamente dannosi per il sistema operativo che li ospita, ma anche nel caso migliore comportano 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.

Nell'uso comune il termine virus viene frequentemente usato come sinonimo di malware, indicando quindi di volta in volta anche categorie di "infestanti" diverse, come ad esempio worm, trojan o dialer.

Coloro che creano virus sono detti virus writer.

Cosa è un virus, dove si trova e come funziona

Un virus è composto da un insieme di istruzioni, come qualsiasi altro programma per computer. È solitamente composto da un numero molto ridotto di istruzioni, (da pochi byte ad alcuni kilobyte), 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, così come un virus biologico non è di per sé una forma di vita. 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 dapprima 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.

Si possono distinguere due fasi di un virus:

* quando è solo presente su un supporto di massa (disco fisso, floppy, CD, ...) il virus è inerte, anche se copiato sul proprio PC non è in grado di fare nulla fino a quando non viene eseguito il programma che lo ospita;
* quando è stato caricato in memoria RAM il virus diventa attivo ed inizia ad agire.

Principalmente un virus esegue copie di sé stesso spargendo l'epidemia, ma può avere anche altri compiti molto più dannosi (cancellare o rovinare dei file, formattare l'hard disk, aprire delle back door, far apparire messaggi, disegni o modificare l'aspetto del video, ...)

Storia dei virus

Il termine "virus" venne usato la prima volta da Fred Cohen (1984) nel suo scritto Experiments with Computer Viruses (Esperimenti con i virus per computer), dove egli indicò Len Adleman come colui che aveva coniato tale termine. Nella metà degli anni 1970 David Gerrold scrisse un romanzo di fantascienza: When H.A.R.L.I.E. was One, dove è presente una descrizione di un programma per computer chiamato "VIRUS" che fa esattamente le stesse cose di un virus. Nel 1975 John Brunner scrisse il romanzo The Shockwave Rider in cui sono descritti programmi chiamati "tapeworms" che si infiltrano nella rete con lo scopo di cancellare tutti i dati. Il termine "virus del computer" con il significato corrente è presente anche nell'albo a fumetti "Uncanny X-Men" n. 158, pubblicato nel 1982. Nel 1973 la frase "virus del computer" era stata usata nel film Il mondo dei robot (Westworld). Quindi si può dire che Cohen fece per primo uso della parola virus solo in campo accademico, dato che questa era già presente nella lingua parlata.

Un programma chiamato "Elk Cloner" è 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. Nel corso degli anni 1980 e nei primi anni 1990 fu lo scambio dei floppy la modalità prevalente del contagio da virus informatici. Dalla metà degli anni '90, invece, con la diffusione di internet, i virus e i malware in generale iniziarono a diffondersi assai più velocemente, usando la rete e lo scambio di e-mail come fonte per nuove infezioni. Il bersaglio preferito di questi software sono prevalentemente le varie versioni di Windows.

In coincidenza con la diffusione della rete, alla metà degli anni 1990, i virus, che precedentemente infettavano direttamente i sistemi operativi, le applicazioni o i dischi, furono surclassati in quanto a diffusione dai macro-virus, macro scritte nel linguaggi di scripting di programmi di Microsoft come MS-Word ed Outlook. Anche questi virus (tra cui merita una citazione particolare "I love you", ideato dallo studente filippino Onel De Guzman) infettano soprattutto le varie versioni dei programmi Microsoft attraverso lo scambio di documenti.

Ogni sistema operativo che permette l'esecuzione di programmi scritti da terzi è un potenziale sistema attaccabile da virus, però bisogna anche riconoscere che ci sono sistemi operativi meno sicuri di altri. I sistemi operativi della Microsoft sono i più colpiti dai virus (anche a causa della loro diffusione tra un pubblico di 'non addetti ai lavori'), ma esistono virus sperimentali anche per altre piattaforme. Sui sistemi basati sul progetto GNU (GNU/Linux, GNU/Hurd, BSD, ...) e su Mac OSX la diffusione di un virus è molto improbabile se il sistema è gestito correttamente dal proprietario; inoltre, su questi sistemi un virus molto difficilmente può riuscire a causare danni al sistema operativo.

Componenti di un virus

I virus informatici più semplici sono composti da due parti essenziali, sufficienti ad assicurarne la replicazione:

* una routine di ricerca, che si occupa di ricercare dei file adatti ad essere infettati dal virus e controlla che gli stessi non ne contengano già una copia, in modo da evitare l'infezione ripetuta di uno stesso file;
* una routine di infezione, con il compito di copiare il codice del virus all'interno di ogni file selezionato dalla routine di ricerca in modo che venga eseguito ogni volta che il file infetto viene aperto, in maniera trasparente rispetto all'utente.

Molti virus sono progettati per eseguire del codice estraneo alle finalità di replicazione del virus stesso e contengono dunque altri due elementi:

* la routine di attivazione, che contiene i criteri in base ai quali il virus decide se effettuare o meno l'attacco (es. una data, o il raggiungimento di un certo numero di file infetti);
* il payload, una sequenza di istruzioni in genere dannosa per il sistema ospite, come ad esempio la cancellazione di alcuni file o la visualizzazione di messaggi sullo schermo.

I virus possono essere criptati e magari cambiare algoritmo e/o chiave ogni volta che vengono eseguiti, quindi possono contenere altri tre elementi:

* una routine di decifratura, contenente le istruzioni per decifrare il codice del virus;
* una routine di cifratura, di solito criptata essa stessa, che contiene il procedimento per criptare ogni copia del virus;
* una routine di mutazione, che si occupa di modificare le routine di cifratura e decifratura per ogni nuova copia del virus.

Tipologie di virus

Alcuni virus vengono denominati in maniera particolare a seconda che possiedano a meno determinate caratteristiche:

virus polimorfico
un virus, di solito, viene criptato lasciando in chiaro solo la routine di decriptazione. Un virus polimorfico modifica il codice della routine di decriptazione ad ogni nuova infezione (lasciando ovviamente invariato l'algoritmo) mediante tecniche di inserimento di codice spazzatura, permutazione del codice, etc...
virus metamorfico
simile al virus polimorfico, è però in grado di mutare completamente il proprio codice, è più potente del virus polimorfico in quanto alcuni software antivirus possono riconoscere un virus dal codice anche durante l'esecuzione. Inoltre a volte impiega tecniche di mascheramento avanzate basate sulla divisione del proprio codice e successivo inserimento delle parti all'interno di diversi punti del file infetto (i virus convenzionali inseriscono il codice integralmente in fondo al file cambiando l'entry point per far eseguire per primo il codice maligno), lasciando inoltre invariato l'entry point per rendere ancora più difficile la vita agli antivirus. C'è da dire anche che la criptazione dei virus metamorfici non è necessaria.
exe virus
virus che infettano i file eseguibili .EXE.
com virus
virus che infettano i file di comando .COM (ormai rari).
companion virus
virus che sfruttano la caratteristica dei sistemi ms-dos che consiste nell'eseguire prima un file di comando .COM e poi un eseguibile .EXE in caso abbiano lo stesso nome di file (es. tra PROGRAM.EXE e PROGRAM.COM se si avvia PROGRAM senza specificarne l'estensione verrà prima lanciato PROGRAM.COM), in questo modo i virus creano dei "gemelli" (companion) che sono copie del virus stesso che, dopo essere stati eseguiti, lanciano il relativo .EXE mascherandosi (ormai rari).
virus di boot
un tipo di virus ormai poco diffuso, che infetta il boot sector dei dischi (floppy disk o hard disk) invece che i singoli file.
macrovirus
può essere contenuto generalmente in un documento di Microsoft Word, Microsoft Excel o Microsoft PowerPoint e consiste in una macro; può diffondersi a tutti i documenti che vengono aperti con quella particolare applicazione. Questo tipo di virus può infettare i sistemi operativi su cui gira ms-office (windows e mac), anche se non è detto che possano funzionare correttamente su altri sistemi operativi coinvolti.
retrovirus
virus che si annida nei programmi antivirus e li mette fuori uso. Il nome deriva dai retrovirus biologici, in grado di attaccare il sistema immunitario (come, ad esempio, l'HIV).
virus multipiattaforma
ci sono stati vari tentativi per creare virus che infettassero più sistemi operativi funzionanti sotto la stessa architettura hardware e lo stesso processore, ma si sono rilevati degli insuccessi o hanno avuto un successo molto limitato. Un esempio è il virus winux [1] che in teoria può infettare sia i sistemi operativi della Microsoft che quelli unix-like (es: GNU/Linux) giranti sotto CPU x86. In generale questi tipi di virus multipiattaforma si possono difficilmente inserire su un sistema unix-like: di solito la diffusione avviene solo se l'utente esegue un allegato di una mail, cosa già di per se abbastanza remota, e perché un allegato, appena salvato, non può essere eseguito se non gli vengono assegnati i permessi di esecuzione, quindi si può scartare il caso che l'esecuzione sia accidentale; in altri casi addirittura deve essere l'utente root ad eseguire l'allegato, cosa ancora più improponibile per chi sa gestire un sistema di tale tipo. Il successo di questo tipo di virus è circoscritto al fronte dei sistemi operativi della Microsoft, dove invece è possibile quasi sempre eseguire un allegato, anche solo per errore.

Modalità di diffusione

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, mentre un worm è un applicativo a sé stante. Inoltre, alcuni worm sfruttano per diffondersi delle vulnerabilità di sicurezza, e non dipendono quindi dal fatto di ingannare l'utente per farsi eseguire.

Prima della diffusione su larga scala delle connessioni ad Internet, il mezzo prevalente di diffusione dei virus da una macchina ad un'altra era lo scambio di floppy disk contenenti file infetti o un virus di boot. Il veicolo preferenziale di infezione è invece oggi rappresentato dalle comunicazioni e-mail e dalle reti di peer to peer.


Nei sistemi informatici Windows è di consuetudine usare il registro di sistema per inserire in chiavi opportune dei nuovi programmi creati ad hoc dal programmatore di virus che partono automaticamente all'avvio. Uno dei punti deboli del sistema Windows è proprio il suo registro di configurazione. Esistono vari programmi per tenere d'occhio le chiavi pericolose del registro di Windows, uno di questi è Absolute Startup, che ad intervalli di tempo regolari esegue una scansione delle zone a rischio del registro per vedere se un nuovo virus o programma anomalo è stato aggiunto in quelle chiavi.

Falsi virus

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.

Virus ieri ed oggi

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 farlo. 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 per 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 connivenza con il sistema operativo, nella quasi totalità dei casi Windows, 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 anzicchè 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, che è un po' come chiudere dentro il pollaio la volpe.

Scambio di virus

Moltri programmatori di virus ai nostri giorni, ma soprattutto nel passato, si sono scambiati sorgenti di virus per capire nuove tecniche di programmazione (come sistemi di infezione o di proliferazione). Molti scambi di virus sono avvenuti tramite siti web chiamati VX. VX significa Virus eXchange. Al giorno d'oggi i siti (almeno quelli pubblici) dedicati al VX sono rimasti pochi. Si pensa che esistano dei siti underground che contengano dei database di virus recenti accessibili solo a crew di virus writer.
 
Top
s3737u771l4m3r
view post Posted on 13/4/2008, 10:48




acci sai usar bene wiki :clown:
 
Top
1 replies since 18/7/2007, 00:18   106 views
  Share