miércoles, 18 de marzo de 2009

Antivirus y falsos positivos... un desmadre

A Fred Cohen se le conoce como el padre de los "virus informáticos", por ser el primero en acuñar este término en la década de los 80 para describir a estos programas. Además de bautizarlos y analizarlos, en su estudio "Computer Viruses - Theory and Experiments" llegaba a la conclusión de que no existía algoritmo que pudiera detectar todos los posibles virus. Cuando ahora se cumplen 25 años de su estudio podemos decir que Cohen tenía razón y que, además, vamos a peor. Vale que no podamos detectar todo el malware pero, por favor, no detectemos a los que no lo son.

A lo largo de toda la historia del malware (los virus tienen menos de 30 años, lo que nos quedará aun por ver) las conclusiones de Cohen han pesado como una losa. A diferencia de hace unos años, donde todavía existía publicidad engañosa con aquello de "100% contra virus conocidos y desconocidos", a día de hoy quién más y quién menos no le queda más remedio que esconder sus vergüenzas. Todos asumimos que los antivirus son otra capa de seguridad que pueden minimizar nuestra ventana de amenazas, pero que en última instancia siempre estamos expuestos a sufrir una infección.

Esa conciencia sobre las limitaciones de las soluciones de seguridad y la exposición al riesgo es buena y deseable, porque permite educarnos en un uso más profiláctico de la informática, aplicando más capas de seguridad adicionales o simplemente mejorando nuestros hábitos diarios. De modo que es bueno que seamos conscientes de que nuestro antivirus sólo nos protege contra el 80% de las amenazas que potencialmente podemos recibir, quién dice 80% puede decir 65%, o 50%... pero bueno, al fin y al cabo, nos está protegiendo.

¿Realmente los porcentajes de detección pueden llegar a ser tan bajos? No, según el caso pueden ser aun peor. En los últimos tiempos existe un problema de escalabilidad en la detección de malware, simple y llanamente, los laboratorios antivirus no dan a basto con la producción actual de bichos nuevos. Si en febrero de 2004 podíamos leer en el recién estrenado blog de F-Secure: "Dos nuevas variantes de Bagle han sido avistadas. Otra vez. Parece que tendremos un fin de semana ocupado", ¿qué tendrían que decir hoy en cualquier laboratorio antivirus donde se reciben a diario miles de nuevas variantes de malware?.

Está claro que la opción de escalar el problema aplicando a los métodos de análisis tradicionales una regla de tres no es buena, si se han multiplicando por miles los especímenes diarios que puede recibir un laboratorio la solución no es multiplicar por mil los analistas. Entre otras cosas porque el negocio de los antivirus dejaría de ser rentable. Así que ahora se trabaja mucho en la automatización de análisis y heurísticas para aumentar los ratios de detección. El efecto secundario de esta automatización y heurísticas más agresivas es que los antivirus tienen un mayor número de falsos positivos, es decir, se equivocan más al detectar como malware algo que en realidad no lo es.

Esta problemática, lejos de ser una anécdota, es cada vez más preocupante. Ya la hemos tratado en una-al-día anteriormente, y vamos a peor. En Hispasec recibimos día sí, día también, mensajes de desarrolladores preguntando o quejándose de que los antivirus de VirusTotal están detectando como malware su software legítimo, con las interferencias y problemas que ello les causa ante sus clientes y su reputación global. Nosotros mismos hemos sufrido en propias carnes que VTuploader, la herramienta para enviar ficheros a VirusTotal, fuera detectada hace unas semanas, teniendo que solicitar la corrección de las firmas a los antivirus implicados.

Algo está fallando en los antivirus cuando, incluso, están aumentando los falsos positivos con los propios ficheros legítimos de Windows. Se supone que comprobar la no detección de componentes de Windows debe ser la medida más básica de control de calidad antes de publicar una nueva actualización.

Estamos ante una carrera loca por ver quién detecta mayor número y más rápido (de lo que sea), y nos estamos olvidando de que, ante todo, un antivirus no debería molestar ni interferir (demasiado) en el normal funcionamiento de los sistemas y los programas legítimos. Un usuario o una empresa puede llegar a entender que un antivirus no detecte todos los virus del mundo, incluso que se le cuele alguno que otro, pero difícilmente podrá aceptar que el antivirus le cuelgue el ordenador, borre ejecutables que no debe, o impida la ejecución de una aplicación corporativa.

No todo vale para detectar más. Estamos perdiendo el foco. Es un desmadre.


Bernardo Quintero
bernardo@hispasec.com


Más información:

Computer Viruses - Theory and Experiments
http://all.net/books/virus/index.html

No hay comentarios:

Publicar un comentario en la entrada