Inicio > avast! > avast! consigue rebajar hasta 6 veces el tiempo necesario para hacer un escaneo completo del sistema

avast! consigue rebajar hasta 6 veces el tiempo necesario para hacer un escaneo completo del sistema

Domingo, 25 de abril de 2010 Dejar un comentario Ir a comentarios

Durante las últimas semanas, los desarrolladores de avast! han estado trabajando en mejoras para el motor de avast! 5 y, mientras lo hacían, encontraron ciertos elementos que podían estar ralentizando más de lo necesario su rendimiento (es decir, la duración de los análisis bajo demanda).

Una de las grandes novedades de avast! 5 es el elemento denominado caché persistente (persistent caché), un mecanismo que permite a nuestro antivirus obviar el reescaneo de ciertos archivos. En particular, se aplica a ficheros que están en nuestra lista interna de apliaciones benignas (lista blanca), como también a los archivos que están firmados digitalmente por editores de confianza (hay una lista relativamente corta de desarrolladores de software en los que confiamos, y por tanto consideramos los archivos creados y firmados digitalmente por ellos como seguros).

Anteriormente, usábamos los sistemas de encriptación que nos proporcionaba el sistema operativo (denominado “wintrust”) para realizar las verificaciones de las firmas digitales. Sabíamos que no era un método ideal (especialmente porque éramos conscientes de que en caso de que el sistema estuviera comprometido alguna API del sistema podía ser redirigida por malware y esto no es, por tanto, 100% seguro). Por esta razón, hemos estado trabajando en nuestra propia implementación de un verificador de firmas. Lo que parecía una tarea sencilla al principio se convirtió en un largo y complicado proyecto de decenas de miles de líneas de código, y también muchos meses de duro trabajo.

Esta larga odisea finalizó más o menos hace un mes y, después de realizar varios test de funcionamiento, se implementó esta nueva característica como parte la actualización de la base de datos de virus del día 19 de Abril. Lo que es interesante es que este cambio no sólo ha conllevado un aumento de la seguridad (que es la razón principal por la que lo hemos hecho), sino que además ha proporcionado un incremento considerable del rendimiento. En nuestro equipo de pruebas (una estación de trabajo Dell con una CPU Intel Core i7, 4 GB de RAM y Windows 7) la duración de un análisis completo del sistema bajó de 39:35 minutos a 16:03, lo cual implica un aumento de 2.5x en la velocidad.

Todavía no hemos hecho una investigación completa de por qué ocurre esto, pero nuestra hipótesis actual es que el aumento de rendimiento está relacionado con la comprobación de los catálogos de firmas. Es posible que la API de Wintrust reabra/relea los catálogos cada vez que un fichero se analiza, mientras que nuestro desarrollo hace esta lectura una vez y mantiene esta lectura cacheada en la memoria mientras dura el escaneo. Pero todavía conseguimos hacer otras mejoras para aumentar aún más el rendimiento de avast!

Al ver todo esto, nuestros técnicos empezaron a interesarse por si todavía se podía mejorar. Así que empezaron a revisar el código de verificación otra vez, y encontraron que el código gasta mucho tiempo en una función que es responsable del cálculo del hash SHA-1. Esto no supone una sorpresa, en el sentido de que muchos certificados están basados en el algoritmo SHA-1, y el hashing actual es la parte más cargante del proceso de verificación.

Así pues, el siguiente paso lógico era optimizar la parte de nuestro desarrollo encargada del algoritmo SHA-1. Uno de los ingenieros de Intel publicó recientemente un buen artículo describiendo las posibilidades de aumentar la velocidad de SHA-1 usando las instrucciones SSE2 que incorporan los procesadores Intel desde los Pentium 4. Usando estas ideas, fuimos capaces de de optimizar el código de manera que ahora corre un 30% más rápido (especialmente en procesadores Core 2 y i7).

Mientras hacíamos las pruebas pertinentes, también observamos algo extraño: el análisis completo del sistema tardaba lo mismo la primera vez que se realizaba y las siguientes ocasiones. Esto no debería ocurrir dado que nuestro sistema de caché persistente debería dar como resultado que a partir del segundo escaneo completo la duración de los mismos disminuyera de manera notable dado que se supone que no se deberían volver a verificar las firmas digitales de ciertos ficheros en esos análisis posteriores. Así que revisamos el código y descubrimos con sorpresa que la tarea de verificación se realizaba cada vez, y no sólo en la primera pasada. Todo esto fue solucionado en la actualización de la base de datos de virus del día 24 de Abril, consiguiendo que el tiempo de escaneo en nuestra máquina de pruebas descrita más arriba bajara hasta 6 minutos y 54 segundos, lo cual implica un aumento de seis veces en la velocidad (por supuesto, sin afectar al ratio de detección).

Para nosotros, esto ha implicado un gran ejercicio que nos ha vuelto a mostrar la belleza de la ingeniería de software. Algunas veces, si trabajas duro, puedes marcar la diferencia.

 

El presente artículo es una traducción y adaptación de un post escrito por Ondrej Vlcek en el blog oficial de avast! en inglés.

  1. marcos
    Lunes, 26 de abril de 2010 a las 00:07 | #1

    Entonces avast esta en la vanguardia hoy no?. Felicitaciones a la empresa por estar siempre al dia y ser hoy numero 1. Solo quisiera que me digan si podran pronto alcanzar en nivel de deteccion a otros gigantes como g data, avira o panda ( que con cloud computing esta en 99% de deteccion hoy)

  2. klaken
    Lunes, 26 de abril de 2010 a las 07:03 | #2

    mm alcanzar a gdata no creo ya que ocupa mas de un motor..por lo tanto el 99% jamas se tomara ..pero si cerca..alcanzara a avira ese si creo que seria un logro o a panda o por lo menos en esas ´pruebas un 98% en demanda y en heuritica seria excelente..(pd: son 2 pruebas distintas)

    el análisis de avast mas rápido jaja eso sig que pronto sobrepasara a las empresas que se dicen asi mimas las mas rápidas..también me gustaría que se redujera el consumo o los anlisis en residente aun mas…pero siempre manteniendo y mejor superando su detección.

  3. irma
    Lunes, 26 de abril de 2010 a las 22:13 | #3

    AVAST nunca podra alcanzar en demanda a PANDA ya que panda es hoy mucho mejor que avast y detecta el 99% de las amenazas. avast es para niños inquietos que solo le gustan los colores bonitos.

  4. klaken
    Martes, 27 de abril de 2010 a las 05:56 | #4

    99% de panda …panda jamas a detectado tanto según unas pruebas que vi..lo mas cercano a esa cifra a sido gdata pero esta lleno de falsos positivos…

    jajaja colores bonitos se nota que solo coniste la version 5 las anteriores no tenia colores bonitos..pero si era personalizable ..pero nunca alcanso eso de colores bonitos

  5. Alex
    Martes, 27 de abril de 2010 a las 12:25 | #5

    Si no os gusta Avast! no lo useis y punto. Nadie os obliga. Cada producto ofrece unas prestaciones que cada cual valorará si le interesan o no; pero no se debe menospreciar ningún producto porque a alguien le parezca mejor el de otra compañía.

  6. marcos
    Miércoles, 28 de abril de 2010 a las 00:17 | #6

    en avcomparatives febrero 2010 panda detecto 99% contra 97% de avast asi que lo que dice irma es real y esta basado en esta prestigiosa comparativa. asi que avast esta detras de panda. hoy en dia panda es el mejor antivirus del 2010 y luego le sigue nod32

  7. emmanuel
    Jueves, 29 de abril de 2010 a las 05:35 | #7

    hola gracias a todod los tecnicos de avast! les deseo lo mejor ojala sean los numero uno en protejer los equipos en contra del malware y que sigan con las investigaciones surte y yo uso avast! free antivirus saludos y avast es mejor!! =^-^=

  8. Noelita
    Domingo, 2 de mayo de 2010 a las 05:12 | #8

    Que infantil lo que han dicho algunos por acá.No le encuentro sentido alguno andar peleando para ver quién es mejor si Panda o Avast.A mi me gusta mucho Avast ,lo elegí y puse mi confianza en este gran antivirus.Son serios y responsables. Y punto.Cada uno usa el antivirus que le da la bendita gana.No hay mejores y peores, todos hacen su mayor esfuerzo.

  9. Reynald
    Domingo, 2 de mayo de 2010 a las 19:45 | #9

    Estoy de acuerdo con Noelita, cada uno elige el antivirus que le parece mas apropiado ya sea por sus características, seguridad que ofrece o los skin, nunca nos pondremos de acuerdo en todos los aspectos.

    Para dar un poco de luz daremos algunos datos del test realizado por AV Comparatives de Febrero/2010.
    Mencionaremos que Avast participo con un producto free (gratis, costo 0 para el usuario normal).

    A modo de información muestro alguno de los productos de un total de 20 y los resultados obtenidos por estos.

    Puesto – Producto – % detección
    01) G Data 99.6 %
    02) Avira 99.3 %
    03) Panda 99.2 %
    11) Avast 97.3 %

    Y de los falsos positivos quien se acuerda (tema no menor para un usuario domestico).
    Puesto – Producto – Cant. falsos positivos
    05) G Data 05
    09) Avast – Avira 11
    11) Panda 47

    Es cierto que hay productos que detectan mas malware (ojo de las muestras testeadas no de todos los bichitos que hay por ahí).
    Ej.: Panda detecta mas malware que Avast. Y da muchos mas falsos positivos que este último.

    Todos los usuarios soñamos con un antivirus que detecte todo el malware existente y que no de falsos positivos (indica que tenemos virus y no los tenemos).

    Al final del test le dan a: G Data, Avira y Avast calidad Advanced + y a Panda Advanced.

    La conclusión sería: Avast esta transitando el camino correcto, aumentando la detección de amenazas paulatinamente y manteniendo los falsos positivos al mínimo.

    Vuelvo a mencionarlo, el test sirve como comparación, si hiciéramos otro tomando una biblioteca de virus distinta a la utilizada por AV Comparatives seguramente el resultado sería otro.

  10. Juanjo
    Miércoles, 5 de mayo de 2010 a las 02:50 | #10

    Contrariamente a nuestra política, hemos tenido que eliminar los dos últimos comentarios. Cuando abrimos el blog, teníamos claro que nuestra labor de moderación de comentarios tenía que estar limitada al máximo, interviniendo sólo en casos de flagrante “trollerismo”. Si un comentario es contrario a nuestro producto, pero está bien argumentado y tiene fundamento, no será eliminado ni modificado.

    Sin embargo, los dos comentarios que hemos borrado tenían descalificaciones sin ningún sentido ni justificación. Pero lo que nos ha llevado a eliminarlos es que habían sido escritos por la misma persona, usando nombres diferentes, con el único fin de crear polémica sin sentido.

    Aprovecho para agradeceros a todos vuestra participación en este post.

  11. marcos
    Miércoles, 5 de mayo de 2010 a las 16:39 | #11

    disculpas avast ya que de esta pc salio las dos criticas. amigos mios se pasaron de listos y emitieron esos comentarios ofensivos. ademas yo utilizo avast ya que es el antivirus gratuito mas completo que existe y compite cara a cara con kaspersky, que es de pago. adios y gracias

  12. Rolando
    Domingo, 16 de mayo de 2010 a las 18:40 | #12

    ¡Avast 5 es excelente!

  1. Lunes, 26 de abril de 2010 a las 13:02 | #1
  2. Sábado, 8 de mayo de 2010 a las 12:57 | #2