|
11 Agosto 2007
La realizzazione di un firewall per Windows è qualcosa di decisamente complesso. Una delle cose a cui bisogna far fronte è l'identificazione del traffico in uscita (outbound) evitando che programmi malevoli (virus, malware, trojan, backdoor, rootkit, ... si behhh chiamateli come vi pare) che girano a nostra insaputa sul nostro Windows, spediscano informazioni all'esterno magari mappando il codice nello spazio di memoria di processi considerati "trusted" (attendibili) come ad esempio la shell (explorer.exe) oppure il browser, etc.... dando quindi ad intendere che i pacchetti facciano parte del normale traffico dati relativo alla navigazione web, etc..... Un buon firewall deve intercettare tutti i pacchetti in ingresso ed in uscita ed identificare correttamente il processo che ha dato inizio alla procedura di invio o al quale sono destinati i pacchetti. L'analisi deve rilevare il maggior numero di informazioni possibili, moduli coinvolti (dll, ...). Occorre rilevare Hook in User Mode e Kernel Mode che modificano il normale comportamento di determinate API di Windows, rilevare la chiamata di determinate API sospette (ad esempio creazione di thread in processi remoti, accesso allo spazio di memoria di altri processi e così via). Un buon indirizzo è il seguente
http://www.matousec.com
e di seguito i seguenti link al suo interno
Test comparativo sui Firewall
Applicativi (spesso con sorgenti) per testare le capacità di un Firewall ossia i cosidetti Leak Teast
Teoria dei Leak Test: cosa deve prevenire un buon firewall, facendo riferimento anche alle tecniche usate dai vari malware; elenco delle tecniche usate dai vari trojan, elencando per ognuna di esse i trojan che la usano ed i Leak Test che la simulano per vedere se il firewall la rileva
Vari parametri presi come riferimento per valutare la bontà di un firewall
Come si può notare dai Test comparativi si può vedere che, almeno per il momento, il firewall migliore è "Comodo Firewall Pro 2.4.18.184" che oltretutto è anche freeware
http://www.personalfirewall.comodo.com/
Ho voluto un pò approfondire il funzionamento di Comodo tramite l'ottimo programma IceSword ; andando nella sezione "System Service Descriptor Table" si può vedere che viene usato il driver cmdmon.sys per definire degli hook in Kernel Mode su determinate funzioni di Windows: ciò consente di intercettare le chiamate a tali funzioni (e quindi l'esecuzione di operazioni potenzialmente pericolose). Più nello specifico Comodo va a rilevare le chiamate alle seguenti funzioni:
NtConnectPort NtCreateFile NtCreatePort NtCreateSection NtCreateThread NtDeleteFile NtDeleteKey NtDeleteValueKey NtOpenProcess NtOpenSection NtOpenThread NtSetContextThread NtSetInformationFile NtSetValueKey NtShutdownSystem NtTerminateProcess NtWriteFile NtWriteFileGather
|