Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Tutorial / How-To / F.A.Q. (https://www.hwupgrade.it/forum/forumdisplay.php?f=58)
-   -   Miniguida: cosa è e come funziona un antivirus? (https://www.hwupgrade.it/forum/showthread.php?t=489372)


eraser 20-07-2003 22:21

Miniguida: cosa è e come funziona un antivirus?
 
Ho voluto scrivere questo testo poiché l'ho considerato molto importante per chi vuole capire come funziona un antivirus e quali sono le varie tecniche che le case antivirus utilizzano per far fronte ai continui attacchi dei virus, che si moltiplicano giorno dopo giorno.

-------------------------------------------------------------------------------------
Innanzitutto: che cos'è un antivirus? Un antivirus è un programma capace di individuare, bloccare e cercare di rimediare ai danni procurati da un virus informatico.
Cosa è un virus informatico? Un virus informatico è un particolare programma capace di autoreplicarsi e di diffondersi in maniera totalmente, o quasi, trasparente. (come effetti secondari un virus può anche fare danni, ma questo tralasciamolo per ora :) )
Come fa il virus a replicarsi? Copia parte del suo codice negli altri files presenti nel sistema colpito. I ricercatori di virus non dovettero fare altro che analizzare i files infetti e trovare la stringa comune a tutti, quello era il codice del virus. Inserirono la stringa in un programma, il quale non faceva altro che ricercare nei files quella determinata stringa. Se c'era una corrispondenza tra la stringa che avevano nei database e una stringa nel file, significava che il file era infetto. Il gioco era semplice.
Gli sviluppatori di virus si sono accorti di questo fatto e hanno complicato un pochino le cose ;)
Una scansione usando un database di signatures è possibile solamente se il virus è in forma non criptata. E siccome lo scopo del virus è di replicarsi in modo totalmente trasparente, ecco che i virus writers cominciarono a criptare i virus in modo tale che uno scanner di stringhe non poteva piu trovare una corrispondenza nei files infetti. Questi virus polimorfici cambiano forma ogni volta che il virus infetta un nuovo file, in modo tale che il loro codice risulti "confuso" agli scanner.
Quando il virus viene attivato, prima di tutto viene attivato un engine di decrypt che decripta il virus, il quale ha la possibilità di fare quello che vuole in modo totalmente trasparente.
Per far ciò, l'engine di decrypt deve essere un file eseguibile valido, cioè riconosciuto dal sistema operativo.
In alcuni casi un software antivirus è capace di rilevare le signatures di alcuni engine di decrypt in modo tale da scoprirli.
Comunque, sapendo ciò, i virus writers cominciarono e offuscare il codice aggiungendo del codice falso, e usando istruzioni differenti per fare le medesime cose. Il virus aggiunge così istruzioni supplementari quali jumps tra istruzioni valide, o codice vario che sembra buono, ma in realtà non serve a nulla. Se il codice non è modificato in modo tale da confonderlo totalmente, è ancora possibile trovare tra i files infetti una signature che può identificare il virus, o un "numero magico" che non cambia tra le varie versioni del virus.
La tecnologia euristica viene usata quando la scansione attraverso le signatures non rivela nessun problema. Se l'euristica indica che il file è sospetto, questo viene isolato in una zona virtuale protetta (sandbox) che emula un sistema operativo base. Il virus crede di essere nel sistema infetto e comincia la sua opera di decrypt. una volta decriptato il codice viene scansionato con una scansione delle signatures per cercare di identificare il virus. Se viene identificato un virus, l'esecuzione della sandbox termina e il virus viene riconosciuto.
I virus writers, però, ne sanno una più del diavolo e inventano i virus metamorfici. Questo tipo di virus cambia la struttura del corpo del virus e l'engine di decrypt, rendendo impossibile una scansione di signatures. Un esempio è il virus W32.Simile, il quale usa un engine di decrypt polimorfico che cambia continuamente dimensione e locazione delle infezioni. Ciò avviene in questo modo: l'engine disassembla il virus in una forma intermedia, lo comprime rimuovendo codice superfluo e modifica il codice del virus riordinando le istruzioni che lo compongono. Successivamente l'engine aggiunge al codice del virus codice inutile in modo random. Infine riassembla il codice intermedio ed è pronto per infettare nuovi computers. In aggiunta al danno di solito c'è anche la beffa e il virus può a volte far comparire una message box. (dipende dalle varianti del virus)
Questo tipo di virus viene eseguito nella sandbox e viene monitorato il suo comportamento. Nei casi dove l'emulazione non trova niente di infetto, né attraverso l'analisi delle signatures, né attraverso l'analisi del comportamento, l'ultima chance rimane nell'analisi on-the-fly.
Per la scansione on-the-fly (letteralmente al volo), i software antivirus controllano le API di windows e gli interrupts del DOS che servono a caricare ed eseguire programmi. Quando il programma è in esecuzione, il software antivirus è consapevole della situazione e scansiona il file con le signatures, o attraverso comportamenti statici. Se risulta pulito, l'applicazione è autorizzata all'esecuzione, ma sotto il controllo dell'analisi euristica, la quale controlla le API e gli interrupts alla ricerca di chiamate di sistema potenzialmente dannose, come per esempio scrivere o cancellare files, o accedere alle funzioni di e-mail o smtp. Appena il programma effettua una chiamata del genere, vengono analizzati i comportamenti sospetti e se il programma effettua una serie di azioni sospette, l'antivirus lo blocca segnalandolo come possibile virus.

Conclusioni:
Come potete vedere, nessun metodo di identificazione è utilizzabile in modo positivo in tutti i casi. L'identificazione di un virus è molto spesso accompagnata da una combinazione di molti tests e di molte tecniche. Lo scopo dei ricercatori è di individuare in ogni nuovo virus una caratteristica che lo contraddistingua che possa essere incorporata nel prodotto antivirus per una scansione veloce e sicura.
Nessun antivirus è infallibile. I virus writers stanno diventando sempre piu ingegnosi, e i virus sempre piu complessi. E' una gara costante tra i virus writers e i ricercatori di antivirus per essere sempre uno un passo piu avanti dell'altro.

fonte:extremetech
(grazie a hunter)

-------------------------------------------------------------------------------------

nel prossimo post ci sarà una analisi abbastanza esauriente della tecnologia euristica ;)

Ciao

Eraser :cool:

Pola 21-07-2003 00:42

Bravo, Eraser!:mano: ;)

eraser 21-07-2003 11:20

:flower: :D

AlbioB 21-07-2003 14:10

grande Era! ;)

rsuter 21-07-2003 17:10

Complimentoni Eraser!
Ora posta pure nel nostro forum questo link! :D

eraser 21-07-2003 18:17

naturalmente tra qualche giorno ci sarà anche una analisi approfondita della tecnologia euristica ;)

buglis 15-10-2003 09:12

Re: Miniguida: cosa è e come funziona un antivirus?
 
Quote:

Originariamente inviato da eraser

E' una gara costante tra i virus writers e i ricercatori di antivirus per essere sempre uno un passo piu avanti dell'altro.



Eraser :cool:

ma non sono la stessa cosa???:D

eraser 15-10-2003 14:05

Re: Re: Miniguida: cosa è e come funziona un antivirus?
 
Quote:

Originariamente inviato da buglis
ma non sono la stessa cosa???:D
si c'è anche questa ipotesi :D :D :D

MrOZ 31-10-2003 04:32

Quote:

Originariamente inviato da eraser
naturalmente tra qualche giorno ci sarà anche una analisi approfondita della tecnologia euristica ;)

... è da 1 po' ke la stiamo aspettando :D :D :D :D :D

... mi auguro ke gli HWinit Labs nn l'abbiano persa (l'analisi) :sofico:

... (x' la trebisonda manco l'hanno mai vista :D )

eraser 31-10-2003 15:46

mi sembrava che non interessasse a nessuno e non l'ho messa :O

Ciao

Eraser

HWInit Labs (:sofico: )

MrOZ 31-10-2003 16:17

Nn l'hai messa x' nn interessava a nessuno, x' nn ce l'hai :D , x' nn l'hai ancora tradotta :D :D o x' nn vuoi rubare tempo alle tue prolungate pennichelle quotidiane???? :D :D :D

eraser 31-10-2003 20:50

no, tradotto è tradotto :D mi sono sempre scordato di postarlo :D :D :D

automatic_jack 01-11-2003 18:02

Quote:

Originariamente inviato da eraser
mi sembrava che non interessasse a nessuno e non l'ho messa :O
Io sono interessato...e molto anche ;)

Ciao :D

raxas 05-11-2003 02:26

Quote:

Originariamente inviato da eraser
mi sembrava che non interessasse a nessuno e non l'ho messa :O

Ciao

Eraser

HWInit Labs (:sofico: )
pure a me interessa :D , la prima parte è davvero esplicativa ed utile,
Grazie.
Ciao :)

automatic_jack 20-11-2003 12:59

up...:D

eraser 20-11-2003 19:28

appena ho un attimo di tempo la posto :) non mi sono dimenticato di voi :)

AlbioB 20-11-2003 22:56

certo :O non si è dimenticato di noi :sofico:

chi ci crede? :rotfl:

automatic_jack 20-11-2003 23:35

Quote:

Originariamente inviato da eraser
appena ho un attimo di tempo la posto :) non mi sono dimenticato di voi :)
:yeah:

Bico Bico 11-01-2004 21:31

Quote:

Originariamente inviato da eraser
appena ho un attimo di tempo la posto :) non mi sono dimenticato di voi :)
bhè? sono passati due mesi. quanto dura 'sto attimo? :what: :D

rsuter 11-01-2004 23:14

Ahhahahah, bhè sapete, lui è mooolto impegnato....:sofico:


Tutti gli orari sono GMT +1. Ora sono le: 07:51.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.