View Full Version : IMPORTANTE! Molti antivirus vulnerabili!!!
pistolino
29-09-2005, 18:35
SecuBox Labs segnala una bug alquanto rischioso scoperto in molti software antivirus e antispyware. I prodotti affetti infatti non effettuano lo scan di files il cui nome contiene caratteri ASCII estesi non stampabili e caratteri con valore minore di "0x20".
Questa sorta di vulnerabilità potrebbe essere sfruttata da un eventuale attacker malintenzionato semplicemente rinominando il file nocivo ed bypassando così il controllo dei programmi di sicurezza.
Prodotti affetti:
* BitDefender Antivirus
* Trustix Antivirus
* Avast! Antivirus
* Cat Quick Heal Antivirus
* Abacre Antivirus
* VisNetic Antivirus (bypass only with manual scan)
* AntiVir Personnal Edition Antivirus
* Clamav for Windows Antivirus
* Antiy Ghostbusters Professional Edition
Prodotti non affetti:
* Kaspersky Antivirus
* AVG Free
In rete è disponibile anche un semplice Proof of Concept che dimostra la possibilità di bypassare lo scan di BitDefender, uno dei programmi affetti.
:eek: :eek: :eek:
Fonte: tweakness.net
BravoGT83
29-09-2005, 18:43
interessante....
cmq importante è che nn passi nulla dal firewall :) :) :)
:eek: ...per fortuna uso AVG7 :fagiano:
.Kougaiji.
29-09-2005, 19:02
ehh e io uso kaspe :P
Io nod32 è non è nella lista :D
premetto che ho provato con kaspersky e sembra vulnerabile mentre Nod32 sembra di no.
Tuttavia personalmente non lo reputo un gravissimo problema, certo esiste e va risolto (sebbene non sia facile da risolvere).
Perche non lo reputo una minaccia così imminente?
Nessun file manager (total commander per esempio) permette di rinominare i files utilizzando codici ascii non stampabili, quindi extra. Nessun client e-mail permette di allegare un file che contenga nel nome codici ascii "non standard". Nessun programma per comprimere files comprime lasciando quel codice ascii non standard (che viene solitamente sostituito con il _). Nessun webserver permette di uploadare files con nome non standard. Tutte le vie per una probabile rapida diffusione di malware sono "bloccate".
Solo Risorse del Computer di Windows permette di utilizzare caratteri ascii non standard - se si prova attraverso il prompt di dos sarà ancora impossibile fare ciò.
Insomma, mi sembra che la minaccia sia piuttosto remota.
É ovvio che di probabili vie per utilizzare questa falla ne vedo all'orizzonte, tuttavia sono secondo me per ora vie non facilmente sfruttabili.
Comunque per vostra informazione ne sto discutendo con alcuni sviluppatori delle società di antivirus ;)
Ciao
Eraser :)
riccardosl45
30-09-2005, 13:53
premetto che ho provato con kaspersky e sembra vulnerabile mentre Nod32 sembra di no.
Ma con che versione di Kaspersky hai provato? Non è che non sia molto recente?
Se mi spieghi come fare posso provare anche io che in azienda ho una Personal PRO :read:
la versione testata è stata la 4.5 ma dalla versione 5, secondo un amico del team kaspersky, è stata fixata ;)
cmq importante è che nn passi nulla dal firewall :) :) :) i firewall servono a poco quando si deve bloccare un virus che sta già all'interno e che vuole comunicare con l'esterno: quelli software sono facilmente bypassabili e quelli hardware per quanto possano chiudere porte devono comunque lasciarne qualcuna aperta, no? sennò l'utente come fa a visitare siti internet, usare programmi di chat, ecc.? i firewall hardware servono soltanto ad evitare che qualche scassabballe di hacker o spammer si connetta a qualche servizio rimasto in ascolto e sfrutti qualche vulnerabilità.
tanto che ci sono aggiungo anche che su Windows NT esistono alcuni modi per nascondere completamente un file utilizzando le API native: i nomi di files (come qualsiasi altra stringa di testo) vengono normalmente terminati da un carattere NULL, ma questo non avviene quando si usano le API native, le quali vogliono le stringhe in ingresso specificate assieme alla loro lunghezza; se tramite API native viene creato file il cui nome contiene di per se' un carattere NULL finale, esso sarà invisibile al subsystem Win32 e quindi a qualsiasi programma Windows. per esempio, mettiamo che io creo in C: il file "pippo"; l'API nativa NtCreateFile riceverà la stringa "pippo" (in Unicode ovviamente) assieme alla sua lunghezza, che è 5, ma se anziché chiamarlo "pippo" lo chiamo "pippo\0" (cioè "pippo" seguito da un ultimo carattere ASCII 0) e chiamo NtCreateFile passandole "pippo\0" e 6 di lunghezza, il file rimarrà inaccessibile a qualsiasi programma Win32: per esempio explorer quando legge una cartella ne enumera il contenuto; nel nostro caso troverebbe un file di nome "pippo\0\0" (includendo entrambi i NULL finali) ma chiaramente lo leggerebbe come "pippo\0", cioè "pippo", e tentando di accedervi (ad esempio per cancellarlo sotto richiesta dell'utente) riceverebbe errore perché non esiste nessun "pippo".
questo è solo uno dei modi...
riccardosl45
01-10-2005, 21:21
la versione testata è stata la 4.5 ma dalla versione 5, secondo un amico del team kaspersky, è stata fixata ;)
Ah bel allora il problema per Kaspersky non sussiste! :D
riccardosl45
01-10-2005, 21:23
tanto che ci sono aggiungo anche che su Windows NT esistono alcuni modi per nascondere completamente un file utilizzando le API native: i nomi di files (come qualsiasi altra stringa di testo) vengono normalmente terminati da un carattere NULL, ma questo non avviene quando si usano le API native, le quali vogliono le stringhe in ingresso specificate assieme alla loro lunghezza; se tramite API native viene creato file il cui nome contiene di per se' un carattere NULL finale, esso sarà invisibile al subsystem Win32 e quindi a qualsiasi programma Windows. per esempio, mettiamo che io creo in C: il file "pippo"; l'API nativa NtCreateFile riceverà la stringa "pippo" (in Unicode ovviamente) assieme alla sua lunghezza, che è 5, ma se anziché chiamarlo "pippo" lo chiamo "pippo\0" (cioè "pippo" seguito da un ultimo carattere ASCII 0) e chiamo NtCreateFile passandole "pippo\0" e 6 di lunghezza, il file rimarrà inaccessibile a qualsiasi programma Win32: per esempio explorer quando legge una cartella ne enumera il contenuto; nel nostro caso troverebbe un file di nome "pippo\0\0" (includendo entrambi i NULL finali) ma chiaramente lo leggerebbe come "pippo\0", cioè "pippo", e tentando di accedervi (ad esempio per cancellarlo sotto richiesta dell'utente) riceverebbe errore perché non esiste nessun "pippo".
questo è solo uno dei modi...
Non ci ho capito molto ma compilmenti per la competenza! :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.