Anda di halaman 1dari 38

Heurstica en los Antivirus

Universidad Mariano
Glvez
Seguridad de
Sistemas
Ing. Josu Florin

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Evaluacin de la Deteccin Heurstica..............................................................18


E-grafas............................................................................................................ 19
ANEXOS:............................................................................................................ 21
PREGUNTAS.................................................................................................... 21
Evasin de Antivirus: Por qu vulnerabilidades conocidas y antiguas siguen
siendo peligrosas?......................................................................................... 22

Delimitacin del problema


A diario se crean miles de virus nuevos, por lo tanto, una prueba
de exigencia al mtodo heurstico, podra ser detectar virus nuevos en
un periodo de tiempo mximo de diez das sin actualizar.
Se estudiar el mtodo heurstico a profundidad y se tocar
superficialmente otros temas (bots, familias de virus, gusanos, troyanos)
y todas las amenazas en general sin entrar en definicin.

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.

Heuristic Process (Summary)


The heuristic is a characteristic feature of humans, from whose point of view can be
described as
the art and science of discovery and invention or to solve problems through creativity
and lateral thinking or divergent thinking. Heuristics are ways of working and thinking
that support the conscious realization of demanding mental activities. Heuristic
procedures as "Method" can be divided into principles, rules and strategies. Heuristic
principles: they are suggestions to find (directly) the idea of solution; possible to
determine
therefore
at
a
time,
media
and
solution
route.
Heuristic rules: act as general impulses within the search process and help to find,
especially, the means to solve problems. Heuristic rules most used are:
Separate the givens of the sought.
Draw up analysis figures: diagrams, tables, maps, etc.
Restate the problem.

Pgina | 2

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Heuristics Strategies: behave as organizational resources for the resolution


process, which especially help determine the way to solve the problem addressed.
There are two strategies: The work forward: it is part of what is given for the
reflections that have lead to the solution of the problem. Work backwards: first
examines is what is sought and, based on the knowledge we have, possible
intermediate results of what can be deduced I sought to reach the dice are analyzed.
Specific Heuristics are related to a particular area of knowledge, it uses a type of
strategies, language, procedure, etc. These processes help us reach a solution, do
plannings, sometimes making use of empirical knowledge, they can also be mental
operations. It is a method of learning and helps us make decisions.

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

La capacidad heurstica es un rasgo caracterstico de los humanos, desde cuyo punto


de vista puede describirse como el arte y la ciencia del descubrimiento y de la
invencin o de resolver problemas mediante la creatividad y el pensamiento lateral o
pensamiento divergente.
Los Procedimientos Heursticos son formas de trabajo y de pensamiento que
apoyan la realizacin consciente de actividades mentales exigentes. Los
Procedimientos Heursticos como Mtodo pueden dividirse en principios, reglas y
estrategias. Principios Heursticos: constituyen sugerencias para encontrar
(directamente) la idea de solucin; posibilita determinar, por tanto, a la vez, los medios
y la va de solucin.
Reglas Heursticas: actan como impulsos generales dentro del proceso de bsqueda y
ayudan a encontrar, especialmente, los medios para resolver los problemas. Las Reglas
Heursticas que ms se emplean son:

Separar lo dado de lo buscado.


Confeccionar figuras de anlisis: esquemas, tablas, mapas, etc.
Reformular el problema.

Estrategias Heursticas: se comportan como recursos organizativos del proceso de


resolucin, que contribuyen especialmente a determinar la va de solucin del
problema abordado. Existen dos estrategias:
El trabajo hacia adelante: se parte de lo dado para realizar las reflexiones que han de
conducir a la solucin del problema.
El trabajo hacia atrs: se examina primeramente lo que se busca y, apoyndose de los
conocimientos que se tienen, se analizan posibles resultados intermedios de lo que se
puede deducir lo buscado, hasta llegar a los dados.

Fuente de Imagen: http://haitiscure.disegnolibre.org/


Un antivirus es una herramienta cuya funcin es la de detectar y eliminar virus
informticos. El funcionamiento normal de un antivirus se basa en tener una lista de
virus conocidos y sus formas de reconocerlos (firmas).
El antivirus se encarga de analizar los archivos almacenados en el ordenador y
comprobar si siguen el patrn de alguno de los virus conocidos. Pero este modo de
reconocerlos tiene un pequeo problema, es necesario que el virus haya infectados

Pgina | 4

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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.

Fuente de Imagen: Jorge Humberto Monterroso Felipe

Estructura basada en Heurstica

Pgina | 5

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

El termino general implica funcionalidades como deteccin a travs de firmas


genricas, reconocimiento de cdigo compilado, desensamblado, desempaquetado
entre otros, su importancia radica en el hecho de ser la nica defensa posible frente a
la aparicin de nuevos cdigos maliciosos de los cuales no se posean firmas. Aqu se
renen los componentes que hacen posible que el anlisis heurstico se lleve a cabo,
entre ellos los procedimientos adquiridos en base al conocimiento y haciendo uso de
algoritmos conocidos organizados en forma escalable que son utilizados para cada tipo
de problema de forma ordenada. Muchas de las incidencias no pueden ser resueltas
por mtodos comunes, tanto para la deteccin y su evidente eliminacin utilizando los
mtodos tradicionales de bsqueda ya que suelen ser muy complejos.
La heurstica suelen ser bsquedas que se basan como dijimos anteriormente,
en algoritmos conocidos que establecen una serie de pasos para ejecutarse en caso de
que sea un problema conocido o cercano a lo conocido, en la heurstica se busca un
anlisis rpido mediante un escaneo profundo que se enfoca principalmente en las
cabeceras de inicio y fin de los archivos inspeccionados, debido que es all donde
suelen alojarse los cdigos maliciosos conocidos, permitiendo encontrar soluciones a
los mismos en tiempos asequibles y razonables, la eficiencia de esta tcnica radica en
gran medida de los datos que se tengan del problema.
La Heurstica es un aspecto muy difcil de probar en los productos antivirus,
dado que se requiere realizar las denominadas evaluaciones retrospectivas. Para poder
analizar correctamente el funcionamiento de las capacidades heursticas o proactivas
de un antivirus, lo que se hace es detener la actualizacin de firmas del producto
durante un perodo de tiempo dado.

La mejor heurstica, la ms ptima


Por definicin, un algoritmo heurstico es aquel que, sin poder obtener certeza
de un evento, se pretende aproximar lo mximo a la realidad. Parece por tanto
adecuado deducir que el mejor algoritmo heurstico ser aquel que, para una actividad
determinada, se aproxime ms al comportamiento real de los sucesos sometidos a
exploracin. Los factores de mejora bsicos de la optimizacin son los siguientes:

Inversin mnima de recursos computacionales


Uno de los problemas ms frecuentes a la hora de aplicar una buena
heurstica es el consumo de los recursos, generalmente realizar escaneos
profundos, revisin de archivos, deteccin de amenazas, aplicacin de
vacunas, etc. Suele consumir gran cantidad de recursos, es por ello que el
antivirus debe maximizar el rendimiento y ofrecer soluciones viables, sin
sacrificar los recursos computacionales, hblese de memoria RAM, CPU etc. Es
por ello que se basa la bsqueda heurstica en patrones de comportamiento y
en el examen no tan minucioso de cabeceras y colas de archivo, para as evitar
el retardo y consumo, por ejemplo, al leer un documento plano de 1200
pginas.

Minimizacin de falsos positivos y fallidos verdaderos


El antivirus tiene la ardua tarea de mitigar las amenazas reales y tambin las no
reales, que quiero decir con esto, que muchos de los archivos legtimos pueden ser

Pgina | 6

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

tomados como sospechosos si los algoritmos usados para descubrir amenazas en


nuestros dispositivos a travs de la heurstica, esta seteada a un nivel de sensibilidad
muy alto, es muy probable que la cantidad de detecciones falsas aumenten. Esto
generalmente suele provocar malestar al usuario, sino que adems de ello, por una
elevada deteccin tambin pueden caer en combate programas legtimos y quedar por
ello inutilizables.

Extensibilidad del modelo a escenarios de alta variabilidad


Esto es lo que hace que una solucin antivirus heurstica pase de ser mediocre a
buena. La capacidad de aproximacin a la realidad y la multivarianza de los factores de
amenaza. Un motor antivirus heurstico que califique todas las muestras como
sospechosas es un motor heurstico, pero no es ptimo. Tampoco lo es el que comete
demasiadas falsas identificaciones, ni tampoco lo es el que no termina de estar seguro
y deja pasar como vlidas muestras que no lo son.
La popularizacin del concepto se debe al matemtico George Polya, con su
libro Cmo resolverlo (How to solve it). El libro contiene la clase de recetas heursticas
que trataba de ensear a los estudiantes, por ejemplo:
*Si no consigues entender un problema, dibuja un esquema.
*Si no encuentras la solucin, haz como si ya la tuvieras y mira a ver qu
puedes deducir de ella (razonando hacia atrs).
*Si el problema es abstracto, prueba examinar un ejemplo concreto.
*Intenta abordar primero un problema ms general (paradoja del inventor: el
propsito ms ambicioso es el que tiene ms posibilidades de xito).
En Historia, en investigaciones policacas, etc., se usan especulaciones para
descubrir el pasado: se usa el truco heurstico del tipo ideal y se comprueba si la
hiptesis encaja en los hechos ciertos conocidos.
Cuando no existe un mtodo exacto de resolucin o ste requiere mucho tiempo
de clculo o memoria. Ofrecer entonces una solucin que sea slo aceptablemente
buena resulta de inters frente a la alternativa de no tener ninguna solucin en
absoluto. Cuando no se necesita la solucin ptima. Si los valores que adquiere la
funcin objetivo son relativamente pequeos, puede no merecer la pena esforzarse
(con el consiguiente coste de energa, tiempo y dinero) en hallar una solucin ptima
que, por otra parte, no representar un beneficio importante respecto a una que sea
simplemente sub-ptima. otra parte, no representar un beneficio importante respecto
a una que sea simplemente sub-ptima.
Cuando los datos son poco fiables. En este caso, o bien cuando el modelo es
una simplificacin de la realidad, puede carecer de inters buscar una solucin exacta,
dado que de por s sta no ser ms que una aproximacin de la real, al basarse en
datos que no son los reales. Cuando limitaciones de tiempo, espacio (para
almacenamiento de datos), etc., obliguen al empleo de mtodos de rpida respuesta
aun a costa de la precisin. Como paso intermedio en la aplicacin de otro algoritmo. A
veces son usadas soluciones heursticas como punto de partida de algoritmos exactos
de tipo iterativo).
En otras palabras, la heurstica no consiste en la bsqueda de una solucin
exacta. Por lo dems la idea de respuestas y soluciones exactas, tanto como la de
medidas e indicadores exactos no se aplica ya en el estudio de los problemas llamados
reales en el mundo una vez que se considera su carcter complejo en el sentido
preciso de las ciencias de la complejidad; es decir, rasgos como no-linealidad, sorpresa
y emergencia, criticalidad auto organizada y otros semejantes.

Pgina | 7

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Exactamente en este sentido, el trabajo con la heurstica est marcado por


incertidumbre, sinergia, no-linealidad. Es importante observar que una ventaja
considerable que presentan las heursticas respecto a las tcnicas que buscan
soluciones exactas es que, por lo general, permiten una mayor flexibilidad para el
manejo de las caractersticas del problema. As, el tema que surge ante la mirada
reflexiva es el de las correspondencias entre flexibilidad y robustez.

Fuente de Imagen: Jorge Humberto Monterroso Felipe

Fuente de Imagen: https://www.google.com.gt/search?


q=estadistica+de+deteccion+heuristica+antivirus&num=
Fuente de Imagen:http://www.welivesecurity.com/la-es/2013/03/18/heuristica-antivirus-deteccion-proactiva-

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Pero, asimismo, la solucin brindada es la mejor hasta el momento. Los


errores que se obtienen utilizando estos mtodos no son accidentales, sino
sistemticos e inherentes en el planteo de la solucin.

El Porqu De Los Falsos Positivos


El propsito de todo antivirus es mantener a salvo nuestros datos, una labor en
la que demuestran una gran solvencia. En su afn por bloquear nuevas amenazas, sin
embargo, pueden errar gravemente el tiro. Son los llamados falsos positivos, avisos
provocados por una excesiva suspicacia de los algoritmos de deteccin de malware.

Porque se dan falsas alarmas y que las provoca?


Tradicionalmente, los antivirus detectaban el malware comparando los archivos
con una base de datos de huellas -base de firmas- que era enriquecida a mano por los
laboratorios. La deteccin basada en firmas sigue usndose, pero ha demostrado ser
ineficaz frente a nuevas amenazas y virus que cambian su cdigo sin parar.
Es por ello que casi todos los antivirus aaden una capa de proteccin ms, la
heurstica, capaz de detectar comportamientos sospechosos en cualquier programa o
virus nada ms ejecutarse en el sistema. Algunas conductas detectadas como
sospechosas son, por ejemplo, las siguientes:

Descargar ejecutables en segundo plano


Ms conocido como descargas de archivos ocultos, que a posteriori se instalan
en el dispositivo ocasionando intromisiones o robo de informacin de el o los
dispositivos infectados sin que el usuario pueda percatarse de la presencia de los
mismos, estos a su vez llevan implicados en su software, puertas traseras, troyanos, y
una gran variedad de amenazas.

Pgina | 9

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Ejecucin de servicios en Windows 7


Fuente de Imagen: Jorge Humberto Monterroso Felipe

Abrir procesos sin solicitar permiso


Un archivo legtimo, a la hora de instalarse o de ejecutarse solicita autorizacin
del administrador para poder llevar a cabo sus actividades en memoria, un programa
sospechoso, mediante el uso de fuerza bruta, evita a toda costa que el usuario pueda
percatarse de su ejecucin.

Pgina | 10

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Ejecucin de procesos en Android,


Fuente de Imagen: Jorge Humberto Monterroso Felipe

Intervenir en otro programa


En la mayora de veces los programas maliciosos no solo afectan el desempeo
del dispositivo atacado, si no que generalmente tambin perjudican el funcionamiento
de otros programas, o algo peor que eso, la funcin primordial no suele ser perjudicar
el dispositivo si no atacar los datos que contienen ciertas aplicaciones, entre ellas
podramos mencionar el gestor de archivos, WhatsApp, leer el historial de navegacin y

Pgina | 11

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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.

Leer texto de otros programas


Muchas de las amenazas que ingresan a los dispositivos objetivos, es con el fin
de descubrir contraseas de sitios visitados o de archivos que contienen informacin
importante, para ello se valen de keyloguers o de irrumpir en la base de datos de los
programas legtimos para lograr robar la informacin que estos poseen de los usuarios,
a pesar de los esfuerzos de los programas legales por mantenerse a salvo, siempre hay
ms de alguno que se las ingenia para irrumpir en dicho repositorio de informacin,
afectando severamente al usuario al develar las contraseas.

Sobrescribir archivos de sistema


Muchos de los archivos o programas maliciosos que ingresan al sistema, muchas
veces su objetivo es mucho ms sofisticado, sobrescribir archivos de sistema con fines
distintos, esto hace que el sistema se comporte de forma anmala, que realice
acciones contrarias a las normales o que conceda permisos de supe usuario a quien no
lo tiene mediante archivos de configuracin en los sistemas operativos.

Acceder a parte vitales del sistema


Se refiere a intrusiones al sistema dirigidos a perjudicar partes especficas que
puedan ocasionar el dao permanente al sistema operativo, provocando que el mismo
deje de funcionar temporalmente y en algunos casos definitivamente.

Fuente de Imagen: Jorge Humberto Monterroso Felipe

Cargarse en reas de memoria reservadas


Todos los sistemas operativos al momento de instalarse, mantienen en el pc
reas de memoria reservadas para el sistema, adems de no escribir datos en ciertas
reas de memoria destinadas a cargar archivos pre configurados para el
funcionamiento del hardware, como lo puede ser el mb reservado para cargar en
memoria flash el inicio del BIOS, la tarjeta de video etc.

Deteccin Reactiva, Base De Firmas


Desde sus orgenes los antivirus cuentan con un mtodo de deteccin basado en firmas
(tambin llamadas vacunas). Esta emplea una base de datos generada por el
fabricante que permite determinar al software si un archivo es o no una amenaza.
El sistema es sencillo: se coteja cada archivo a analizar con la base de datos y, si existe
coincidencia (es decir, existe en la base una firma que se corresponde con el archivo),
se identifica el archivo como cdigo malicioso.
El proceso de generacin de firmas se compone de los siguientes pasos:
1. Aparece un nuevo cdigo malicioso

Pgina | 12

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

2. El laboratorio de la empresa antivirus recibe una muestra de ese cdigo


3. Se crea la firma para el nuevo cdigo malicioso
4. El usuario actualiza el producto con la nueva base de firmas y comienza a detectar el
malware
Recin a partir del ltimo paso, el sistema estar protegido contra esta amenaza. Aqu
radica la importancia de tener actualizado el antivirus: si la firma ya ha sido creada por
el fabricante, pero no ha sido descargada en el sistema del usuario, el mismo no estar
protegido contra esa amenaza en particular.

Fuente de Imagen: http://link333r.blogspot.com/2010/06/introduccion-que-hace-unantivirus.html

Heurstica Antivirus, Deteccin Proactiva de Malware


Adems de la necesidad de mantener actualizada la base de datos, este mtodo posee
otras dos
desventajas:
El programa no puede detectar malware que no se encuentre en la base de datos
El sistema debe contar con una firma por cada variante de un mismo cdigo malicioso
La demora necesaria para generar una firma es variable, y depende del tiempo
que tarde el malware en ser descubierto por el laboratorio, de las caractersticas del
cdigo malicioso y de la dificultad para generar la firma. De una u otra forma, se puede

Pgina | 13

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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.

Fuente de Imagen: http://articulos.softonic.com/busquedas-con-mucho-peligro-comodefenderse

Pgina | 14

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Deteccin Proactiva, Heurstica Antivirus


Para dar solucin a esta problemtica aparecen los mtodos de deteccin
proactivos basados en heurstica, como complemento de la deteccin basada en
firmas. Esto quiere decir que la deteccin proactiva es un agregado a la deteccin por
firmas y para una ptima proteccin son necesarios ambos mtodos, tal como trabajan
las soluciones antimalware en la actualidad.
1 Gusanos como Slammer han infectado miles de equipos en su primera hora de vida.
2 Durante 2009, las compaas antivirus intercambiaron ms de 2.500.000 muestras
de malware
El objetivo esencial de los algoritmos heursticos es dar respuestas en aquellas
situaciones en donde los mtodos reactivos no pueden darla: la capacidad de detectar
un archivo malicioso, aunque una muestra de ste no haya llegado al laboratorio
antivirus, y que an no se posea la firma correspondiente.
La etimologa de la palabra heurstica proviene del griego heursko, uno de cuyos
significados es encontrar3.
La Real Academia Espaola la define como tcnica de la indagacin y del
descubrimiento4. Tambin otorga una segunda definicin: En algunas ciencias,
manera de buscar la solucin de un problema mediante mtodos no rigurosos, como
por tanteo, reglas empricas, etc..
Esta ltima definicin es la que mejor se aplica a la utilizacin de heurstica en
tecnologas antivirus.
Por lo general la programacin heurstica es considerada como una de las aplicaciones
de la inteligencia artificial y como herramienta para la resolucin de problemas. Tal
como es utilizada en sistemas expertos, la heurstica se construye bajo reglas extradas
de la experiencia, y las respuestas generadas por tal sistema mejoran en la medida en
que aprende a travs del uso y aumenta su base de conocimiento.
La heurstica siempre es aplicada cuando no puedan satisfacerse demandas de
completitud que permitan obtener una solucin por mtodos ms especficos (por
ejemplo, la creacin de una firma para un malware determinado).

Heurstica Antivirus, deteccin proactiva de malware


Existen diferentes mtodos heursticos (ver seccin siguiente) que utilizan
distintas reglas para determinar si un archivo es o no un cdigo malicioso. Asimismo,
un algoritmo de este tipo posee diferentes niveles de rigurosidad para determinar si un
archivo es o no daino. A mayor rigurosidad, mayor es la probabilidad de que se
cometa un error en la deteccin, as como tambin mayor es la carga de
procesamiento al momento del anlisis (ver seccin Precauciones).
Mientras que la identificacin de una amenaza realizada por medio de una
deteccin reactiva basada en firmas posee la previa legitimacin de una persona del

Pgina | 15

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

laboratorio, la deteccin proactiva a travs de mtodos heursticos no incluye la


intervencin humana, y en la deteccin posee un suficiente grado de certeza al
respecto como para afirmar que un archivo es una amenaza. A pesar de esta aparente
desventaja, los algoritmos heursticos ofrecen proteccin donde la exploracin por
firmas no puede darla.
Aunque la deteccin proactiva no depende de la actualizacin de la base de firmas, s
debe mantenerse actualizado el programa antivirus, a fin de contar con los ltimos
algoritmos de deteccin heurstica.

Fuente de Imagen: http://www.essweb.com.ar/eset-antivirus.html

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Heurstica pasiva: ese explora el archivo tratando de determinar qu es lo que el


programa intentar hacer. Si se observan acciones sospechosas, ste se detecta como
malicioso.

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Evaluacin de la Deteccin Heurstica


As como las capacidades de una solucin antivirus respecto a sus bases de
firmas son evaluadas por diversas entidades certificadoras, las capacidades de
deteccin proactivas tambin son sometidas a diversas evaluaciones para medir sus
rendimientos.
Para medir las capacidades de deteccin proactivas, se utiliza como metodologa la
deshabilitacin de actualizaciones de la base de firmas, y se evala una serie de
cdigos maliciosos para verificar si estos pueden ser detectados slo por los algoritmos
heursticos.
Entre las entidades certificadoras, Av-Comparatives5 es la que mayor experiencia y
prestigio posee en lo que respecta a evaluaciones de este tipo. Av-Test6 tambin posee
este tipo de certificaciones y Virus Bulletin7 comenzar a realizarlas durante el ao
2010. heurstica, un paso adelante Desde la aparicin de los primeros virus
informticos se ha descubierto una gran variedad de cdigos maliciosos, cada vez en
mayor cantidad y calidad (nuevos alcances y nuevas metodologas). En un principio la
tecnologa de deteccin de cdigos maliciosos ha sido principalmente reactiva. Sin
embargo, la evolucin del desarrollo de malware hace imperiosa la necesidad de contar
con soluciones antivirus con capacidades proactivas de deteccin.
La heurstica antivirus permite disminuir la cantidad de infecciones en sistemas y
redes, detectando malware nuevo (en la ventana de tiempo existente para liberar
una firma) como as tambin variantes desconocidas por el fabricante. Un antivirus
debe contar con los mtodos reactivos combinados con la heurstica antivirus, que a su
vez debe proporcionar buenos ndices de rendimiento y una baja tasa de falsos
positivos.
La combinacin de todas estas variantes permitir al usuario confiar en una solucin
efectiva para las necesidades actuales en materia de proteccin contra malware.
Mientras que en los mtodos reactivos el antivirus va un paso detrs de las amenazas,
creando la firma luego de su descubrimiento, la heurstica pretende situarse un paso

Pgina | 18

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

por delante de los desarrolladores de malware. Este es el desafo al mantener


algoritmos de deteccin proactivas: poder adelantarse a los creadores de cdigos
maliciosos, que estn en constante movimiento y evolucin.

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

analoga entre el mtodo cientfico segn popper y el mtodo heurstico


http://www.sahw.com/wp/archivos/2006/07/03/asi-funciona-unaheuristica-antivirus-primera-parte/
http://inteciencia.wordpress.com/2013/01/22/que-es-el-metodoheuristico/
http://elprofetiraondas.wordpress.com/2011/10/01/el-metodo-heuristico/
http://es.wikipedia.org/wiki/George_P%C3%B3lya
http://es.wikipedia.org/wiki/Heur%C3%ADstica
http://es.wikipedia.org/wiki/Heur%C3%ADstica_(inform%C3%A1tica)
http://arquepoetica.azc.uam.mx/escritos/heuristica.html
http://cala.unex.es/cala/epistemowikia/index.php?title=Heur
%C3%ADstica
http://www.taringa.net/posts/info/2379078/Que-es-la-Heuristica.html
http://www.securitybydefault.com/2013/01/evasion-de-antivirus-porque.html
http://www.essweb.com.ar/eset-antivirus.html
http://www.pandasecurity.com/spain/mediacenter/notas-de-prensa/
http://articulos.softonic.com/busquedas-con-mucho-peligro-comodefenderse

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Etiquetas: antivirus , concienciacion , evasion ,


exploits , malware
Antes de entrar en la parte tcnica y llegar a la programacin, donde seguramente
muchos lectores dejen de leer, quiero hacer una pequea introduccin para todos los
pblicos.
En este artculo voy a escribir un poco sobre lo fcil que es burlar la proteccin de un
antivirus sin tener que recurrir a tcnicas complejas y algoritmos "vanguardistas" como
encoders, polimorfismos, metamorfismos y dems ingenios, que muchas veces nos
llevan a la falsa creencia de que un posible intruso o creador de malware debe ser un
genio de los ordenadores, y como hay pocos genios es difcil que nos toque. De hecho,
un gran porcentaje de incidentes de seguridad se produce aprovechando
vulnerabilidades o malware antiguos, que a priori todo antivirus detectara fcilmente
de no haber sido modificados.

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

en la bsqueda de signatures, partes de cdigo reconocibles como maliciosas o


sospechosas se que van actualizando en sus bases de datos de firmas segn se
descubren nuevos virus o exploits.
Para camuflar este tipo de firmas en malware, una de las cosas que ms se estn
utilizando son encoders de todo tipo, que manipulan ese cdigo detectable
convirtiendolo en otro diferente que hace la misma funcin, pero a la larga esos
encoders se vuelven inefectivos porque siguen un patrn que puede detectarse con
anlisis heurstico. Incluso el famoso y polimrfico shikata ga nai es inefectivo hoy en
da, por muchos pases que se apliquen.

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Como se puede apreciar, realizando pequeas modificaciones al cdigo, y


sobretodo separando las partes del cdigo sospechosas en diferentes lugares es muy
sencillo desaparecer de la lista de firmas del AV. De este modo y con un poco de
creatividad podramos ocultar incluso ROP chains, heap sprays..., pilares de muchos
exploits modernos.
Para continuar, y ya que hemos utilizado el exploit java para demostrar cmo
evadir el antivirus durante la fase de explotacin, vamos a ver como ocultar tambin
un payload, ya que las shellcode ms comunes suelen ser detectadas per se como
firmas.
Hemos modificado el cdigo del exploit de java para evitar el antivirus, pero en
cuanto aadisemos a la ecuacin nuestra shellcode (por ejemplo un meterpreter https
reverso), volvera a ser detectado. Dado que el exploits en java no nos limita en
tamao a la hora de weaponizarlo con un payload, y como ya nos hemos saltado el
sandbox java, por qu ejecutar la shellcode directamente desde el exploit, cuando
podemos volcar un ejecutable a disco y lanzar la shellcode desde all? Podra parecer
una estupidez hacer una escritura a disco dando al AV una oportunidad extra de
anlisis, pero como veremos ms adelante evitar la deteccin de la explotacin
asumiendo ese riesgo tiene sus ventajas si nos encargamos de ocultarlo bien en la fase
post-exploit, donde contamos con ms flexibilidad para hacerlo.

Pgina | 24

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Pgina | 25

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Si slo utilizramos el encoders sobre la shellcode entera, el antivirus podra


reconocerla con algo de heurstica, pero de este modo, aunque aplique la heurstica a
cada mitad, no se encontrar con la shellcode completa, con lo que no la reconocer
como firma. Podramos crear un sencillo ejecutable que lanzase esa shellcode, pero
aqu vamos a utilizar otro truco para engaar an ms. Crearemos un ejecutable
normal (payload.exe), con una funcin trivial que no hara saltar jams al antivirus,
porque no realiza ninguna accin sospechosa, pero utilizaremos unas libreras
dinmicas para sobrescribir esa funcin trivial con nuestra shellcode en tiempo de
ejecucin, y ya en memoria:

Pgina | 27

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Debemos configurar el compilador para que no utilice el NX/XD (DEP) ni base


dinmica (ASLR), de este modo la direccin de memoria que sobrescribiremos en
nuestro programa no variar en cada ejecucin, ni la memoria estar desorganizada
por el ASLR, lo cual sera un problema para escribir secuencialmente. Como veis, y para
esta demostracin, la funcin inofensiva() est compuesta por una serie de NOPs (o
cualquier otra cosa), para hacerla ms fcil de encontrar en nuestro debugger, y debe
tener el tamao suficiente para albergar nuestra shellcode una vez la sobrescribamos.
Lo ejecutamos en el debugger para localizar la direccin donde comienza dicha
funcin:

Pgina | 28

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Dado que en este caso el programa comienza a ejecutarse en 400000, nuestro


offset para comenzar a sobrescribir ser 53F0, que es el punto de entrada de la
funcin. Un anlisis por parte del antivirus sobre el ejecutable no revelara nada ya que
el cdigo de la shellcode no sobrescribe la funcin inofensiva() hasta que cargamos las
libreras. Como hemos partido la shellcode en 2 mitades, crearemos dos DLL
(shellcode1.dat y shellcode2.dat), una con cada mitad (una vez ms, separacin),
de este modo el AV aunque analice cada DLL en disco, no encontrar nada.

Pgina | 29

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

Pgina | 30

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

En MY_OFFSET establecemos la posicin de memoria en tiempo de ejecucin donde


debe empezar a sobreescribir. Decodificamos nuestra media shellcode anteriormente
revuelta, y la escribimos donde estaba la funcin inofensiva().

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

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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:

Hemos lanzado nuestro exploit en java, ya modificado, con lo cual el antivirus


no lo ha detectado.

El exploit ha volcado 4 archivos al directorio temporal de Windows. El AV los


analiza en el momento en que se escriben a disco. Dos de ellos son ejecutables
inofensivos, con lo cual no los detecta. Los otros dos son las libreras donde est
la shellcode, pero son dos archivos independientes, el AV tampoco detectar
una shellcode completa.

Se ejecuta nuestro lanzador inofensivo, el AV no lo detecta en la ejecucin. Se


ejecuta el payload lanzado, y el AV analiza qu trata de hacer (una funcin
inofensiva), tambin analiza las DLL al cargarlas (pero cada una realiza la
sobreeescritura por separado, tampoco las detecta). Llegado ese punto la

Pgina | 32

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

shellcode ya est reemplazando la funcin inofensiva(), pero el AV ya no puede


detectarlo, ya que para ello tendra que volver a analizar la ejecucin completa
del programa en memoria y darse cuenta que el cdigo fue sobreescrito, algo
que requerira muchos ms recursos, y que en un programa ms complejo sera
demasiado intensivo.
Hemos engaado al antivirus sin rompernos la cabeza con algoritmos imposibles,
simplemente separando cdigo malicioso en diversos trozos y lugares, y ejecutndolo
de una forma poco convencional (sobrescribiendo una funcin ya existente). Podramos
haber utilizado otros trucos sencillos, como crear un programa con un overflow
deliberado y explotarlo para lanzar la shellcode (algo que el antivirus jams se
"imaginara"), en lugar de integrarla en el propio programa como una funcin ms. En
el hipottico caso de que esto fuese un malware real, ya conocido, y con las firmas
aadidas a un antivirus, bastara con partir en ms trozos todava el cdigo para que el
AV dejase de detectarlo, y se convertira en el juego del gato y el ratn.
Soluciones? Pues es bastante complicado. Para que los antivirus pudiesen
conseguir una deteccin robusta no basada en firmas conocidas deberan ser capaces
de monitorizar todos los procesos que ocurren en una mquina en todo momento, de
relacionar esos procesos entre si de forma racional, tendran que ser capaces de
descubrir automticamente vulnerabilidades en los programas (sin saber de antemano
que las tienen); en definitiva, ser una inteligencia artificial que a da de hoy solo es
ciencia ficcin. Y necesitaran utilizar prcticamente la totalidad de los recursos de la
mquina dejando una pequesima parte para el resto de procesos.

Pgina | 33

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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.

Equipo de Implementacin de COBIT


Estudiantes de Sistemas:
Byron Cifuentes
Jorge Monterroso
Fernando Escobar
Emilio Hernndez

Pgina | 34

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

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

Preguntas para desarrollar el documento de proceso empresarial


La organizacin necesita el proceso empresarial?
La definicin del proceso en COBIT 5 es correcta para la empresa? de no ser
as, se modifica.
Es correcta la definicin de COBIT 5 para cada prctica? De no ser as, se
modifica.

Preguntas de Niveles de Capacidad de las actividades


La actividad se realiza, pero no est documentada?
La actividad se realiza, pero la documentacin necesita ser actualizada?
La actividad se realiza, se documenta y no necesita actualizaciones?
La actividad no se realiza, pero es necesaria?
La actividad no se realiza y no es necesaria actualmente?
La actividad es realizada por uno o ms de los proveedores de servicios de la
empresa?

Fuente: Elaboracin propia


Asistencia de Expertos
Para la implementacin del tema de seguridad informtica, se necesita el juicio
de una persona experta en el tema; a travs de revisiones de avance que
Pgina | 35

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

tambin impliquen correcciones y observaciones de mejora, en esta caso


Ingeniero en Sistemas Josu Florin brindo su apoyo incondicional.
Despus de que el documento sea considerado completo y todos los procesos
y procedimientos necesarios se hayan establecido y estn en funcionamiento,
el ciclo de mejora de proceso para cada documento de proceso del Mtodo
Heurstico comienza y est establecido en un tiempo determinado. Esto lleva
gradualmente a la fase 6 ("Lo logramos?") hasta que los documentos estn
completos. Est planificado tener completos todos los procesos para el final de
2016.
Es entonces cuando las evaluaciones y auditoras de proceso facilitarn la fase
7, la fase "Cmo mantenemos el impulso?", para involucrar al Mtodo
Heurstico en la mejora continua. El nuevo documento EDMO1 Programa de
Auditora/Aseguramiento para Garantizar el Establecimiento y el Mantenimiento del
Marco de Gobierno (el cual incluye un enfoque sobre la evaluacin del habilitador
proceso), y/o el Programa de Valoracin de COBIT (Gua para el Asesor de COBIT:
Usando COBIT 5 y el Modelo de evaluacin de procesos (PAM) de COBIT: Usando COBIT
5, el cual se enfoca en la capacidad de los procesos de COBIT 5) sern

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.

Implementacin de ISO 27001


Este es un listado de pasos a seguir si para la implementacin de ISO 27001:

1. Obtener el apoyo de la direccin


Es obvio que se necesita el apoyo de la direccin, pero para tomarlo con
seriedad, se cuenta con la direccin del catedrtico de Seguridad de Sistemas
y el recurso humano de los estudiantes de ingeniera es sistemas:
Byron Cifuentes
Jorge Monterroso
Fernando Escobar
Emilio Hernndez

2. Tomarlo como un proyecto


Para la aplicacin del proyecto se utilizara la herramienta PMBOOK, en la cual
se gestionara el alcance del proyecto, la lnea base, gestin del tiempo, gestin
de los costos, juicio de expertos, entradas, herramientas, salidas, etc
3. Definir el alcance
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 | 36

PUE-PREMIO UNIVERSITARIO ESET 2017


GALVEZ DE GUATEMALA

HEURISTICA

UNIVERSIDAD MARIANO

4. Redactar una Poltica de SGSI


El Mtodo Heurstico, est comprometido con la seguridad de los usuarios de la
tecnologa informtica, a travs del recurso heurstico en los antivirus.

5. Definir la metodologa de Evaluacin de riesgos


La evaluacin de riesgos se har a travs de identificacin de firmas de virus,
la cuales sern almacenadas en una base de datos del antivirus. El mtodo
registrara una firma de virus y la reconocer rpidamente.

6. Realizar la evaluacin y el tratamiento de riesgos


Los riesgos a evaluar y a tratar sern los siguientes:
Continuidad de operacin en las bases de datos del antivirus para el
reconocimiento de las firmas de virus, la efectiva identificacin de nuevos virus
para guardarlos en la base de datos.

7. Hacer funcionar el SGSI


Para hacer funcionar el SGSI, segn las normas ISO es atraves de registros, a
travs de los cuales un auditor comprueba si se estn realizando los
procedimientos.
8. Supervisin del SGSI
Se mide el cumplimiento de objetivos, a travs de evaluaciones, revisiones o
pruebas.

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

11. Medidas correctivas y preventivas


Realizar todas las correcciones del documento sobre el mtodo heurstico, que
representaron no conformidades de parte del auditor, que en este caso es el
catedrtico de Seguridad de Sistemas.

Pgina | 37

Anda mungkin juga menyukai