0% encontró este documento útil (0 votos)
20 vistas25 páginas

Introducción al Malware y sus Tipos

El malware, o software malicioso, se refiere a programas que se infiltran en sistemas sin consentimiento para robar información o causar daños. Desde su origen en 1972 con el virus Creeper, ha evolucionado en tipos como virus, gusanos, troyanos y ransomware, cada uno con métodos de propagación y objetivos específicos. Actualmente, Windows y Android son las plataformas más atacadas, y los creadores de malware buscan monetizar sus actividades a través de diversas técnicas de ingeniería social.

Cargado por

joel raplay
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas25 páginas

Introducción al Malware y sus Tipos

El malware, o software malicioso, se refiere a programas que se infiltran en sistemas sin consentimiento para robar información o causar daños. Desde su origen en 1972 con el virus Creeper, ha evolucionado en tipos como virus, gusanos, troyanos y ransomware, cada uno con métodos de propagación y objetivos específicos. Actualmente, Windows y Android son las plataformas más atacadas, y los creadores de malware buscan monetizar sus actividades a través de diversas técnicas de ingeniería social.

Cargado por

joel raplay
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INTRODUCCIÓN AL MALWARE

El término Malware es el acrónimo de malicious software y se utiliza para denominar a aquellos programas que
tienen la capacidad de infiltrarse en un sistema, sin el consentimiento del usuario, con el fin de robar su
información o provocar un funcionamiento incorrecto, entre otras acciones indeseables.

Historia

El primer virus

Fue en 1972 cuando Robert Morris creó el que es considerado como el primer virus propiamente dicho: el Creeper
(enredadera). Era capaz de infectar máquinas IBM 360 de la red ARPANET (la precedente de Internet) y emitía un
mensaje en pantalla que decía “Soy una enredadera, atrápame si puedes”. Para eliminarlo, se creó otro virus
llamado Reaper (segadora) que estaba programado para buscarlo y eliminarlo. Este es el origen de los actuales
antivirus.

Virus en la década del 80

En 1984, Frederick B. Cohen, acuña por primera vez el término virus informático en uno de sus estudios
definiéndolo como “Programa que puede infectar a otros programas incluyendo una copia posiblemente
evolucionada de sí mismo”.

En 1987 hace su aparición el virus Jerusalem o Viernes 13, que era capaz de infectar archivos .EXE y .COM. Su
primera aparición fue reportada desde la Universidad Hebrea de Jerusalén y ha llegado a ser uno de los virus más
famosos de la historia.

Virus en la década del 90 y 2000

En 1999 surge el gusano Happy desarrollado por el francés Spanska que crea una nueva corriente en cuanto al
desarrollo de malware que persiste hasta el día de hoy: el envío de gusanos por correo electrónico. Este gusano
estaba encaminado y programado para propagarse a través del correo electrónico.

En el año 2000 hubo una infección que tuvo muchísima repercusión mediática debido a los daños que ocasionó.
Fue el gusano I Love You o LoveLetter, que, basándose en técnicas de ingeniería social infectaba a los usuarios a
través del correo electrónico. Comenzaba aquí la época de grandes epidemias masivas que tuvieron su punto álgido
en el 2004.

Fue en ese año cuando aparecieron gusanos como el Mydoom, Netsky, Sasser y Bagle, que alarmaron a toda la
sociedad. Lo que buscaban era tener la mayor repercusión y reconocimiento posible. Ese fue el año más duro de
este tipo epidemias y curiosamente el último. Los creadores de malware se dieron cuenta de que sus conocimientos
podían servir para algo más que sólo una repercusión mediática: ganar dinero.

Quizá la mejor prueba de ello sean los denominados Troyanos Bancarios, encargados de robar información
relacionada con las transacciones comerciales y/o datos bancarios del usuario infectado. Actualmente se distribuyen
mediante Exploits, Spam o a través de otro malware que lo descargue y ejecute en el equipo.

Durante el año 2004 se informó de la existencia del primer código malicioso para plataformas móviles: Cabir.A y
también ComWar.A (los más conocidos). Este último no sólo por su capacidad de replicarse a través de Bluetooth
sino también a través de mensajes de texto con imágenes y sonido (MMS), enviandose a las direcciones y números
de la agenda de sus víctimas.

Actualidad

Al día de hoy, las plataformas más atacadas son Windows y Android (que, a su vez, son las plataformas más
utilizadas). Como hemos mencionado anteriormente, los creadores de malware han visto en esta actividad un
método de enriquecimiento. Pensando en términos económicos, es lógico que busquen establecer el target más
amplio posible.

Quizás otro obstáculo con el que chocan los creadores de malware para Linux/Unix tiene que ver con la usual
capacitación media/alta de los usuarios de este tipo de plataformas, por lo que la Ingeniería Social (principal
método de propagación en la actualidad) no resulta tan eficiente con estos usuarios.

Clasificación

Existen diversos subtipos de malware, la clasificación se realiza teniendo en cuenta el comportamiento del código
malicioso. Por ejemplo, un malware podría infiltrarse en un equipo y ejecutar acciones de forma oculta con el fin
de robar sigilosamente la información que el mismo contenga, mientras que otro quizás no se esfuerce por ocultar
su comportamiento y elimine todos los archivos del sistema. En base a diferencias como estas, un malware puede
clasificarse dentro de uno o varios de los siguientes subtipos:

Adware
Backdoor
Gusano
Keylogger
Rogue
Rootkit
Stealer
Spyware
Troyano
Ransomware
Virus

A continuación analizaremos cada uno de ellos.

Nota: los subtipos de malware listados arriba no son los únicos existentes pero sí los más comunes.

Adware

Adware es el acrónimo de Advertisement Software. El término aplica a los programas diseñados para mostrar
excesiva publicidad en el navegador web del usuario, beneficiando económicamente a los creadores de Adware a
través de un acceso forzado a los anuncios.

Los Adware podrían infiltrarse en un equipo sin el consentimiento del usuario o también estar ocultos en la
instalación de un programa gratuito, y se consienta su acceso aceptando los términos y condiciones de uso, que en
la mayoría de los casos, no suelen ser leídos. Por otro lado las empresas pudieran incluir Adware en una versión
gratuita de su programa para luego ofrecer la versión paga sin las molestas publicidades.

Si bien es normal que un sitio web posea publicidad para generar ganancias, en el caso de una computadora
infectada por un Adware los anuncios aparecerán de forma excesiva e inesperada. Hasta incluso puede abrirse la
publicidad en ventanas del navegador web aun cuando el usuario no esté utilizando internet. Además de mostrarnos
los famosos pop-ups de publicidad, los Adware tienen la capacidad de agregar al navegador nuevas páginas
favoritas o una barra de herramientas para que el usuario siga navegando en internet dentro de sus redes de
publicidad.

Fuera de lo molesto que puede ser un Adware para el usuario, el equipo que ha sido infectado disminuirá
notablemente su rendimiento y la velocidad de acceso a internet. El Adware consume recursos y ancho de banda,
por lo que el navegador web será el primero en funcionar lento.

Backdoor

Como su nombre en inglés lo indica, es una puerta trasera. Por lo general, una vez que el equipo ha sido
comprometido por otro subtipo de malware o técnica de intrusión, el atacante instalará un backdoor de manera que
pueda mantener el acceso al sistema aun si se corrige el medio por el cual se consiguió comprometer el sistema
originalmente.

En su variante más común, un backdoor está programado para habilitar conexiones entrantes a un puerto específico,
en el firewall que posea la máquina donde ha sido ejecutado. Como opción adicional quizás agregue una cuenta al
grupo administradores con credenciales conocidas por el atacante.

Gusano

Los gusanos, también conocidos como worms, tienen la capacidad de duplicarse a sí mismos y propagarse por
diferentes medios electrónicos con el objetivo de infectar la mayor cantidad posible de equipos. En un principio los
gusanos únicamente impactaban en el rendimiento del sistema ya que consumían recursos y ancho de banda para
distribuirse e infectar otras máquinas. Actualmente son mucho más complejos y se utilizan como transportadores de
otros subtipos de malware, comúnmente troyanos, lo cual hace la infección mucho más peligrosa.

La pregunta es, ¿cómo se propaga el gusano? Una vez que infectó un equipo intentará copiarse a los dispositivos
de almacenamiento USB que estén conectados (pendrives), a los recursos compartidos en la red local e incluso se
enviará por correo electrónico a todos los contactos del usuario víctima de la infección. Cabe destacar que tan sólo
hemos mencionado tres métodos de propagación, los gusanos actuales cuentan con mayor diversidad en este
aspecto.

El atacante crea el gusano a través de un programa como el que puede observarse en la figura (cliente del gusano).
Por lo general, las principales opciones son:

URL de un archivo a descargar en el equipo infectado (comúnmente un troyano)


Elegir métodos de propagación: Red LAN, P2P, USB, entre otros
Auto-iniciarse junto al sistema operativo

Adicionalmente, según las habilidades del desarrollador del gusano, podemos encontrar opciones para saltar
Antivirus y otros sistemas de seguridad así cómo deshabilitar funciones de Windows que podrían servir para
erradicar al gusano.
Cliente de un Gusano de la actualidad.

Keylogger

Tal como lo indica su nombre en inglés, un keylogger tiene la capacidad de grabar todas las teclas pulsadas por el
usuario del equipo infectado. Por supuesto que de este modo atrapará todo tipo de credenciales de acceso, peor aún,
los keyloggers más avanzados pueden realizar capturas de pantalla sobre el click del mouse para capturar
contraseñas que se escriban mediante un teclado virtual. Adicionalmente también se guarda el título de la ventana
donde se pulsan las teclas, fecha y hora del momento.

Un keylogger puede ser remoto o local.

En el caso de ser local se instalará en el equipo por alguna persona que tenga acceso físico al mismo, y quedará
oculto registrando todo lo que sea pulsado en el teclado de ese equipo. El registro podrá ser visto únicamente por la
persona que lo instaló.

Los keyloggers remotos son más complejos. El atacante al crearlo debe especificar a donde se enviarán los registros
de las pulsaciones, comúnmente utilizará un servidor FTP o un correo electrónico en su poder. Luego, debe indicar
cada cuanto tiempo, o en su defecto, cada cuantos kilobytes se enviarán los registros.
Cliente para crear un keylogger remoto.

Rogue

Rogue, se le llama a los códigos maliciosos que simulan ser una solución anti-malware pero contrariamente a esta,
concluyen por infectar el equipo con otro subtipo de malware (comúnmente un troyano). A través de la ingeniería
social asustan al usuario indicando, luego de simular un escaneo al equipo, que posee alrededor de 300 virus que
podrían destruir su PC si no los elimina ya mismo. Por supuesto que dan la falsa solución al problema, la cual si el
usuario acepta tendrá que pagar una suma de dinero o simplemente descargar el software que limpiará el equipo
(que en realidad es otro malware).
Típico mensaje de un Rogue.

Rootkit

Los rootkit permiten ocultar en la mayor medida posible a otros subtipos de malware, además de poder ocultarse a
sí mismos dentro de una máquina infectada. Los atacantes los suelen utilizar para mantener encubierto el acceso
ilícito a un equipo, ocultando los procesos, archivos, puertos y demás componentes lógicos que los pudieran
delatar.

Inicialmente los rootkit aparecieron en el sistema operativo UNIX y eran una colección de una o más herramientas
que le permitían al atacante conseguir y mantener el acceso mediante el usuario con más privilegios del equipo (en
los sistemas UNIX se llama root y de ahí su nombre). En Windows, los rootkit se han asociado en general con
herramientas usadas para ocultar programas o procesos al usuario.

Un rootkit ataca directamente el funcionamiento de base de un sistema operativo. En Linux, modificando y


trabajando directamente en el kernel del sistema. En Windows, interceptando los APIs (Interfaz de Aplicaciones de
Programación) del sistema operativo. Estas, interactúan entre el usuario y el kernel; de esta forma, el rootkit
manipula el kernel sin trabajar directamente en él.

Stealer

Los stealers, también conocidos como passwords stealers, son un subtipo de malware especializado en capturar
todas las contraseñas almacenadas en el equipo infectado así como las que se escriban en un formulario web u otras
aplicaciones conocidas y, por supuesto, todo lo que capture se lo enviará al atacante.

Suelen auto-iniciarse junto al sistema operativo de modo que permanecerán en el equipo para capturar todas las
nuevas credenciales de acceso que pudiera escribir el usuario.
Opciones de captura de contraseñas del cliente de un Stealer.

Spyware

Los spyware están diseñados para recopilar la mayor cantidad posible de información sobre el usuario respecto a su
actividad en internet. Una vez que infectan el equipo, se concentrarán en obtener los historiales de navegación del
usuario junto a las páginas visitadas con mayor frecuencia, el tiempo que permaneció en cada sitio,
aplicaciones/juegos que ha utilizado, compras realizadas, archivos descargados y demás. Lógicamente, la
información recopilada es enviada a la entidad atacante, todo esto sin el consentimiento del usuario.

Las agencias de publicidad, o compañías dedicadas al marketing en internet, son las principales empleadoras de
spyware. Para estas entidades la información que puede brindarle dicho subtipo de malware es de sumo valor,
gracias a ella pueden confeccionar anuncios adaptados a los intereses del usuario. Es por eso que los spyware
suelen combinarse con un adware, de modo que la entidad atacante pueda a su vez obtener beneficios económicos a
través de los anuncios.

Troyanos

Los troyanos son el subtipo de malware más frecuente y, debido a su complejidad, uno de los más peligrosos. En
primer lugar el troyano intentará infiltrarse en un equipo aparentando ser un software inofensivo, al ejecutarse
llevará a cabo acciones maliciosas sobre el sistema operativo de la forma más desapercibida posible.

El objetivo de este subtipo de malware es darle al atacante el control total sobre un equipo de forma remota (por
eso también se los conoce como RAT – Remote Administration Tool). Los troyanos más modernos cumplen este
objetivo a tal punto de que el control sobre el equipo sea igual a estar sentado frente al mismo.
Con esto en mente podemos imaginar que las funciones básicas de un troyano consistirán en permitirle al atacante
obtener toda la información alojada en el equipo, administrar dispositivos, servicios y aplicaciones instaladas, bajar
y subir archivos, así como borrar o editar los existentes. También grabar las teclas pulsadas, obtener capturas de
pantallas o visualizar el escritorio de la máquina infectada en tiempo real, pudiendo controlar el mouse y el teclado.
Ejecutar comandos mediante una shell, activar el micrófono y la webcam, entre muchas otras acciones que, por
supuesto, no ocurrirán a la vista del usuario.

Ahora bien, para que un atacante pueda tomar el control de un equipo de esta manera, necesita crear una conexión
entre su máquina y la que desee controlar. Los troyanos funcionan de esa manera, por eso constan básicamente de
dos partes: cliente y servidor. El cliente estará en manos del atacante y será quien envíe las órdenes y peticiones de
información al servidor, este último es el ejecutable que infecta al equipo (víctima) y responderá todas las
solicitudes maliciosas del cliente (atacante).

La conexión entre el atacante y la víctima puede ser directa o inversa. En las conexiones directas el atacante se
conectará al equipo víctima una vez que ha sido infectado. Por el contrario, en las conexiones inversas, será el
equipo infectado el que se conecte al atacante. Los troyanos actuales utilizan conexiones inversas ya que permiten
evadir a los firewalls con más facilidad, debido a que un cortafuegos tradicional generalmente es más restrictivo
con el tráfico entrante que el saliente.

Desde el punto de vista práctico, el atacante crea el servidor del troyano configurando una serie de parámetros, por
ejemplo: dirección IP y puerto donde recibirá las conexiones de los equipos infectados, ruta de instalación y
proceso donde se inyectará el troyano, ruta de auto-inicio, mutex, nombre del ejecutable, icono, entre otros ajustes.

Configuración del servidor en el troyano Poison Ivy.

Una vez que el atacante creó el servidor del troyano, procederá a distribuirlo por cuanto medio electrónico pueda.
Si un usuario se infecta, automáticamente aparecerá la conexión en el cliente del troyano otorgándole el control
total del equipo al atacante, tal como se puede observar en la siguiente figura.
Control total del equipo víctima mediante el troyano Poison Ivy.

Ransomware

Un ransomware (del inglés ransom rescate y ware, software) es un tipo de programa informático malintencionado
que restringe el acceso a determinadas partes o archivos del sistema infectado, y pide un rescate a cambio de quitar
esta restricción. Algunos tipos de ransomware cifran los archivos del sistema operativo inutilizando el dispositivo y
coaccionando al usuario a pagar el rescate.

Se hicieron populares en Rusia y su uso creció internacionalmente en junio del 2013. La empresa McAfee señaló
que sólo en el primer trimestre del 2013 había detectado más de 250.000 tipos de ransomwares únicos.

Normalmente un ransomware se transmite tanto como un troyano como un gusano, infectando el sistema operativo,
por ejemplo, con un archivo descargado o explotando una vulnerabilidad de software. En este punto, el ransomware
se iniciará y cifrará los archivos del usuario con una determinada clave, que sólo el creador del ransomware conoce
y proveerá al usuario que la reclame a cambio de un pago.
Ransomware CTB-Locker en acción.

Virus

Un virus está programado para producir algún daño en el equipo donde sea ejecutado y además tiene la capacidad
de reproducirse a sí mismo. Las cualidades mencionadas pueden compararse con los virus biológicos, que producen
un daño en las personas, actúan por sí solos y se reproducen (contagian).

El daño que un virus puede causar es extremadamente variable: desde un simple mensaje en pantalla para molestar
al usuario o la eliminación de archivos del sistema, hasta inhabilitar completamente el acceso al sistema operativo.

Los virus pueden infectar de dos maneras diferentes: la tradicional consiste en “inyectar” una porción de código en
un archivo normal, es decir, el virus reside dentro del archivo ya existente. De esta forma, cuando el usuario ejecute
el archivo, además de las acciones normales del archivo en cuestión, se ejecutan las instrucciones del virus.

La segunda forma de infectar consiste en “ocupar el lugar” del archivo original y renombrar este por un nombre
conocido solo por el virus. En este caso, al ejecutar el archivo, primero se ejecuta el malicioso y al finalizar las
instrucciones este llama al archivo original, ahora renombrado.

Cuando un virus es ejecutado se producen dos acciones en paralelo: el daño en cuestión y la propagación para
seguir infectando. Esta es la característica primordial de los virus, su capacidad de reproducirse por sí mismos: el
mismo virus es el que causa el daño y continúa infectando nuevos equipos y archivos.

PROTECCIÓN CONTRA MALWARE


Si bien existen una multitud de soluciones de seguridad, la primer medida de seguridad debería ser siempre la
capacitación de los usuarios, para que estén al tanto de las amenazas con las que podrían llegar a toparse.
Joining

Como ya hemos visto, el formato más común de los malware es el ejecutable (.exe). Ahora bien, este ejecutable
sólo realiza acciones maliciosas, sin mostrar nada al usuario, lo cual es algo muy sospechoso.

Para reducir la sospecha del usuario, los atacantes suelen camuflar el ejecutable malicioso uniendolo a un
programa, a un archivo de música, una imagen, un documento de Word o cualquier otro archivo benigno que se
muestre en pantalla mientras el malware lleva a cabo sus acciones.

Para lograr unir un malware con un archivo benigno existen herramientas llamadas joiners, o binders. Las mismas
se encargan de formar un único paquete que contenga cada archivo que se quiera ejecutar (malicioso o no), el orden
en que deben mostrarse al usuario, entre otros parámetros.

Ejemplo de un joiner, uniendo un archivo de imagen con un ejecutable.

Al utilizar el joiner, se creará un nuevo archivo ejecutable (.exe) que contendrá el malware y la imagen (o cualquier
otro archivo benigno). Como opción adicional para el camuflaje, los joiners permiten añadir un icono a ese
ejecutable final, el cual lógicamente estará relacionado con el archivo benigno. Por ejemplo, si es una canción, el
atacante utilizará el mismo icono que muestra Windows al tratarse de un archivo de música.

Finalmente, el malware se verá igual que un archivo de música, incluso al abrirlo comenzará a reproducirse la
canción que el atacante unió al código malicioso mediante algún binder. Pero, hay algo que se mantiene intacto y
es, precisamente, la extensión .exe. El archivo que crea el binder no es más que un contenedor que lleva dentro el
malware y el archivo benigno, para poder ejecutar a ambos archivos necesita ser en sí mismo un ejecutable; es por
eso que la extensión seguirá siendo .exe.

Extensiones de Archivo

Microsoft Windows por defecto oculta las extensiones de los archivos. Una buena práctica de seguridad es
modificar este comportamiento, para conocer rápidamente las verdaderas extensiones de todos los archivos.

Para eso podemos ir a Panel de control\Opciones de carpeta\Ver y destildamos la casilla que dice “Ocultar las
extensiones de archivo para tipos de archivo conocidos”.

Configuramos las carpetas de Windows para poder ver las extensiones de los archivos.

Con esta nueva configuración podremos detectar aquellos archivos que simulan ser una imagen o una canción pero
en lugar de tener extensiones .jpg o .mp3 (como debería ser) llevan la extensión .exe. Tal comportamiento en un
archivo nos da suficientes motivos para eliminarlo de nuestro sistema o analizar sus acciones en un entorno de
prueba, lejos de los documentos importantes.

Formatos de Archivo

Si bien el formato exe es el más utilizado por el malware, no es el único. Hoy en día se han desarrollado complejos
troyanos multiplataforma en el lenguaje Java (.jar) así como también distintos lenguajes de scripting como Python
(.py) o Perl (.pl). Por supuesto que para poder ejecutarlos se necesita la máquina virtual de Java o, en caso de ser
scripting, el correspondiente intérprete del lenguaje. Otros malware, sobre todo los virus, se programan en Batch o
VBScript (extensión .bat y .vbs respectivamente).
Troyano multiplataforma programado en Java.

Métodos de Distribución

Otro aspecto de suma importancia para evitar ser infectados es conocer los métodos utilizados por los atacantes
para propagar sus códigos maliciosos.

El correo electrónico es el principal medio de distribución de malware, por lo tanto, debemos evitar el SPAM y
descargar adjuntos que no hemos solicitado. Aun si estos archivos provienen de un correo conocido, ya que es muy
fácil falsificar el remitente para que se vea idéntico a un contacto de nuestra lista o a fuentes oficiales.

La mensajería instantánea también se utiliza para distribuir malware. Antes de seguir enlaces que nos envíen por
estos medios, debemos confirmar que realmente fue nuestro contacto quien nos lo ha enviado y no un gusano u otro
malware que lo haga de forma automática.

También son utilizadas las redes P2P. Como hemos visto, es muy fácil camuflar un malware para que parezca un
archivo inofensivo o un programa altamente requerido. Por lo que tendremos que tener sumo cuidado al descargar
archivos a través de estas redes.

Por último, otro medio extremadamente usado para propagar malware son aquellos sitios web de descarga de
contenidos multimedia como software gratis y videojuegos, cracks de programas, entre otras utilidades.
Procuremos evitar descargar contenidos de estas fuentes o, de ser necesario hacerlo, analizar minuciosamente los
archivos antes de ejecutarlos.

Detectar Infecciones

En algunos casos, los equipos infectados pueden empezar a tener comportamientos extraños, como los siguientes:

Disminución de rendimiento
Desaparición de archivos o menúes
Funciones deshabilitadas (como adm. de tareas, firewall, antivirus, etc)
Nuevos archivos con nombres extraños
Cuelgues y/o pantallazos azules (BSOD)

Más allá de que notemos o no algunos de los síntomas citados anteriormente, podemos verificar la presencia de
malware utilizando las técnicas que mencionaremos a continuación.

Procesos

Un paso rápido y sencillo es revisar los procesos que se están ejecutando en nuestro sistema. Para eso abrimos el
administrador de tareas ejecutando CTRL + ALT + SUPR o click derecho del mouse sobre la barra de Windows y
seleccionamos el ítem: Iniciar administrador de tareas.

Administrador de tareas de Windows.

En la pestaña de procesos encontraremos muchos de ellos que son nativos de Windows. Por ejemplo:

[Link]: encargado de manejar las sesiones de usuario en el sistema.


[Link]: utilizado por las aplicaciones para interactuar con el núcleo (kernel) del sistema y ejecutar las API
Win32.
[Link]: utilizado por el sistema operativo durante la fase de autenticación.
[Link]: encargado de iniciar y detener los servicios del sistema operativo.
[Link]: se encarga de ejecutar todos aquellos servicios que utilizan las Librerías de Enlaces Dinámicos
(DLL). Básicamente realiza un chequeo del registro para identificar los servicios que el sistema necesita
cargar.
[Link]: se trata de un servicio que posibilita la conexión de diferentes protocolos a través de Internet
Connection Sharing (ICS) e Internet Connection Firewall (ICF).
[Link]: se trata de un proceso netamente relacionado con la seguridad en Windows, encargándose de los
mecanismos de autenticación como parte de la capa de seguridad a nivel local.
[Link]: representa al explorador (Shell gráfica) de Windows.
[Link]: es un proceso que forma parte de la Suite de Ofimática de Microsoft y se activa cada vez que se
ejecuta una de sus aplicaciones (Word, Excel, PowerPoint, etc.).

Aparte de estos y otros procesos más, propios del sistema operativo, encontraremos aquellos que son creados por
las aplicaciones que instalamos. Por ejemplo, una base de datos MySQL tiene su proceso [Link] o, un
navegador web al ser ejecutado crea su proceso (ej.: [Link]).

Entonces, si cada aplicación que se ejecuta en nuestro sistema crea su propio proceso, es correcto pensar que si
estamos infectados por un malware el suyo aparezca en la lista. Aquí radica la importancia de conocer todos los
procesos que se ejecutan en nuestra máquina; si desconocemos alguno de ellos, rápidamente localizaremos el
ejecutable del mismo y buscaremos información en internet para saber si es propio del sistema operativo, está
asociado a alguna aplicación benigna o definitivamente puede ser un malware.

Ahora bien, con revisar los procesos no es suficiente para saber si estamos infectados, ya que pueden suceder al
menos tres cosas:

1) Que el proceso del malware lleve el nombre de una aplicación benigna (por ejemplo [Link]) y nos
engañe

2) Que el código malicioso se haya inyectado dentro de un proceso propio del sistema (como [Link]) o de
alguna aplicación ya instalada, como el navegador web

3) Que el malware esté acompañado por un rootkit y su proceso no pueda verse desde el administrador de tareas.

Con esto en mente, si no encontramos algún proceso sospechoso pero dudamos de que el sistema esté realmente
limpio, será mejor que continuemos realizando otras verificaciones.

Conexiones

Como sabemos, la gran mayoría de subtipos de malware realiza conexiones hacia afuera para enviar la información
recopilada sobre el equipo víctima del ataque. Es por eso que, analizar las conexiones activas del sistema es un
paso importante al momento de determinar si estamos infectados.

Una forma fácil y rápida de ver las conexiones de nuestro equipo es haciendo uso del intérprete de comandos de
Windows (CMD).

Dentro de la terminal, ejecutamos el comando: netstat –a. El parámetro –a le indica a netstat que debe mostrar todas
las conexiones y puertos a la escucha en nuestro equipo; se pueden consultar los parámetros disponibles ejecutando
netstat –h.

La salida del comando ejecutado nos mostrará el protocolo, la dirección local, la dirección remota y el estado de
cada conexión del sistema. Aun así, puede que no logremos identificar cuál de todas esas conexiones podría estar
vinculada a un malware, es por eso que en este caso nos será de mayor utilidad usar el comando netstat seguido del
parámetro –b.
Ejemplo de salida del comando netstat –b con el navegador Firefox en ejecución.

A diferencia del parámetro –a, con netstat –b podremos saber cuál es el ejecutable que está abriendo la conexión en
nuestro sistema. Es importante que antes de ejecutar este comando cerremos todas las aplicaciones que hagan
conexiones externas (navegadores webs, mensajería instantánea, software P2P, etcétera) si todo está cerrado,
netstat –b no debería mostrar conexiones activas. En caso de que lo haga, tendremos que identificar cuál es el
ejecutable que efectivamente está abriendo la conexión ya que podría tratarse de un malware.

Auto-Arranque

Además de realizar conexiones, los malware suelen utilizar técnicas de persistencia, para iniciarse automáticamente
con el arranque del sistema operativo.

Debido a que existen múltiples formas de lograr esto (entradas en diferentes partes del registro, carpetas, etc), es
recomendable utilizar la herramienta “autoruns” de la suite Sysinternals, que va a verificar todas esta técnicas de
auto arranque y nos va a mostrar cuáles son los programas que se van a iniciar de forma automática.
SOFTWARE ANTIVIRUS
Un antivirus es un software que posee la función de detectar códigos maliciosos. Aunque su nombre está
relacionado con los virus informáticos, en la actualidad estos programas son soluciones antimalware que poseen
protección contra gusanos, troyanos, rootkit, spyware y otros elementos dañinos; es decir, todo tipo de códigos
maliciosos.

Además, un antivirus tiene como función identificar una amenaza. Esto se refiere a la capacidad de la aplicación no
sólo de detectar un malware, sino también de describir de qué amenaza se trata, tanto por su tipo (virus, troyano,
gusano, etc.) como su nombre (por ejemplo Michelangelo, Conficker, QHost, Nuwar, etc.).

Finalmente, una vez detectada e identificada cierta amenaza, un antivirus debe prevenir o eliminar la misma del
sistema. En el primer caso se trata de un código malicioso que es detectado al momento de intentar infectar un
sistema, por lo tanto el antivirus bloqueará su acceso y prevendrá la infección. En el otro caso, cuando se descubre
el malware en un sistema que ya está infectado, el antivirus debe eliminar (o desinfectar) la amenaza.

Sin embargo, tal como se describe en este sencillo proceso de funcionamiento de un antivirus, el primer paso es la
detección de un código malicioso. Para este fin el antivirus analiza los archivos (puede ser en tiempo real o a
petición del usuario) en búsqueda de malware. En su visión simplificada, el antivirus examina cada archivo
respondiendo a la pregunta: ¿es un código malicioso?

A continuación analizaremos los dos métodos de detección más habituales con los que suelen contar todos los
antivirus del mercado.

Detección Reactiva: base de firmas

Desde sus orígenes los antivirus cuentan con un método de detección basado en firmas (también llamadas vacunas).
Este 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 código malicioso.
El proceso de generación de firmas se compone de los siguientes pasos:

1. Aparece un nuevo código malicioso


2. El laboratorio de la empresa antivirus recibe una muestra de ese código
3. Se crea la firma para el nuevo código malicioso
4. El antivirus comienza a detectar el malware cuando actualiza su base de firmas

Recién 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.

Además de la necesidad de mantener actualizada la base de datos, este método posee otras dos desventajas:

El programa no puede detectar malware que no se encuentre en la base de datos


Se debe contar con una firma por cada variante de un mismo malware

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 características del código malicioso y de la dificultad para generar la firma. De
una u otra forma, se puede 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 límites.

En conclusión, la detección por firmas es un método de protección reactivo: primero se debe conocer el malware
para que luego sea detectado.

Sin embargo, debido a la alta velocidad de propagación de nuevos códigos maliciosos , y la gran cantidad de
nuevas variantes que aparecen día a día , este método se volvió, con el pasar de los años, lento e insuficiente. De
manera similar a lo que sucede durante las epidemias del campo biológico, en el caso del malware también existen
probabilidades de que se produzca una infección antes de que aparezca la cura para dicha amenaza (la firma).

Un antivirus que utilice sólo métodos reactivos de detección estará protegiendo a sus usuarios sólo de aquellos
códigos 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 aún no posean una firma.

Detección Proactiva: heurística

Para dar solución a esta problemática aparecen los métodos de detección proactivos basados en heurística, como
complemento de la detección basada en firmas. Esto quiere decir que la detección proactiva es un agregado a la
detección por firmas y para una óptima protección son necesarios ambos métodos, tal como trabajan las soluciones
antimalware en la actualidad.

El objetivo esencial de los algoritmos heurísticos es dar respuestas en aquellas situaciones en donde los métodos
reactivos no pueden darla: la capacidad de detectar un archivo malicioso aunque una muestra de éste no haya
llegado al laboratorio antivirus, y que aún no se posea la firma correspondiente.

Por lo general la programación heurística es considerada como una de las aplicaciones de la inteligencia artificial y
como herramienta para la resolución de problemas. Tal como es utilizada en sistemas expertos, la heurística se
construye bajo reglas extraídas de la experiencia, y las respuestas generadas por tal sistema mejoran en la medida
en que “aprende” a través del uso y aumenta su base de conocimiento.

La heurística siempre es aplicada cuando no puedan satisfacerse demandas de completitud que permitan obtener
una solución por métodos más específicos (por ejemplo la creación de una firma para un malware determinado).

A manera de ejemplo, puede suponerse que un responsable de Recursos Humanos desea contratar un graduado de
cierta carrera y se conecta con la universidad. La institución le ofrece un listado de 300 alumnos que se graduaron
en los últimos años y él debe seleccionar a uno para su contratación. Su capacidad para realizar entrevistas es de 20
personas, por lo que debe tomar alguna decisión que le permita encontrar al candidato indicado. Una decisión
heurística podría ser que se seleccione a los 20 alumnos con mejor promedio, lo cual probablemente le permita
acercarse a los mejores candidatos. Sin embargo, lo ideal para el responsable de Recursos Humanos sería
entrevistar a todos, ya que es probable que haya excelentes candidatos con promedios inferiores. Sin embargo, ante
una limitación de completitud, las decisiones heurísticas permiten acercarse al resultado ideal.

Si los alumnos fueran 20, sería posible entrevistar a todos y elegir sin lugar a dudas el que mejor haya pasado la
entrevista. Sin embargo, en este caso es imposible entrevistar a los 300 alumnos y es por ello que se aplican
métodos heurísticos.

De igual forma, con las tecnologías reactivas es imposible cubrir la protección necesaria para las condiciones
actuales de evolución de amenazas, ya que es no es posible contar con todos los códigos maliciosos que circulan
por Internet, y tampoco se puede disminuir los tiempos de creación de firmas lo suficiente para asegurar protección
total al usuario.

Ante estas imposibilidades la aplicación de heurística en tecnologías antivirus ofrece cobertura y protección
inteligente ante códigos maliciosos.

Funcionamiento

Los algoritmos heurísticos son la base de la mayor parte de métodos de detección de malware proactivos.

El análisis heurístico posee un comportamiento basado en reglas para diagnosticar si un archivo es potencialmente
ofensivo. El motor analítico trabaja a través de su base de reglas, comparando el contenido del archivo con criterios
que indican un posible malware, y se asigna cierto puntaje cuando se localiza una semejanza. Si el puntaje iguala o
supera un umbral determinado, el archivo es señalado como amenaza y procesado de acuerdo con ello.

De igual modo que un analista de malware intentaría determinar, trabajando en el laboratorio, la peligrosidad de un
determinado programa, analizando sus acciones y características (por ejemplo: modifica el registro, se carga al
inicio de sesión, elimina archivos, etc.), el análisis heurístico realiza el mismo proceso de toma de decisiones
inteligentes, actuando como un investigador virtual de malware.

Mientras que la identificación de una amenaza realizada por medio de una detección reactiva basada en firmas
posee la previa legitimación de una persona del laboratorio, la detección proactiva a través de métodos heurísticos
no incluye la intervención humana, y en la detección 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 heurísticos ofrecen
protección donde la exploración por firmas no puede darla.

Aunque la detección proactiva no depende de la actualización de la base de firmas, sí debe mantenerse actualizado
el programas antivirus, a fin de contar con los últimos algoritmos de detección heurística.

Tipos de heurística

Los algoritmos heurísticos, como su pluralidad lo indica, son distintas metodologías de análisis proactivo de
amenazas. Se definen a continuación las tres variantes más comunes que son utilizadas en este tipo de análisis:

Heurística genérica: se analiza cuán similar es un objeto a otro, que ya se conoce como malicioso. Si un
archivo es lo suficientemente similar a un código malicioso previamente identificado, este será detectado
como “una variante de...”.
Heurística 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.
Heurística activa: se trata de crear un entorno seguro y ejecutar el código de forma tal que se pueda conocer
cuál es el comportamiento del código. Otros nombres para la misma técnica son “sandbox”, “virtualización”
o “emulación”.

Asimismo, los algoritmos de detección proactiva de amenazas contienen instrucciones que le permiten sortear
diversos mecanismos que poseen los códigos maliciosos para ocultar su comportamiento, especialmente el
empaquetamiento y el cifrado.

Precauciones

Al estar basados los algoritmos heurísticos en inteligencia artificial, poseen dos relativas desventajas, que deben ser
eliminadas para hacer su funcionamiento más 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 método basado en firmas (una simple exploración en una base de datos). Por lo
tanto, es importante que los algoritmos de detección proactiva basados en heurística estén optimizados, a fin de que
el rendimiento de la solución sea el máximo posible. En tal caso, incluso pueden ser más rápidos que una
exploración por firma a medida que la base de datos del método reactivo vaya creciendo.

El otro factor de riesgo para los algoritmos de detección proactiva está constituido por los falsos positivos: archivos
que no son códigos 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 heurística es necesario minimizar
también los falsos positivos.

El motivo de tal calificación incorrecta resulta comprensible: al trabajar estos algoritmos con grados de certeza, y
análisis inteligente, puede ocurrir que se haga una detección errónea de un archivo. Con la base de firmas esto
ocurre en un nivel muy bajo, porque sólo se detectan amenazas conocidas que ya han sido catalogadas como tales
por el laboratorio.

Es indispensable, entonces, que los algoritmos de detección proactiva posean optimización, para minimizar la tasa
de falsos positivos, ya que estos son altamente perjudiciales para los usuarios.

Por lo tanto, los algoritmos heurísticos de los antivirus deben ser evaluados, no sólo por sus capacidades de
detección, sino también por su rendimiento y la cantidad de falsos positivos detectados. La mejor heurística es
aquella que combina los niveles de detección con bajos (o nulos) falsos positivos.

VirusTotal

VirusTotal ([Link] un servicio web que ofrece analizar archivos o URLs utilizando cerca de
45 motores de análisis diferentes ofrecidos por varios fabricantes de software antivirus.
En la imagen anterior podemos ver el formulario de la página principal de VirusTotal desde donde puedes analizar
un archivo o una dirección URL. El máximo tamaño de archivo a analizar es de 64 MB.

Si el archivo que vamos a analizar ya ha sido analizado anteriormente por otro usuario, tendremos acceso al
informe guardado en VirusTotal sin tener que volver a subir el archivo, claro que también podemos volver a subir
el archivo y volver a analizarlo.

Después de subir el archivo el informe de VirusTotal es bastante completo, incluye el análisis de antivirus tan
conocidos como Avast, AVG, BitDefender, ClamAV, Comodo Antivirus, DrWeb, ESET NOD32, GData,
Karspersky, McAfee, Microsoft Security Essentials, Panda, Malwarebytes, Norton y muchos más, para luchar
contra diferentes tipos de software: Virus, Spywares, Troyanos, etc… Es capaz de detectar cualquier código
malicioso, incluso cuando los archivos se encuentran comprimidos (aunque no deben estar cifrados).
Para identificar los archivos, VirusTotal se guía por los hash MD5, SHA1, SHA256 y ssdeep de forma que cada
archivo es único aunque su nombre sea el mismo o diferente.

VirusTotal también detecta lenguajes de programación, compiladores, compresores y otros tipos de código.

Los usuarios también pueden comentar en los informes de análisis de los archivos e incluso votar positivo o
negativo en los análisis de malware, aunque para eso debemos estar autenticados con una cuenta VirusTotal.

La principal ventaja de tener una cuenta en VirusTotal es que se guardaran en ella todos los análisis realizados y
podremos acceder a los informes posteriormente.

En cuanto al análisis de direcciones URL y sitios web, VirusTotal utiliza cerca de 32 motores de análisis
antimalware para detectar cualquier tipo de malware en el código del sitio web. Algunos de los más conocidos y
utilizados son los de Google, NetCraft, Opera, Kaspersky.

Podemos confirmar la seguridad que ofrece VirusTotal a sus usuarios revisando sus estadísticas en la siguiente
dirección URL: [Link]

Si queremos obtener más información acerca de VirusTotal o utilizar el servicio puedes acceder a la siguiente
dirección URL: [Link]
Además, VirusTotal dispone de una API que puedes integrar en nuestros propios programas para analizar los
archivos. Si queremos acceder a ella podemos hacerlo a través de la siguiente
URL: [Link]

DESINFECCIÓN
El primer paso siempre es desconectar el sistema de internet. De este modo romperemos la conexión que el
atacante pudiera tener con nosotros, lo cual disminuye los riesgos. Seguido a esto, nos ponemos a desinfectar el
equipo.

Matar el proceso del malware no es suficiente. Si sólo hacemos eso, es muy probable que al reiniciar el equipo se
vuelva a ejecutar el código malicioso y seguiremos infectados. La desinfección es todo un proceso, que podemos
llevarlo a cabo manualmente o con la ayuda de herramientas especializadas.

Desinfección manual

Al realizar las técnicas de detección, obtuvimos información sobre el malware que se aloja en el sistema (por
ejemplo el proceso que utiliza o vimos el nombre del ejecutable en las conexiones y el registro). Utilizaremos estos
datos para encontrar la ubicación exacta del malware en nuestro equipo; por lo general se copian a la carpeta
System32, Windows, Users, AppData o Temp. Una vez localizado, si hemos matado su proceso, podremos
eliminar el ejecutable sin problemas.

También tenemos que eliminar la entrada del malware en el registro, algo que podemos hacer desde el mismo
Regedit: click derecho del mouse sobre la entrada Eliminar.

La entrada del malware en el registro delata su ubicación.

Una vez hecho esto reiniciamos el equipo y, cuando arranque nuevamente, volvemos a revisar los procesos, las
conexiones y las entradas en el registro para asegurarnos de que el malware definitivamente quedó erradicado de
nuestro sistema.

En el caso de que vuelva a aparecer el proceso del malware, tendremos que analizar su ejecutable con herramientas
más complejas que nos ayudarán a determinar qué componentes le permiten seguir ejecutándose en nuestro
sistema. Este análisis más profundo lo dejaremos para la próxima clase, donde haremos uso de la suite SysInternals.

Desinfección automatizada

Podemos utilizar, además del antivirus estándar que deberíamos tener instalado en cada uno de los dispositivos, un
CD de arranque para realizar un análisis “externo” del malware.
Estos CD de arranque tienen la ventaja de correr sobre un sistema operativo totalmente diferente del original
(generalmente utilizan GNU/Linux)

Varios de los fabricantes antimalware reconocidos brindan este tipo de CD de forma totalmente gratuita. Algunos
de ellos son:

Kaspersky
ESET (Nod32)
Avast
F-Secure

Autor: Fabian Martinez Portantier

Colaboradores: Franco Vergara, Sheila Berta

Fuentes:

[Link]
[Link]
[Link]
[Link]
[Link]

También podría gustarte