Universidad Mariano
Glvez
Seguridad de
Sistemas
Ing. Josu Florin
HEURISTICA
UNIVERSIDAD MARIANO
Contenido
Delimitacin del problema.................................................................................. 2
Alcance de la investigacin................................................................................. 2
Heuristic Process (Summary).............................................................................. 2
Mtodo Heurstico............................................................................................... 3
Estructura basada en Heurstica.........................................................................5
Extensibilidad del modelo a escenarios de alta variabilidad............................6
Desventajas de la Heurstica............................................................................... 8
El Porqu De Los Falsos Positivos.....................................................................8
Porque se dan falsas alarmas y que las provoca?..........................................8
Descargar ejecutables en segundo plano........................................................8
Abrir procesos sin solicitar permiso.................................................................9
Intervenir en otro programa...........................................................................10
Leer texto de otros programas.......................................................................11
Sobrescribir archivos de sistema...................................................................11
Acceder a parte vitales del sistema...............................................................11
Cargarse en reas de memoria reservadas...................................................12
Deteccin Reactiva, Base De Firmas.................................................................12
Heurstica Antivirus, Deteccin Proactiva de Malware......................................13
Deteccin Proactiva, Heurstica Antivirus..........................................................15
Heurstica Antivirus, deteccin proactiva de malware......................................15
Tipos de Heurstica............................................................................................ 16
Precauciones..................................................................................................... 17
Pgina | 1
HEURISTICA
UNIVERSIDAD MARIANO
Alcance de la investigacin
El estudio de Heurstica como mtodo de deteccin y sus diversas
formas de anticiparse a nuevas amenazas, adems la forma en que la
heurstica trata los falsos positivos para no daar informacin valiosa.
Pgina | 2
HEURISTICA
UNIVERSIDAD MARIANO
Mtodo Heurstico
El mtodo heurstico puede tipificarse como la inteligencia artificial incluida en
el anlisis de amenazas que realiza el antivirus, se utiliza para resolver problemas
complejos de seguridad en los dispositivos, esta es una tcnica que parecida a los
mtodos de bsqueda de rboles binarios tradicionales, va ms all, haciendo uso de
complejos procesos para detectar, mitigar y brindar soluciones que beneficien al
usuario. Aumenta la eficiencia de la tcnica de bsqueda empleada por el antivirus,
recordando que procesos extremadamente largos y exhaustivos pueden ocasionar
ralentizacin de deteccin, de la misma forma que la carga de trabajo al sistema
aumenta.
Basada en los conocimientos adquiridos, formulando experiencia para poder
detectar con prontitud un ataque inminente adems de utilizar el sentido comn, la
heurstica funciona a base de reglas que se aplican con el fin de analizar cdigos y
programas que de hacerse manualmente, ocuparan mucho ms tiempo, actualmente
se realizan diversos tipos de anlisis, entre ellos el de firmas, donde se conoce a un
virus por su firma, los virus descubiertos van pasando a ser parte de una base de
datos, y al momento de actualizar su antivirus, pasan automticamente a estar
protegidos contra los virus conocidos y sus familias de virus (variantes).
La heurstica es el mtodo por medio del cual se vale el antivirus para detectar
nuevos virus Qu pasara si no actualizo mi antivirus durante 10 das y mi dispositivo
se infecta con un virus que apareci ayer? Sencillo, la heurstica es pobre, pues no
tiene la capacidad de adelantarse a la deteccin y formulacin en base a mtodos
heursticos que permitan en base a su conocimiento y experiencia, tomar deduccin de
los daos que podra ocasionar el cdigo malicioso, virus o programa al ser ejecutado
en el dispositivo.
Qu es un algoritmo (Bsqueda Algortmica) ?: Modelizacin matemtica de un
comportamiento finito, es decir, que tiene un comienzo y un final. Exploratorio: Mtodo
de observacin y anlisis que permite, posteriormente, la toma de decisiones.
Es un sistema de vigilancia extraordinariamente eficaz contra nuevos virus, pero
su sensibilidad es tal que programas perfectamente legtimos pueden caer bajo su
garra, especialmente si no han sido aadidos a alguna clase de lista blanca interna.
Pgina | 3
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 4
HEURISTICA
UNIVERSIDAD MARIANO
otros ordenadores para poder conocer su firma y aadirla a la lista de virus del
antivirus.
Es por ello que se pens en una manera de poder reconocer nuevos virus sin
necesidad de tener almacenada su firma en la lista del antivirus. Son los denominados
antivirus heursticos. Aunque an se est perfeccionando su funcionamiento los
antivirus heursticos su funcionamiento es el siguiente:
El funcionamiento de la heurstica es sencillo, primero se analiza cada programa
sospechoso sin ejecutar las instrucciones, lo que hace es desensamblar o
"descompilar" el cdigo de mquina para deducir que hara el programa si se
ejecutara. Avisando que el programa tiene instrucciones para hacer algo que es raro en
un programa normal, pero que es comn en un virus.
Sin duda el principal problema de las tcnicas heursticas ha sido los falsos
positivos. A pesar de que se han mejorado mucho en los ltimos aos, siguen sin
conseguir demasiada efectividad (aunque hay algunas excepciones). El problema ms
que en la calidad de la rutina heurstica est en la interpretacin que el usuario realice
de ese aviso heurstico.
El mtodo heurstico es una tecnologa de programacin que, dentro de sus rutinas de
deteccin de especies virales, incluye las cadenas clsicas que son similares o
parecidas a otros virus ya conocidos ya que alguno de los nuevos virus puede tener
una firma similar a uno ya conocido. Esperemos que este mtodo siga dando pasos
para que sea ms efectivo ya que esto har que nuestro ordenador sea un poco ms
seguro.
Pgina | 5
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 6
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 7
HEURISTICA
UNIVERSIDAD MARIANO
amenazas/
Desventajas de la Heurstica
Uno de los principales problemas que tienen los Mtodos Heursticos, es la
incapacidad para decir si la solucin dada es vlida o libre de errores. Otro de los
problemas es el hecho que no se obtiene la solucin ptima, sino una aproximacin de
ella, a veces una mala aproximacin, y se deben idear mtodos de valoracin de
resultados para poder determinar si los mismos son aceptables.
Pgina | 8
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 9
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 10
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 11
HEURISTICA
UNIVERSIDAD MARIANO
as poder tener acceso a los sitios visitados por el propietario, entre muchas ms cosas
que le interesan al dueo del ataque.
Pgina | 12
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 13
HEURISTICA
UNIVERSIDAD MARIANO
considerar que la demora puede oscilar entre las 2 y las 10 horas; aunque existen
casos y excepciones que se escapan de este rango en ambos lmites.
En conclusin, la deteccin por firmas es un mtodo de proteccin reactivo: primero se
debe conocer el malware para que luego sea detectado.
Sin embargo, debido a la alta velocidad de propagacin de nuevos cdigos
maliciosos1, y la gran cantidad de nuevas variantes que aparecen da a da2, este
mtodo se volvi, con el pasar de los aos, lento e insuficiente. De manera similar a lo
que sucede durante las epidemias del campo biolgico, en el caso del malware
tambin existen probabilidades de que se produzca una infeccin antes de que
aparezca la cura para dicha amenaza (la firma).
Un antivirus que utilice slo mtodos reactivos de deteccin estar protegiendo a sus
usuarios slo de aquellos cdigos maliciosos que han sido incorporados a la base de
datos, dejando siempre desprotegido al usuario frente a todas las variantes que sean
desconocidas por el laboratorio del fabricante, o que an no posean una firma.
Pgina | 14
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 15
HEURISTICA
UNIVERSIDAD MARIANO
Tipos de Heurstica
Los algoritmos heursticos, como su pluralidad lo indica, son distintas
metodologas de anlisis proactivo de amenazas. Se definen a continuacin las tres
variantes ms comunes que son utilizadas en este tipo de anlisis:
Heurstica genrica: se analiza cun similar es un objeto a otro, que ya se conoce
como malicioso.
Si un archivo es lo suficientemente similar a un cdigo malicioso previamente
identificado, este ser detectado como una variante de.
Pgina | 16
HEURISTICA
UNIVERSIDAD MARIANO
Heurstica activa: se trata de crear un entorno seguro y ejecutar el cdigo de forma tal
que se pueda conocer cul es el comportamiento del cdigo. Otros nombres para la
misma tcnica son sandbox, virtualizacin o emulacin.
Asimismo, los algoritmos de deteccin proactiva de amenazas contienen instrucciones
que le permiten sortear diversos mecanismos que poseen los cdigos maliciosos para
ocultar su comportamiento, especialmente el empaquetamiento y el cifrado.
Precauciones
Al estar basados los algoritmos heursticos en inteligencia artificial, poseen dos
relativas desventajas, que deben ser eliminadas para hacer su funcionamiento ms
eficiente. En primer lugar, al utilizar algoritmos inteligentes complejos, la carga de
trabajo que posee el antivirus puede ser mayor que cuando se emplea el mtodo
basado en firmas (una simple exploracin en una base de datos). Por lo tanto, es
importante que los algoritmos de deteccin proactiva basados en heurstica estn
optimizados, a fin de que el rendimiento de la solucin sea el mximo posible.
En tal caso, incluso pueden ser ms rpidos que una exploracin por firma a
medida que la base de datos del mtodo reactivo vaya creciendo. El otro factor de
riesgo para los algoritmos de deteccin proactiva est constituido por los falsos
positivos:
archivos que no son cdigos maliciosos, y son detectados como tales. As como
cualquier antivirus trabaja para minimizar los falsos negativos (es decir, amenazas que
no son detectadas), en el caso de la heurstica es necesario minimizar tambin los
falsos positivos.
El motivo de tal calificacin incorrecta resulta comprensible: al trabajar estos
algoritmos con grados de certeza, y anlisis inteligente, puede ocurrir que se haga una
deteccin errnea de un archivo. Con la base de firmas esto ocurre en un nivel muy
bajo.
Pgina | 17
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 18
HEURISTICA
UNIVERSIDAD MARIANO
http://www.lcs-network.com/lcspages/productos/proactiva.php
E-grafas
http://link333r.blogspot.com/2010/06/introduccion-que-hace-un-antivirus.html
http://www.slideshare.net/che_luis/metodo-heuristico
http://web-usable.com/?p=97 http://support.kaspersky.com/sp/6324
https://www.researchgate.net/publication/233954619_analogia_entre_el_
metodo_cientifico_segun_popper_y_el_metodo_heuristico
bunge, mario la investigacin cientfica edicin corregida. ed. ariel
methodos.
klimovsky, gregorio, las desventuras del conocimiento cientfico. ed. az editora.
Richi, Elaine; Knigth, Kevin, Inteligencia Artificial Seg. Edicin. Ed. Mc
Graw Hill.
Chalmers, Alan F. Qu es llamado Ciencia?. Ed. Siglo Veintiuno de
Argentina Editores, 1999.
Gentner, Dedre Structure-Mapping: A theoretical Framework for
Analogy Cognitive Science 155-170 (1983)
Pgina | 19
HEURISTICA
UNIVERSIDAD MARIANO
ANEXOS
PREGUNTAS
1. un antivirus puede detectar nuevos virus sin estar actualizado?
Si, el antivirus posee una funcin llamada heurstica, la cual permite
detectar nuevos virus en base a los ya conocidos.
Pgina | 20
HEURISTICA
UNIVERSIDAD MARIANO
2. Qu es un antivirus en la nube?
Un antivirus online es el que nos permite analizar nuestro pc sin falta de
tenerlo instalado.
3. Cmo se si un dialer o un programa espa est funcionando en mi
pc?
Podemos sospechar cuando nuestro ordenador va ms lento de lo
normal.
4. Qu debo hacer cuando mi antivirus detecte un dialer o un
programa espa?
Debemos elegir la accin que ms nos convenga y luego reiniciar el
ordenador
5. Cmo distingo un hoax (falso virus) de un virus real?
Porque el falso virus no realiza nada perjudicial en el ordenador
6. Qu efectos pueden producir los virus?
Pueden ocasionar varios efectos, entre ellos robo de archivos, borrado
de informacin, interceptacin de claves. Etc.
7. Qu efecto no producen los antivirus?
Daar el hardware del ordenador
8. Cules son los virus ms peligrosos?
Aquellos capaces de eliminar ms informacin
9. Cul es la principal va de entrada de virus?
Internet
10.
Qu debo hacer si recibi un archivo de correo electrnico
sospechoso?
Lo mejor que se puede hacer es eliminar el mensaje
11.
Por qu hay cada vez ms virus e infecciones?
Porque cada vez es ms fcil accesar a la informacin para crear estos, y
porque cada vez hay ms usuarios conectados a la red lo que provoca a
los programadores de virus a crear mejores virus.
Evasin de Antivirus: Por qu vulnerabilidades conocidas y antiguas
siguen siendo peligrosas?
Autor: Artculo cortesa de Antonio Rodrguez (MoebiuZ)
Pgina | 21
HEURISTICA
UNIVERSIDAD MARIANO
Eso, sumado a la falsa seguridad que nos proporciona el software como los antivirus o
firewalls hace que la gran mayora de la gente no preste la atencin que debiera a la
seguridad de sus sistemas (ya no vamos a entrar en el recalcado tema de cmo
escoger una buena contrasea).
Se invierten millones de euros en investigacin de protecciones de seguridad
informtica y existe todo un gran mercado en torno a ello, pero al final del da el mejor
antivirus, y la mejor proteccin que "podra" existir para nuestros ordenadores es el
propio usuario (aunque desgraciadamente, todava siga siendo lo contrario). Muchas
veces me han pedido consejo para escoger un antivirus, o me han preguntado que
antivirus utilizo, y cuando yo contestaba "ninguno" se quedaban un poco sorprendidos.
Si bien hoy en da si utilizo, es verdad que he estado muchsimos aos sin utilizarlos.
A lo que quiero llegar es que fuera del mundillo de la seguridad informtica, se sigue
confiando la seguridad un 100% a programas como los antivirus, la gente se siente
protegida con ellos, lo cual es contraproducente. Pequeas cosas como mantener
actualizados todos nuestros programas, ser cuidadosos con las cosas que descargamos
o controlar que servicios tenemos corriendo en nuestras mquinas en cada momento
quedan relegados a un segundo plano (muchsima gente ni siquiera le da importancia a
no actualizar), aunque no infalible, minimizan mucho los riesgos, convirtiendo un
antivirus en una capa de proteccin ms, y no en la ms importante.
Dicho esto, y despus de asustar un poco a los no iniciados (esa era la intencin),
entremos al lo. De todos es sabido que los antivirus basan casi el 90% de su deteccin
Pgina | 22
HEURISTICA
UNIVERSIDAD MARIANO
Por regla general, un antivirus realiza el anlisis de los archivos tanto cuando se
escriben en disco como cuando son ejecutados, pero no monitoriza toda la ejecucin
del mismo, porque eso requerira de unos recursos de los que una mquina normal hoy
en da no dispone (imaginad que cada vez que se ejecutase un Photoshop u otro
programa intensivo computacionalmente, el AV tuviese que monitorizar en todo
momento todas las operaciones que realiza). Sin embargo existen tcnicas que le
pueden poner las cosas muy difciles a un antivirus, incluso a los anlisis heursticos, y
que slo un anlisis exhaustivo por parte de un humano en un entorno sandbox podra
detectar (algo impensable para la deteccin en tiempo real). Algo de lo que adolecen
los antivirus es que analizan los archivos independientemente, y no como un
conjunto de archivos que forman una pieza de software. Y desgraciadamente deben
hacerlo as para evitar multitud de falsos positivos.
Por ejemplo, en uno de los ltimos exploits Java (CVE-2012-1723), compuesto por
varias clases empaquetadas en un jar, detectaba la firma slo en dos de ellas, donde
se ejecutaban las funciones sospechosas, con lo que separando esas firmas en clases
diferentes se poda anular la deteccin muy fcilmente.
Sin entrar en detalles, este exploit se basa en type confusion, asignando una clase con
funciones que requieren privilegios de sistema a otra clase de distinto tipo que no los
requiere, saltndose el sandbox java de ese modo. El antivirus detectaba el exploit en
la clase que forzaba la confusin (llamemosle confusor), y en un par de lneas de
cdigo de otra clase, donde se creaba la instancia del confusor (probablemente para
detectar variantes del exploit donde el confusor fuese diferente).
No fue necesario utilizar ningn tipo de ofuscacin de clases sobre el exploit: Para el
confusor bast con cambiar un bucle for de 100 iteraciones por 110 para que el
antivirus ya no lo marcase como peligroso.
En cuanto a la clase donde se creaba la instancia de forma reflectiva, el AV lo
detectaba cuando estas dos lneas aparecan juntas en el mismo archivo, pero
separandolas de una manera extremadamente trivial, neutralizamos totalmente lo que
el AV daba por sentado como malicioso:
Pgina | 23
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 24
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 25
HEURISTICA
UNIVERSIDAD MARIANO
Como se puede apreciar, hemos convertido los binarios en cadenas de texto (los
he truncado por legibilidad), los hemos almacenado en variables (separados en dos
mitades), y los recodificamos a binario antes de escribirlos a disco, consiguiendo que el
AV no los detecte al analizar el paquete Java. Con eso ya estamos separando el payload
del propio exploit (recordad, separacin es la clave), pero tendremos que conseguir que
el payload sea tambin indetectable. Para ello vamos a utilizar varios trucos. En primer
lugar, cogeremos nuestra shellcode y la partiremos en 2 mitades (una vez ms). Con
eso ya sera suficiente, pero para este ejemplo, adems, he creado un sencillo
"encoder" que hace rotaciones de bits en cada byte de la shellcode y luego los invierte,
con la intencin de camuflarla un poco. As que ya tenemos dos mitades de nuestro
meterpreter, previamente scrambled con el miniencoder.
Pgina | 26
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 27
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 28
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 29
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 30
HEURISTICA
UNIVERSIDAD MARIANO
VirtualProtectEx, as como otras que permiten API hooking, es una de las funciones ms
vigiladas por un antivirus dado que abre las puertas a escribir en memoria en tiempo
de ejecucin, pero como hemos dicho antes, solo estamos escribiendo media
shellcode, y es por esa razn por la que no saltar la alarma, y es a lo que me refera
con que un antivirus escanea archivos independientes, y no como un conjunto.
Tambin habris notado que utilizo sleeps para pausar la ejecucin. Es solo una
sospecha personal infundada, pero, aunque retrasa la ejecucin del payload creo que
algunos antivirus (especialmente los que quieren vendernos que casi no comen
recursos al ordenador) dejan de analizar si el proceso que monitorizan es lento,
especialmente si es un bucle, para ahorrar recursos y no interferir en la experiencia del
usuario. Y tambin para tratar de que el AV no relacione una funcin con la anterior,
aunque supongo que eso ya es un raciocinio humano que no se aplica a una mquina ;)
Para la segunda DLL, solo tenemos que cambiar la segunda mitad de la shellcode y el
offset para continuar escribiendo en la posicin donde termin la primer mitad. Algo
que podramos hacer para enrrevesarlo an ms (aunque para no complicarlo
demasiado no lo hemos hecho aqu), sera empezar escribiendo la segunda parte de la
shellcode, y luego la primera (simplemente invirtiendo el orden en el que hacemos el
LoadLibrary), con lo cual nos curamos en salud ante un posible anlisis secuencial de lo
que estamos escribiendo en memoria. Ya para terminar, vamos a aadir una capa ms
de separacin, utilizando un ejecutable (spawner.exe) , el cual es el verdadero
Pgina | 31
HEURISTICA
UNIVERSIDAD MARIANO
ejecutado por nuestro exploit java y que ser el encargado de lanzar el payload (Nota:
he hecho esto porque a da de escribir el cdigo, el reverse https terminaba el proceso
al cabo de unos minutos si no se estableca una conexin):
Este pequeo programa tambin es inofensivo a los ojos del AV, y lo nico que
hace es monitorizar si existe el proceso de nuestro payload, y si no es as, lo relanza.
Adems, como hemos creado una entrada en el auto run del registro (lo cual podra
resultar sospechoso para el AV), siempre es mejor que el "sospechoso" sea este
nuestro spawner inofensivo, y no el que carga las libreras del payload.
Resumiendo:
Pgina | 32
HEURISTICA
UNIVERSIDAD MARIANO
Pgina | 33
HEURISTICA
UNIVERSIDAD MARIANO
Implementacin de COBIT
Objetivos del Negocio
Resolver problemas complejos de seguridad en los dispositivos informticos.
Realizar un anlisis de virus de forma inteligente
Detectar nuevos virus informticos
Objetivos de Control
Descubrir nuevos virus
Idear y proponer soluciones ante los nuevos virus
Visualizar los virus y proyectarlos al usuario
Sistematizar la solucin a un virus y hacerla posible.
Procesos
Mtodo de bsqueda Heurstica
Deteccin de nuevas Amenazas
Deteccin Proactiva
Proteccin para el usuario
Objetivos de Control de TI
Proteger la informacin valiosa de la empresa
Disponibilidad de la informacin cuando se requiera
Administrar los roles de usuarios
Proteccin ante invasiones al sistema.
Plan de Negocio
El plan de la heurstica es sencillo, primero se analiza cada programa
sospechoso sin ejecutar las instrucciones, lo que hace es desensamblar o
"descompilar" el cdigo de mquina para deducir que hara el programa si se
ejecutara. Avisando que el programa tiene instrucciones para hacer algo que es
raro en un programa normal, pero que es comn en un virus.
Pgina | 34
HEURISTICA
UNIVERSIDAD MARIANO
Identificacin de Procesos
APO12 Administrar los riesgos
APO13 Administrar la seguridad
APO07 Administrar el recurso Humano
DSS01 Administrar las Solicitudes de Servicios y los incidentes
Dss05 Administrar los servicios de seguridad
HEURISTICA
UNIVERSIDAD MARIANO
utilizados para valorar efectivamente los procesos del Mtodo Heurstico y los
acuerdos universitarios como un todo. Estos ayudarn en la identificacin de
procesos y procedimientos (prcticas y actividades) o de otros aspectos que
requieren atencin para mejorar su desempeo.
Pgina | 36
HEURISTICA
UNIVERSIDAD MARIANO
9. Auditora interna
Muchas veces las personas no son conscientes de que estn haciendo algo mal
(por otro lado, a veces s lo saben pero no quieren que nadie lo descubra). Pero
no ser consciente de los problemas existentes o potenciales puede daar el
proyecto, por lo tanto se harn revisiones constantes de parte de los
compaeros de grupo para el proyecto.
10. Revisin por parte de la direccin
Revisin por parte del catedrtico de Seguridad de Sistemas
Pgina | 37