Carlo's profileBlog semiserio di CarloPhotosBlogListsMore Tools Help

Blog


    August 11

    Firewall per Windows: come devono essere progettati, Leak Tests, .... la medaglia d'oro al freeware "Comodo Firewall Pro"

     

    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