¿Se puede evitar un mal inevitable?

Falsos positivos y cómo enfrentarlos

El análisis de un objeto (archivo o recurso web) con una solución de seguridad para Internet conduce a la toma de una decisión binaria: ¿es peligroso o es seguro? Un motor antivirus primero plantea la hipótesis de que un objeto es malicioso, y después verifica si esto es cierto o no. Puesto que no existen, por desgracia, soluciones antivirus perfectas, los errores ocurren. Hay dos tipos de errores: el primero sucede cuando se identifican como peligrosos a objetos seguros; el segundo, cuando se identifican como seguros a objetos peligrosos. Recurriendo a la terminología heredada de las estadísticas matemáticas, los errores del primer tipo se llaman falsos positivos.

Los desarrolladores de sistemas de seguridad tienen distintas posiciones sobre los falsos positivos. Algunos consideran que el objetivo de combatir las infecciones reviste la más alta prioridad. La posición de Kaspersky Lab al respecto es absolutamente clara: la prevención de los falsos positivos es tan importante como la protección contra los programas maliciosos. A continuación analizaremos los métodos de lucha contra los falsos positivos, usando nuestra compañía como ejemplo.

El negativo positivo

Para el usuario, cuando una solución de seguridad comete una falsa detección, le impide acceder a un recurso web o usar un programa seguro. Cualquiera que sea la importancia de un archivo o sitio web específicos, una falsa detección siempre es una molestia que puede ocasionar la interrupción de un proceso empresarial.

Si un programa que acaba de escribir un usuario se identifica como peligroso, su autor envía una queja al fabricante de la solución antivirus, los analistas reconocen el error y lo corrigen en la siguiente actualización de las bases de datos antivirus. Esto suele tomar varias horas, a menos que, por supuesto, el programa no efectúe más acciones que las permitidas a las aplicaciones legítimas.

Ahora, es una situación completamente diferente si un componente de un sistema operativo se identifica como malicioso. Esto podría ocasionar consecuencias mucho más serias, a veces tan graves como el colapso del sistema. Y si este tipo de falso positivo afecta a una corporación, el resultado inevitable será un paro en sus actividades, y la consecuente pérdida económica. Es por esto que creemos que los desarrolladores de sistemas de seguridad deberían tener mucho cuidado con este tipo de errores y tratar de mantenerlos en un mínimo.

Razones para falsos positivos

En primer lugar, es esencial identificar las razones detrás de estos errores. Pueden ser varias.

El factor humano es una posible razón para una falsa detección: un analista antivirus no es inmune a cometer errores. Sin embargo, vale la pena notar que en el mundo de hoy estos casos son muy raros, ya que en el 99% de los casos, las detecciones son automáticas.

Un falso positivo puede ocurrir cuando los desarrolladores de aplicaciones legítimas recurren a la ofuscación (complicación innecesaria del código) y al empaquetamiento (compresión de los archivos ejecutables). Los cibercriminales suelen recurrir a estos métodos para dificultar el análisis de los programas maliciosos, razón por la cual los sistemas de seguridad pueden sospechar que estas aplicaciones sean maliciosas.

Un falso positivo puede ser el resultado del uso de una firma genérica que detecta objetos maliciosos similares. No es una novedad que los objetos maliciosos sean, en general, variantes de un mismo código. Esto significa que al usar métodos de clasificación más “inteligentes” podemos identificar una parte que es común a todas las muestras maliciosas similares y crear una sola lógica de detección (es decir, una firma) que permita detectar todos los objetos similares. Estas firmas genéricas son creadas por diferentes sistemas de detección. Cuanto más amplios sean los criterios que un sistema utiliza para identificar la parte similar de los objetos maliciosos, mayores serán las posibilidades de que la firma se active por un objeto similar pero inofensivo.

Finalmente, un objeto se puede identificar de forma errónea como malicioso por tecnologías que analizan el comportamiento de los programas. Por ejemplo, si una aplicación desconocida comienza a efectuar cambios sospechosos en el registro del sistema o a enviar por la red la información confidencial del usuario, el componente que hace el seguimiento a los eventos en el sistema activa la alarma. El programa que realiza esto podría ser bastante inofensivo, pero utilizado con muy poca frecuencia.

La lucha contra los falsos positivos

Los analistas han entendido las consecuencias potenciales de los falsos positivos prácticamente desde los inicios de la industria. Sin embargo, tanto el número de usuarios como el número de amenazas en Internet en aquel entonces eran miles de veces menores que hoy, y las bases de datos antivirus se publicaban con menor frecuencia. Siendo este el caso, los métodos que se usaban hace 18 años para verificar las bases de datos antivirus eran bastante sencillos: los desarrolladores contaban con una colección de archivos limpios críticos (archivos primarios del sistema) y los expertos sólo tenían que escanear la colección usando la nueva base de datos antes de publicar una actualización. Si había un falso positivo, la detección correspondiente se eliminaba después de recibir las primeras quejas. Es decir, el equipo de analistas corregía manualmente las bases de datos para evitar que la amenaza llegara a un gran número de usuarios.

Con el tiempo, la cantidad de programas maliciosos se ha multiplicado miles de veces, y tanto los programas maliciosos como las tecnologías utilizadas para detectar los objetos maliciosos han alcanzado gran sofisticación. Kaspersky Lab actualmente detecta 325.000 nuevos objetos maliciosos cada día. El rango de métodos utilizados para luchar contra las amenazas en Internet también se ha ampliado: si bien en los años noventa los métodos de detección basados en firmas eran bastante parecidos a la tarea de proteger un ordenador, los productos modernos de Kaspersky Lab incluyen tecnologías que automáticamente previenen la explotación de vulnerabilidades, herramientas para el control de privilegios de aplicaciones, un componente de seguimiento de eventos en el sistema operativo, además de una serie de otras tecnologías. Además, las bases de datos de los modernos programas legítimos ocupan terabytes enteros en el disco duro.

Es claro que en estas condiciones ya no es posible usar los métodos arcaicos para combatir los falsos positivos. Las modernas tecnologías de prevención de falsos positivos son mucho más diversas y efectivas. Estos métodos se usan tanto en la etapa de detección de objetos maliciosos y en la de pruebas y publicación de las bases de datos. También existe un conjunto separado de métodos que ayudan a minimizar las posibilidades de falsos positivos durante la operación de una solución de seguridad.

Control de firmas

Como diría Captain Obvious, la forma más sencilla de evitar falsos positivos es publicar firmas sin errores. Es por esto que hay que prestar mucha atención a las etapas de creación de firmas de objetos maliciosos. Pero incluso si se manifiesta un error después, hay una forma rápida de corregir la situación, incluso si las bases de datos ya se han instalado en el equipo del usuario.

Etapa de detección (creación de firmas estáticas)

Primero, un sistema de verificación automático dedicado analiza las firmas estáticas que los analistas antivirus añadieron manualmente a las bases de datos. Esto se debe a que una persona que se concentra en el análisis de un código puede no llegar a ver el cuadro completo. Entonces, cuando alguien trata de añadir una firma a la base de datos para un objeto que el sistema percibe como limpio en base a algunos criterios, el sistema automático informa al analista del potencial error, enumerando las razones que tiene para creer que está limpio.

Segundo, para probar si las nuevas firmas no generan falsos positivos se utiliza una colección de hashes (resultados únicos de transformación de códigos en base a un algoritmo específico) para objetos considerados ‘limpios’. Se compara una firma creada usando un fragmento de un código malicioso con los hashes de la colección. Si el sistema detecta que la nueva firma coincide con el hash de un objeto legítimo en base a algunos criterios, se selecciona otro fragmento del código para crear una firma de la amenaza.

Kaspersky Lab también mantiene una base de datos separada que contiene el ‘registro personal’ de cada objeto malicioso analizado con tecnologías de protección. Al crear una firma de detección, se toma en cuenta el historial del objeto detectado: si el objeto no levantó sospechas en anteriores ocasiones, se lo somete a un análisis adicional.

Asimismo, para prevenir errores, se usa una colección de archivos que provocaron falsas detecciones en el pasado. Esto ayuda a evitar que se repitan incidentes si un objeto ha sido ligeramente modificado (es decir, cuando se publica una nueva versión de un programa).

Las firmas genéricas se añaden periódicamente a las bases de datos de firmas estáticas: si el sistema de detección automática registra muchas muestras de programas maliciosos similares, se crea una sola lógica de detección para combatirlos.

Etapa de comprobación de la base de datos y su publicación

Para asegurar que las firmas (estáticas o genéricas) no se activen con software ‘limpio’, se verifican las bases de datos recién creadas mediante la base de conocimientos Dynamic Whitelist. Se trata de una enorme colección en expansión de software legítimo que también contiene datos adicionales sobre cada objeto (desarrollador, nombre del producto, la última versión de actualización y mucho más). Para conocer en mayor profundidad la operación Dynamic Whitelist, pulsa aquí.

Un departamento especial en Kaspersky Lab se encarga del mantenimiento de esta colección y de proporcionar actualizaciones oportunas. Gracias a acuerdos logrados con más de 600 compañías desarrolladoras de software, las aplicaciones más populares se incluyen en la colección antes de su comercialización.

El sistema que realiza el escaneo merece una mención aparte. Debido a que la base de datos de software legítimo es enorme y que las bases de datos antivirus se actualizan cada hora, no es una opción utilizar un servidor regular para los escaneos. Se desarrolló un sistema de procesamiento de datos específicamente para este propósito. Utiliza docenas de servidores e instalaciones de almacenamiento de datos para alcanzar un amplio equilibrio.

Todas las firmas que levanten hasta la más mínima sospecha ingresan en un registro separado que puede llamarse ‘veredictos potencialmente peligrosos’. Dichas firmas se someten a verificaciones adicionales, en las que participan analistas de programas maliciosos.

Respuesta rápida (lucha contra los falsos positivos en la etapa de la operación)

Sólo cuando las bases de datos antivirus logran pasar todas las verificaciones necesarias se distribuyen a los usuarios. La infraestructura distribuida en nube de la red Kaspersky Security Network recibe estadísticas de detecciones en los equipos de los usuarios y hace un seguimiento de las veces que cada firma se ha activado.

Los analistas responsables de la publicación de las bases de datos de firmas continúan el seguimiento detallado de la forma en que los productos responden a las actualizaciones. Si se detecta una anomalía (se descubre una amenaza en demasiados equipos de usuarios en un corto lapso), eso podría ser una señal de que existe un falso positivo. En ese caso, un analista recibe una alerta y comienza a realizar un análisis adicional del objeto detectado.

Si el análisis indica que el objeto se identificó erróneamente como malicioso, entonces se activa la tecnología Record Management System, que puede recuperar un registro en cuestión de segundos, también recurriendo a Kaspersky Security Network. Asimismo, la firma incorrecta se elimina de las bases de datos. Si resulta que una firma genérica detecta por error objetos ‘limpios’ entre otros, los analistas cambian la lógica de detección y corrigen las bases de datos. En todo caso, hasta la próxima actualización de la base de datos, el error se habrá corregido.

Seguimiento de errores de tecnología proactiva

No resulta fácil verificar en su etapa de desarrollo las tecnologías que detectan comportamientos anómalos en los programas instalados en los equipos de los usuarios. Es virtualmente imposible prever todas las posibles acciones que el usuario efectuará en su equipo y todas las posibles variantes de software ´limpio’ que puede usarse en el proceso. Es por eso que se utilizan sobre todo tecnologías en nube para proteger a los usuarios contra falsas detecciones causadas por tecnologías proactivas.

Cuando un producto detecta un objeto desconocido, es decir, cuya información no está presente en las bases de datos antivirus locales, se envía inmediatamente el hash del objeto a la infraestructura en nube, la cual responde con cualquier información disponible al instante. Si el objeto se encuentra en la lista blanca de software confiable, entonces el objeto se reconocerá como seguro.

Además, las tecnologías en nube pueden verificar la firma digital de un archivo sospechoso y la reputación de la compañía que emitió el certificado de firma digital. Si la reputación es intachable y el certificado es genuino, también es una indicación de la legitimidad del objeto. Vale la pena mencionar que la reputación de la compañía y los datos de la firma no son estáticos. Si se denuncian incidentes, esto podría ocasionar la pérdida de confianza y provocar un cambio en la respuesta de la solución de seguridad a los mismos archivos.

Las herramientas de detección proactiva requieren gran atención cuando las funciones del producto se actualizan. Cuando las tecnologías recién actualizadas comienzan a funcionar en el mundo real por primera vez después de las pruebas en el laboratorio, pueden surgir errores imprevistos. Por esta razón se usa un enfoque por fases en lugar de activar nuevos mecanismos de protección en todos los productos al mismo tiempo. Primero, las actualizaciones se aplican a un grupo de prueba limitado. Si esto no resulta en falsos positivos, las nuevas funciones se pondrán a disposición de un amplio público. Como resultado, incluso si una nueva tecnología presenta fallas, la mayoría de los usuarios nunca se enterará.

Lucha contra falsos positivos al escanear recursos web

Vale la pena añadir algunas palabras sobre las tecnologías de protección contra falsos positivos cuando escanean recursos web. Kaspersky Security Network puede hacer seguimiento del historial de reputación de un recurso. Si se detectan contenidos maliciosos en una de las páginas del sitio, el sitio se bloqueará completa o parcialmente, dependiendo de su reputación. Si el sitio posee una reputación impecable, entonces las soluciones de Kaspersky Lab sólo bloquearán la página que representa una amenaza a los usuarios y no así todo el sitio.

Kaspersky Security Network también realiza un seguimiento del historial de visitas al recurso web. Si un sitio popular se identifica como peligroso, el sistema automático alertará a los analistas, quienes realizarán una verificación adicional. Esto ayuda a prevenir falsas detecciones de recursos populares.

Conclusión

Es inevitable que los productos de seguridad cometan falsas detecciones; no existen las soluciones ideales. Sin embargo, los desarrolladores tienen el objetivo de reducirlas a un mínimo. Esta es una tarea factible.

Los expertos de Kaspersky Lab monitorean con mucho cuidado la operación de las tecnologías de protección para evitar que cometan errores. Para cada tipo de objeto en el que es posible encontrar una amenaza (páginas web, archivos, banners, sectores de arranque, flujos de tráfico, etc.), existen mecanismos especiales de prevención de falsos positivos y colecciones separadas de objetos conocidos como limpios.

Kaspersky Lab cuenta con un grupo especial, dedicado a mejorar los métodos existentes de lucha contra falsos positivos y desarrollar nuevos. Este equipo investiga cada caso, analiza por qué ocurrió una falsa detección y diseña herramientas para ayudar a prevenir errores similares en el futuro.

Gracias a los esfuerzos de este grupo, los productos de Kaspersky Lab casi no han generado falsos positivos en las pruebas realizadas por investigadores independientes estos últimos tiempos.

Publicaciones relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *