viernes, 12 de abril de 2013

Chrome detendrá el 99% del malware

Este es un titular que parece sacado directamente de una página de publicidad en una revista editada a mediados de los 90. Sería imposible hablar de ese porcentaje en rigor, pero si nos olvidamos del método tradicional de los "antivirus" y hablamos del sistema basado en reputación que ha implementado Google, quizás la afirmación no suene tanto a presuntuoso titular... o quizás haya que hablar en otros parámetros.

CAMP (Content-Agnostic Malware Protection) es un sistema que se ha integrado en 200 millones de usuarios de Chrome como prueba de concepto en los meses pasados, y está destinado a detectar si el binario descargado es malware. No hablamos de exploits contra Chrome (vector de ataque en el que, si bien sigue siendo el más usado entre los atacantes, este navegador ya hace un excelente trabajo protegiéndose), sino rigurosamente los ficheros bajados. Según un estudio señalado en el propio documento, con suerte un antivirus tradicional detendrá entre un 35% y un 70% del malware que se intenta descargar un usuario antes de que dañe el sistema. Las listas negras son inútiles y las blancas muy limitantes. CAMP por el contrario está basado en la reputación. Esta se almacena y actualiza en un servidor remoto (la consabida nube). Los binarios que se descarguen y que no sean bloqueados por el propio Safe Browsing de Chrome, serán "interrogados" por el navegador para tomar nuevas referencias. Con ellas crean la reputación en el servidor sin necesitar saber nada del binario en sí. Se han preocupado de la velocidad y la privacidad, pero lo que nos interesa en estos momentos es cómo han obtenido los siguientes resultados.

El 99%

Además de una extensa descripción de cómo calcula esa reputación , el informe afirma que "CAMP llega a un 99% de precisión". De ahí el titular tan llamativo que han tomado prestado todos los medios. ¿Pero qué hay de cierto en esto? Según el informe, el equipo en Google ha hecho lo que hacemos todos los laboratorios: un análisis dinámico en máquina virtual del que se captura tráfico y cambios significativos en el sistema para determinar si un archivo es malicioso o no. ¿Es este método eficaz para determinar si algo es malware? Tal cual suena, no. Un análisis dinámico en máquina virtual deja escapar a una buena parte del malware, todos los analistas lo saben. ¿Qué han hecho entonces para hablar de ese 99% tan rotundamente?

Análisis contra motores y motores contra análisis

Compararon sus análisis en máquina virtual contra VirusTotal, pero con matices. Seleccionaron 2200 binarios nuevos previamente desconocidos para VirusTotal (muestras frescas). Las máquinas virtuales dijeron que 1100 eran goodware y 1100 eran malware. Los enviaron todos a VirusTotal y, con buen criterio, esperaron 10 días. De ahí se concluyó que el 99% de los binarios que Google reportó como maliciosos diez días antes, eran "confirmados" como malware por al menos un 20% de motores antivirus en VirusTotal.

Por supuesto hubo fallos. Dicen que un 12% de sus binarios fueron marcados como limpios por el sistema CAMP pero luego resultaron ser malware según el criterio del 20% de los motores de VirusTotal. Pero se defienden alegando que la mayoría resultaron ser adware, cosa que CAMP deliberadamente no clasifica como malware.

Conclusiones

Está claro que es un sistema muy interesante, que aglutina en el término "reputación" lo mejor de los métodos de detección de malware conocidos. Hablar del 99% de detección, puede ser acertado en este contexto, pero es necesario analizar en profundidad el método para comprender que al final, ese número se sostiene en base a los métodos "fallidos" tradicionales de detección. En otras palabras, el método de reputación sin duda es más efectivo que los medios habituales. ¿Cuánto? Intentar compararlo y afirmar que ofrece un 99% de "precisión" con respecto a métodos que ya conocemos como fallidos, no es necesario, porque de por sí es una comparación viciada.

Porque al final, aunque bloquee mucho malware, están usando máquinas virtuales para confirmar su éxito, para ponerle un número. Esos análisis de las máquinas son contrastados contra unos motores con firmas estáticas en VirusTotal. Ante este método, el sistema ha tenido éxito, pero por cómo lo han evaluado, debemos tener en cuenta que:

  • Las propias casas antivirus suelen detectar muy poco a través de firmas estáticas (desde luego no es la estrategia que más éxito les reporta y basarse demasiado en ellas es precisamente su "condena").
         
  • Las casas antivirus internamente usan también máquinas virtuales para análisis rápidos dinámicos. Con lo que, aunque más lentamente que CAMP, quizás hayan marcado como malware las muestras exactamente por la misma razón que lo hizo Google en un principio. Así, lógicamente la tendencia es a estar totalmente de acuerdo en ambos métodos. Obviamente, esto es a grandes rasgos. Las casas antivirus usan otros métodos, pero este es el primero y que les ayuda a "descartar" y clasificar rápidamente, algo que por la cantidad de muestras que reciben a diario, es más necesario cada vez.
         
  • Usar máquinas virtuales siempre es una mala idea. El malware profesional, prácticamente las elude de serie, y no realizan ningún comportamiento si saben que están en una.
         
  • No olvidemos que algunos motores se copian entre sí las firmas. Si un motor reputado afirma que una muestra el malware, otros con menos recursos automáticamente también lo harán para ahorrarse el análisis. El hecho de que lo afirmen ocho motores no es tan importante como que lo afirmen algunos más importantes.

Por tanto, tenemos un sistema de comparación viciado. Es cierto que es lo mejor de lo que se dispone en estos momentos si no se realizan los análisis a mano, pero no por ello es menos propenso a equívocos. En resumen, CAMP es efectivo, pero no sabemos "cuánto". Sabemos que clasificará como malware una buena parte de las muestras antes de que lo "confirmen" los antivirus, pero a costa de un número de falsos positivos que las casas antivirus no se pueden permitir (de ahí que sean más conservadoras y prefieran detectarlo tarde pero "bien"). Además, aunque innovador, muchos antivirus serios en la nube ya hacen este tipo de correlación de datos por reputación, aunque una vez más, son más "conservadores".

Otros problemas del sistema es que cuando se implemente de serie, los atacantes sabrán saltárselo, sin duda. Así que CAMP será un método eficaz para añadir al arsenal contra el malware, que será rápido y eficaz opinando sobre los archivos descargados, pero desde luego no sabemos en qué medida ni el porcentaje exacto... afirmar que será del 99% es buscar un titular con una metodología cuestionable.

Más información:

CAMP: Content-Agnostic Malware Protection



Sergio de los Santos
Twitter: @ssantosv

4 comentarios:

  1. Espectacular análisis, me parece muy acertado.

    ResponderEliminar
  2. Está claro que las grandes casas siguen haciendo sus análisis de forma que les salgan favorables, Sergio, has hecho un buen trabajo destripándoselo.
    Yo personalmente opino que el software de código abierto es la mejor forma de luchar contra el malware.

    ResponderEliminar