| ^^^Problema: virus, trojan e spyware hanno infettato il vostro pc, l'antivirus pare non funzioni e/o non riesce a cancellare i files infetti. Avete il sospetto che ci siano virus ancora sconosciuti. 
 ^^^Perchè linux?
 Con linux è possibile avere un vero sistemo operativo su live cd con migliaia di programmi che , in questo caso, possono comprendere svariati antivirus, recupero dati, partizionamento, forensic, ecc, ecc
 
 ^^^Strategia
 Operando da cd gli antivirus e relativi aggiornamenti non possono essere compromessi, il cd stesso non può essere compromesso ed i virus non possono essere attivi perchè il s.o. sul quale sono installati non è attivo.
 Con alcuni accorgimenti è possibile lanciare la scansione di più antivirus ed avere i rispettivi risultati di seguito in file di testo, questo è molto comodo perchè evita di presidiare per ore il pc in attesa di lanciare i vari av.
 Con find, xargs, grep è possibile fare delle ricerche "superspecializzate" ad esempio sul contenuto di tutti i file che hanno la stessa data di un virus, o su tutti i files eseguibili creati e/o modificati in un certo periodo, ecc, ecc.
 Con mv (o il filemanager) è possibile rinominare i files sospetti senza cancellarli, se qualcosa va storto basta riavviare con il cd e ripristinare il nome originale.
 Con biew, hexdump, ecc è possibile controllare il contenuto di un file binario, molti virus sono facilmente individuabili controllando con un editor esadecimale i binari infettati.
 
 ^^^Costruire il proprio cd
 La cosa più comoda e veloce è modificare un live cd (knoppix, faether, insert, ecc ecc) inserendo uno o più antivirus oltre a quello/i che eventualmente sono presenti.
 Oltre a clamav ci sono altri av gratuiti (clamav e rilasciato sotto gpl la maggior parte degli altri qui indicati sono freeware) come f-prot, antivir e bitdefender. La caratteristica di questi citati è che sono "scriptabili" e non necessitano necessariamente di una interfaccia grafica.
 Oltre a queste caratteristiche essi dovranno avere la possibilità di scrivere su di un file di log ed avere una dimensione abbastanza contenuta.
 
 Sebbene con alcuni av è possibile indicare la posizione dei files contenenti le rispettive definizioni (con alcuni non è possibile) è meglio lasciare dei link sulle posizioni originali e spostare tutto in una porzione scrivibile del nostro live cd, es: /var/local.
 F-prot, ad esempio, può essere delocalizzato spostando la cartella /usr/local/f-prot in /var/local e piazzando un link ( ln -s /var/local/f-prot /usr/local/f-prot) nella posizione originale, gli aggiornamenti in questo modo potranno essere scaricati anche dal live cd.
 
 Spesso non si dispone di una connessione internet e/o si vuole avere un sistema "pronto all'uso" con le definizioni già aggiornate.
 Teoricamente si potrebbe conservare il filesystem espanso in una partizione con linux e, di tanto in tanto, aggiornare i vari av in chroot. Il problema è che la generazione del filesystem compresso è una operazione lunga ed avida di cpu e gli av dovrebbero essere aggiornati molto spesso.
 Una soluzione semplice è portare fuori dal filesystem compresso le definizioni. Basta installare gli stessi av nella propria distribuzione linux, con uno script aggiornarne le definizioni e creare un file compresso che contenga le definizioni stesse e la loro posizione: find ed afio fanno tutto in pochi secondi!
 In questo modo si dovrà ricreare solo la iso finale, questo avverrà in pochi instanti.
 
 Un esempio funzionante dello script di aggiornamento:
 
 #! /bin/sh
 echo -e "\n\n\t\tAggiorno la definizione degli antivirus....attendi.."
 #Aggiorno f-prot
 /usr/local/f-prot/check-updates.sh
 #Aggiorno Bit Defender
 bdc --update
 #Aggiorno clamav
 freshclam
 #Aggiorno antivir
 antivir --update
 wait
 echo -e "\n\n\t\tAggiorno il file var-local.afio contenente la definizone dei virus x il live cd"
 find /opt/ /usr/local/ /var/lib/ \( -name '*.DEF' -o -name '*.xmd' -o -name '*.ivd' -o -name '*.cvd' -o -name '*.rvd' -o -name '*.ivd' -o -name '*.vdf' \) | afio -oZvG9 /MAXCD2430/vir-def.afio
 echo -e "\n\n\t\tFatto!"
 exit
 
 Per installare gli aggiornamenti basta piazzare queste due righe in uno script che viene lanciato all'avvio del cd ( es /KNOPPIX/knoppix.sh).
 
 cd /
 afio -iZ /cdrom/vir-def.afio
 
 Uno script che presenta una pseudo interfaccia grafica che permette di selezionare l'av ( anche tutti in sequenza..), montare una partizione, selezionare una directory da controllare e gestire il log dei vari av:
 
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --wrap --backtitle Note --title Antivirus --msgbox "Questo è una procedura guidata per verificare la presenza di virus nel disco rigido. Sarà possibile selezionare quattro antivirus diversi e montare le partizioni in lettura/scrittura. La presenza di eventuali virus verrà soltanto segnalata ma non verrà effettuata nessuna modifica sui files. Questi potranno, per esempio, essere rinominati manualmente usando il file manager o il comando mv." 20 50
 
 antiv=$(Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --menu "Quale antivirus vuoi utilizzare?" 0 0 5 F "F-prot" C "Clam" B "BitDefender" A "Antivir" T "Tutti" 2>&1 >/dev/tty)
 
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --wrap --yesno "Questi sono i dischi attualmenti montati:\n`mount | grep mnt/[s,h]d | awk '{ print $1, $5 }'`\nVuoi montare altri dischi?" 0 0
 case $? in
 0)
 monta=$(Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --backtitle "Seleziona il disco" --no-buttons --dselect /mnt/ 0 0 0 2>&1 > /dev/tty)
 mount $monta;;
 1)
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --infobox "Hai scelto di non montare altri dischi...proseguo" 0 0 3000 ;;
 255)
 echo "";;
 esac
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --msgbox "Ora dischi attualmenti montati sono:\n`mount | grep mnt/[s,h]d | awk '{ print $1, $5 }'`" 0 0
 dir=$(Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --backtitle "Seleziona la dir da controllare" --dselect /mnt/ 0 0 0 2>&1 > /dev/tty)
 if [ $antiv = C ]
 then
 clamscan -r -i --unzip=/usr/bin/unzip --unrar=/usr/bin/rar --unarj=/usr/bin/unarj --unzoo=/usr/bin/unzoo --lha=/usr/bin/lha -l /ramdisk/home/knoppix/virus.txt $dir
 #Con la path di unrar non funziona bene..chissà...boh!
 elif [ $antiv = F ]
 then
 f-prot -archive -packed -append -list -report=/home/knoppix/virus.txt  $dir
 elif  [ $antiv = B ]
 then
 /opt/bdc/bdc --all --arc --mail $dir |  tee -a  /ramdisk/home/knoppix/virus.txt
 elif  [ $antiv = A ]
 then
 /var/local/antivir/antivir --allfiles -s --scan-in-archive --scan-in-mbox --heur-macro --heur-level=3 -ra /ramdisk/home/knoppix/virus.txt $dir
 
 elif  [ $antiv = T ]
 then
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --title Antivirus --msgbox "Hai selezionato tutti gli antivirus:\n la porzione di file system selezionata verrà controllata con quattro antivirus ed i risultati registrati nel file antivirus.txt.\nLa procedura potrebbe richiedere molto tempo" 0 0
 echo "========Antivir============" >> /ramdisk/home/knoppix/virus.txt
 /var/local/antivir/antivir --allfiles -s --scan-in-archive --scan-in-mbox --heur-macro --heur-level=3 -ra /ramdisk/home/knoppix/virus.txt $dir;
 echo "========Clamscan===========" >> /ramdisk/home/knoppix/virus.txt
 clamscan -r -i --unzip=/usr/bin/unzip --unrar=/usr/bin/rar --unarj=/usr/bin/unarj --unzoo=/usr/bin/unzoo --lha=/usr/bin/lha -l /ramdisk/home/knoppix/virus.txt $dir
 echo "========F-PROT=============" >> /ramdisk/home/knoppix/virus.txt
 f-prot -archive -packed -append  -report=/home/knoppix/virus.txt  $dir
 echo "======Bitdefender==========" >> /ramdisk/home/knoppix/virus.txt
 /opt/bdc/bdc --all --arc --mail $dir |  tee -a  /ramdisk/home/knoppix/virus.txt
 
 else
 echo ""
 fi
 Xdialog --icon /usr/share/pixmaps/python2.3-32.xpm --wrap --backtitle Note --title Antivirus --msgbox "Puoi rivedere l' esito aprendo il file /home/knoppix/virus.txt" 0 0
 
 
 Naturalmente dovrete creare il file contente i logs, piazzate queste due righe in /KNOPPIX/knoppix.sh:
 
 touch /home/knoppix/virus.tx
 ln -s /home/knoppix/virus.txt /home/knoppix/avlinux.log
 
 Max
 
 bmax-AT-gmx.it
 |