Publicado por Javier Guerrero, 8 de Septiembre, 2010
A la hora de escribir mis posts, a veces me apetece dejar de lado el malware y dirigir la atención hacia el otro “bando”: el software antivirus. Y más concretamente, me gusta incidir en la dificultad de determinados aspectos del desarrollo de productos antimalware; creo que es un tema interesante y, sobre todo, poco conocido.
Así que esta vez comentaré un problema del que ningún software de detección de malware está libre: los falsos positivos…..¿y eso qué es?
Un falso positivo ocurre cuando el antivirus identifica erróneamente como malware a un archivo o proceso legítimo. Esta circunstancia se puede dar tanto en los análisis por firmas como en los análisis por comportamiento.
Un antivirus identifica malware principalmente mediante dos métodos: el análisis por firmas y por comportamiento. En el primer caso, se buscan patrones específicos de bytes, que previamente se han catalogado como maliciosos, o al menos como sospechosos, y pueden corresponder a secuencias de instrucciones propias del malware, a un valor unívoco que identifica al archivo (lo que se conoce como hash) o a otros valores que puedan servir de identificación.
En el caso del análisis por comportamiento, se detectan acciones que, si bien por sí solas no pueden ser consideradas como malintencionadas, al ser correlacionadas y puestas en común, conforman síntomas de actividad maliciosa.
El problema es que ninguno de esos métodos es infalible: el hash de un fichero es inútil, por ejemplo, contra virus polimórficos, o contra empaquetadores de ejecutables. Además, una secuencia de instrucciones clasificada como sospechosa puede perfectamente hallarse en un archivo legítimo, ya que a fín de cuentas, estamos hablando de código ejecutable.
Lo mismo ocurre con el análisis de comportamiento: un proceso que genera un archivo ejecutable, y que luego escribe una entrada en el registro que hace referencia a dicho ejecutable, puede ser un intruso que está insertando un rootkit en el sistema, pero también puede ser el instalador de cualquier aplicación “legal”.
Las consecuencias de un falso positivo pueden ser muy graves: si un antivirus elimina por error un archivo imprescindible para el funcionamiento del sistema, éste puede quedar totalmente inutilizable, y de hecho esto mismo ocurre de vez en cuando y tiene mucha repercusión.
Afortunadamente, la aparición de los falsos positivos no es muy frecuente (sobre todo si tenemos en cuenta la inmensa cantidad de archivos que un antivirus puede analizar) y las compañías desarrolladoras implementan controles de calidad para evitarlos.
En cualquier caso, y como comentamos al principio, ningún fabricante está libre de sufrir este problema, que en mi opinión viene a demostrar el desafío que supone el desarrollo de un producto antimalware.
Javier Guerrero Díaz
Dpto. Desarrollo I+D