lunes, 16 de julio de 2007

Empleo de técnicas heurísticas en la protección de sistemas informáticos

ZorphDark [blackhat4all@gmail.com]

Disponer de una aplicación antivirus en el sistema operativo no es una excusa para librarse de una de las preocupaciones más comunes de todos los usuarios: los códigos malignos. Actualizar a diario las bases de datos que utilizan dichos programas para detectar la presencia de los virus, scripts, macros y troyanos analizados por las respectivas compañías de seguridad tampoco es razón para sentir alivio.

El hecho es que a medida que han evolucionado los sistemas antivirus, los programadores de "amenazas" han refinado su instrumental y sus algoritmos a un estado prácticamente inexpugnable. ¿Qué hacer al respecto? No se trata de mantenernos off-line o de aislar de todo soporte extraíble a nuestras computadoras; por suerte las empresas de protección informática intervienen con nuevas técnicas para quitarnos más de un dolor de nuestras cabezas -a precio de costo, por supuesto. Pero aún así, mantenernos en un estado pasivo frente al mar de hostilidades puede provocar la permeabilidad de nuestros datos. Tomar nuestras propias decisiones, seleccionar el sistema contra este tipo de riesgo que más se ajuste a nuestras necesidades y configurar adecuadamente sus características es un factor imprescindible si se quiere lograr el efecto bunker que todos deseamos. Para saber el por qué, primero comencemos como aedos a narrar crónicas; después, ya listos, ocupémonos de accionar nuestras defensas.

Un poco de historia::

Los sucesos son interesantes, ya que desde sus orígenes los virus han causado asombro, pánico y decepción. Con la difusión de ideas "alternativas" en la mente de muchos programadores a mediados de los años '80, la proliferación de los virus informáticos se hizo indetenible. Las causas de estas actitudes fueron muy variadas; abarcaban tanto el afán de diversión e imitación de las historias de hackers como el placer de acceder y/o destruir información ajena. Los usuarios de PC siempre vieron esta última amenaza bastante lejos de sí mismos hasta que el 2 de noviembre de 1988, en medio de las campañas publicitarias que llevaba a cabo las proveedoras de los Estados Unidos para ampliar el número de clientes que pudiesen potenciar económicamente su red, el adolescente Robert Tappan Morris -hijo de un prestigioso experto en seguridad informática de la NSA- introdujo un gusano en ARPAnet que logró infectar en pocas horas a más de 6000 servidores de todo el planeta, dejando a una gran parte de ellos fuera de servicio, incluso durante varios días.

Los efectos repercutieron en los medios de difusión de todos los continentes, iniciando una nueva era de enfrentamientos donde los creadores de virus comenzaron a jugar el papel antagónico, desafiados desde el otro lado por la feroz competencia entre las nuevas y viejas empresas que aprovechaban el momento para hacer eco de su solución contra dichas infecciones. Los virus ya no eran transmitidos solamente por disquetes, discos compactos o redes locales; tenían la capacidad de propagarse a través de miles de kilómetros en unos pocos segundos.

Ese mismo año, en el Palacio de las Convenciones de la Ciudad de La Habana, todos los participantes de un evento de informática fueron testigos de quizás el primer virus que infectara una computadora en nuestro país. Con la disminución de los costos de conexión, la privatización de Internet, y la explosión de la World Wide Web a lo largo de la década de 1990 en los demás países del orbe, el fenómeno se tornó más preocupante -y cotizado-, por lo que se necesitó dotar a los productos antivirus de mayores prestaciones.

Técnicas de detección::

Actualmente las grandes compañías de seguridad informática que desarrollan herramientas a nivel de usuario y a nivel empresarial no se limitan a ofrecer solamente protección antivirus, sino que cada vez amplían más las fronteras hacia otras áreas críticas, como la detección de spywares, dialers, web scripts, spam, intentos de phishing y ataques de intrusos a través de las redes. Para ello se utilizan técnicas generales que podrían ser clasificadas de la siguiente forma:

  • Detección Reactiva: se basa en la verificación de las firmas de virus y el análisis comparativo con el recurso examinado. Este es el método tradicional de detección, muy útil cuando se trata de programas malignos catalogados por las bases de datos de la aplicación antivirus. El principal inconveniente es que se debe mantener actualizadas las firmas de virus y depender de la rapidez con que su productora capte nuevas amenazas, las analice y distribuya la renovación de las bases. Dicho proceso puede durar unas pocas horas o meses, en dependencia del estado de difusión del virus y del nivel de retroalimentación de la empresa con cada uno de sus usuarios.
  • Detección al acecho: supervisa el comportamiento de cada servicio o programa en ejecución para determinar que sus rutinas cumplan con la disposición de niveles de ejecución establecidas por los parámetros del sistema antivirus. La sobreescritura de archivos, el acceso no autorizado a puertos de conexión, la apertura de pop-ups, entre otras conductas, son penadas por las reglas de defensa en cuestión y pasan a ser diagnosticadas por el módulo que corresponda.
  • Detección heurística o proactiva: es la técnica por excelencia para la detección de nuevas amenazas que, según afirma Andrew J. Lee, "es un concepto muy amplio y no existe una definición acordada entre los fabricantes antivirus, pero básicamente describe un rango de técnicas predictivas para detectar nuevo software malicioso sin la necesidad de liberar una actualización".

comprendiendo los métodos Heurísticos::

Dediquémonos entonces a asimilar algunos conceptos y características fundamentales de las técnicas heurísticas actuales, aunque no con el detalle que quisiéramos, porque en realidad a las empresas no les gusta argumentar estas tecnologías fuera del ámbito publicitario -no sea que alguien les vaya a "robar" sus ideas.

No siempre las firmas de virus que utilizan los módulos de detección pueden ayudar a capturar un código malicioso, debido a los problemas referidos en el acápite de detección reactiva. Por ello es necesario acudir a nuevas técnicas para enfrentar tanto los más poderosos como los de nueva aparición. El empleo de la heurística permite cientos de ventajas muy valoradas en el ámbito de la informática, entre las que se destacan:

  • Eficiencia de algoritmos de búsqueda: realizar inspecciones exhaustivas de cada uno de los archivos candidatos no constituye la vía más eficaz en un examen de detección de virus. Tanto aquellos que se insertan en un ejecutable como los que consisten en simples scripts, contienen en su código firmas genéricas que pueden utilizarse para agrupar familias de virus, aislar nuevas variantes o marcar el archivo como infestado. Es común adentrarse en búsquedas profundas, cubriendo diversos niveles de complejidad, cuando por métodos proactivos se puede reducir el factor de ramificación al más óptimo y eficiente para un caso -o categoría- en particular.
  • Comprobación de rutinas CRC: los módulos de muchos sistemas de protección por lo general crean una o varias áreas protegidas donde guardan identificadores especiales correspondientes a cada uno de los archivos previamente analizados. Generados mediante complejos algoritmos matemáticos, estos códigos almacenan una analogía simplificada de la estructura del fichero inicial, posibilitando la subsecuente verificación de su integridad.
  • Desensamblaje y desempaquetamiento: siguiendo la agresiva filosofía de atacar como mismo se es atacado, los antivirus modernos emplean heurísticas capaces de obrar de forma similar a los códigos maliciosos para poder llegar a detectar a los más escurridizos y reducir el tiempo de análisis de los archivos binarios. Se trata de desensamblar ejecutables para poder obtener el código fuente en lenguaje Assembler, así como revelar posibles focos empaquetados en herramientas como UPX o almacenados en RAR, ZIP o demás algoritmos usuales de compresión. De esta forma se puede capturar infraganti a virus comunes -e incluso polimórficos- que se alojen en hoyos imposibles de detectar empleando otros métodos.
  • Reconocimiento de código compilado: de no ser posible el examen intrínseco de un archivo cifrado o ensamblado con técnicas avanzadas que los antivirus no pueden detectar, se puede acudir a implementaciones de sistemas heurísticos que permiten reconocer y comparar técnicas e instrucciones comúnmente utilizadas por los creadores de códigos malignos.

Todos estos métodos permiten agilizar los procesos de detección de programas malignos y brindar una mayor calidad en la protección de sistemas. Aún así, el empleo de la heurística ofrece soluciones generalmente simplificadas y basadas en estrategias optimizadas para ofrecer aproximaciones a técnicas minuciosas que implicarían un mayor costo de recursos. La metodología de la heurística dispone de factores sinérgicos, flexibles y no lineales que no tiene por qué ofrecer resultados absolutos. El nivel de exactitud con que procedimientos heurísticos pueden proceder depende de su implementación a diferentes capas. Un producto antivirus puede llegar a devolver los llamados "falsos positivos" en caso de valorar el comportamiento -o estructuración- de un proceso o archivo sano como una alerta de virus. Ello depende de la calidad de interconexión y retroalimentación de las múltiples reglas heurísticas que emplee un sistema de protección, ya que si estos métodos son utilizados independientemente pueden consumar un veredicto poco robusto y escaso de credibilidad.

Diversos organismos independientes como AV-Comparatives están especializados en la realización de evaluaciones retrospectivas, que ponen a prueba la eficacia de las técnicas heurísticas de los productos antivirus más utilizados en la actualidad. En dichos exámenes se ubican a dichas herramientas en entornos hostiles, expuestas a una gran cantidad de nuevos programas malignos detectados sin permitirles obtener actualizaciones de sus firmas de virus. Así se puede tener una noción de la efectividad de estas aplicaciones frente a nuevas amenazas.

A continuación se muestran dos resultados estadísticos de principios del mes de junio del 2007, realizados por AV-Comparatives, donde se muestra el porciento de nuevos virus detectados en relación al total introducido y la cantidad de "falsos positivos" ocurridos, respectivamente.

Porciento de nuevos virus detectados en relación al total introducido.   Total de "falsos positivos" ocurridos.

Como se puede apreciar, el NOD32 goza del mayor índice de relación nuevas amenazas detectadas - falsos positivos; ello se debe al complejo sistema de detección heurística que tiene implementado en cada uno de sus módulos. No se debe menospreciar a otros productos que, aunque no se ve reflejado en este estudio en específico, gozan igualmente de gran reputación. Aquí comienza el problema para algunos -y el dilema para otros-, pues evaluar la totalidad de las herramientas de protección existentes en el mercado es prácticamente imposible. No obstante, trataremos de abordar algunas generalidades que se deben tener en cuenta para decidir en cuál relegaremos la responsabilidad de custodiar nuestra información.

¿soluciones? antivirus::

Para comenzar, se debe hacer énfasis en que ningún producto es 100% eficaz contra los programas malignos, incluso cuando los niveles de protección estén elevados al máximo. Luego destacar que todo antivirus debe al menos responder exitosamente a los siguientes criterios básicos:

  • Detectar infecciones por todas las vías de entrada y salida de información.
  • Chequeo de arranque del sistema y del registro de configuraciones del sistema.
  • Integración perfecta con el cliente de e-mail y el navegador web.
  • Gran capacidad de desinfección/regeneración.
  • Utilización adecuada de los recursos disponible por el sistema operativo.
  • Empleo de técnicas heurísticas y detección mínima de "falsos positivos".
  • Actualización sistemática.
  • Prestación de soporte técnico a usuarios.

El factor de costo se ha obviado, debido a nuestra ausencia en el mercado. De todos modos, se debe tener en cuenta que sin una herramienta que nos permita generar o "crackear" licencias, estamos fuera del sistema, propensos a ser un blanco de ataque en medio del ambiente virulento de las redes y de los dispositivos de almacenamiento extraíble. Pues con todas estas premisas podemos iniciar la búsqueda de la solución que más se ajuste a nuestras necesidades.

Podríamos citar las ventajas y desventajas de cada uno de los productos líderes, como el NOD32, los de la línea de Kaspersky Lab, Norton, Panda, Trend Micro, McAfee, Panda, el Avast!, F-Secure, F-Prot, BitDefender, así como Open Antivirus respecto a las plataformas open source y Segurmática Antivirus en nuestro ámbito local; pero en realidad va mucho más allá de los objetivos de este artículo.

Combinar técnicas heurísticas, métodos preventivos y tecnologías de protección en diferentes áreas, como servidores de correos, estaciones de trabajo, computadoras personales y dispositivos móviles puede ampliar considerablemente las posibilidades de detección.

Para saber más...



Artículos relacionados


No hay comentarios: