next up previous contents
Successivo: Ripristino dei file Su: Rispristino di un sistema Precedente: Ripristino del Boot sector

Disattivazione dalla RAM

Per rilevare la presenza di un virus in un sistema, bisogna trovare il codice del virus in memoria (se c'è) e cambiarlo in modo che il virus non possa più accedere ai file e/o settori mentre lo si cerca. È necessario scegliere la mask del virus, e definire le eventuali varianti di tale mask. La mask è quella parte del virus che si occupa di gestire gli interrupt agganciati dal virus. Per stabilire l'indirizzo della mask è necessario analizzare l'algoritmo del virus.

La mask del virus viene messa in memoria ad un certo indirizzo SEGMENTO:OFFSET. Per la maggior parte dei virus il valore dell'OFFSET è costante e non dipende dalla grandezza della memoria o dalla memoria libera. Viene cambiato solo il valore del SEGMENTO. Per trovare l'indirizzo della mask del virus è necessario controllare tutti gli indirizzi SEGMENTO:OFFSET mantenendo costante l'OFFSET e provando con tutti i valori di SEGMENTO ammisibili.

Per esempio, la parte residente del virus ``Twin.351'' [Kas95] si presenta cosı:

; INT 21          ->         CS:0161
;===========================================================
SEGMENTO:0161     3D 10 FF         CMP          AX, 0FF10h
SEGMENTO:0164     74 18            JE           Virus_ID
SEGMENTO:0166     80 FC 4B         CMP          AH, 4Bh
SEGMENTO:0169     74 16            JE           Infect_!!!
SEGMENTO:016B     80 FC 4E         CMP          AH, 4Eh
SEGMENTO:016E     75 09            JNE          Cont_Int_21
SEGMENTO:0170     81 FB 07 0A      CMP          BX, 0A07h 
SEGMENTO:0174     74 03            JE           Cont_Int_21 
........ ....                      ...          ...........

Per questo virus può essere usata come mask la parte di codice tra gli indirizzi 0161h - 016Dh (3D 10 FF 74 18 80 FC 4B 74 16 80 FC 4E). Il valore dell'OFFSET è fissato a 0161h.

Il miglior modo di fissare il valore di SEGMENTO dipende dall'algoritmo usato dal virus. I metodi più utilizzati sono i seguenti:


next up previous contents
Successivo: Ripristino dei file Su: Rispristino di un sistema Precedente: Ripristino del Boot sector

Aniello Castiglione e Gerardo Maiorano < anicas,germai@zoo.diaedu.unisa.it >