Troyanos

Preview:

Citation preview

Troyanos y Phishing

Óscar Delgado

Mayo 2007 - Madrid

Patrocinada por

Con la colaboración de

Agenda Introducción Evolución del phishing tradicional Primeros troyanos Últimas técnicas

Inyección de código HTML Economía del malware ¿Cómo arreglamos esto?

Evolución del phishing

Troyanos Los troyanos no son, desde luego,

nada nuevo. En los 70’s aparecieron los primeros

troyanos que imitaban la pantalla de login del SO.

Pero desde hace unos años (2003) la profesionalización del crimen online los ha hecho resurgir como herramienta de fraude.

Troyanos Los métodos tradicionales de phishing

(SPAM, similitud y ofuscación de dominios) han ido dejando de funcionar paulatinamente.

El asunto ha sido muy metiádico y ha llegado al “gran público”.

Consecuencia: los phishers han buscado nuevas técnicas más sofisticadas: los troyanos especializados.

Troyanos bancarios Un troyano especializado en banca

electrónica captura las credenciales y las envía a un “repositorio” central controlado por el atacante.

Las credenciales capturadas incluyen el usuario, la contraseña y la ‘firma electrónica’, necesaria para realizar transferencias y otras operaciones importantes.

Primeros pasos Los primeros casos

comenzaron utilizando viejas técnicas víricas, como capturar las pulsaciones del teclado, en busca de palabras como 'password'.

Para combatirlos se empezaron a utilizar los teclados virtuales, pero...

Capturas de pantalla …entonces los atacantes empezaron a

tomar capturas de pantalla, donde se ve sobre qué letra está posicionado el cursor:

Los bancos contraatacaron de nuevo “moviendo” el teclado virtual tras cada carácter introducido.

Ocultación de la barra de direcciones Otra técnica utilizada fue tratar de

ocultar la barra de direcciones del navegador con una imagen.

Pero, curiosamente, muchos fallaban porque no tenían buena “puntería”:

Pharming Pronto empezaron a utilizarse

técnicas de pharming. Aunque éstas se limitaban a

modificar el archivo ‘hosts’.

# Copyright (c) 1993-1999 Microsoft Corp.## Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para Windows.#

127.0.0.1 localhost194.179.1.100 www.bancocartujano.com

BHO’s (Browser Helper Object) Extensiones definidas por Microsoft

para Internet Explorer, introducidas en 1997 en la versión 4.

Tienen forma de DLL con un API que permite acceder al DOM de la página actual y controlar la navegación.

Ejemplos de BHO’s conocidos: Acrobar Reader y Google Toolbar.

BHO’s (Browser Helper Object) Los BHO’s no necesitan permisos especiales

para su instalación (sólo de escritura en el registro).

Tienen acceso a todos los datos (en claro) enviados y recibidos por el navegador.

Resultado: La mayoría de los troyanos bancarios

actuales toman esta forma. El teclado virtual y el cifrado de las

comunicaciones son completamente inútiles.

BHO’s (Browser Helper Object)

Vectores de infección A través de la navegación Web

Habitualmente aprovechando vulnerabilidades en los navegadores.

Redes P2P Reclamo, el de siempre: sexo, sex, sex, sesso,

geschlect. Correo electrónico

Habitualmente camuflado como un programa legítimo: salvapantallas, juegos, etc...

Infección vía Web Es, probablemente, la vía de infección más

común. Comprometen sitios Web e instalan en ellos

el código exploit del navegador. Utilizan vulnerabilidades de los navegadores más

utilizados: IExplorer, Firefox y Opera. El usuario, al visitar la página, provoca la

ejecución del dropper. Éste descarga el código del troyano en sí y

lo ejecuta.

Infección vía Web

Ya hemos capturado uno, ¿y ahora qué hacemos?

Análisis del binario ¿Cómo analizamos un binario? Básicamente dos enfoques:

Análisis estático: desensamblado de código.

Análisis dinámico: estudio del comportamiento del binario.

Análisis estático Implica un proceso de ingeniería

inversa sobre el código, para estudiar detalladamente qué hace y cómo lo hace.

Es código final, luego sólo se puede obtener código ensamblador (¿quién recuerda ensamblador?).

Es un proceso laborioso, complicado y que consume muchísimo tiempo.

Análisis estático Problemas de este enfoque:

Casi todo el malware utiliza ya técnicas anti-depuración y anti-desensamblado, lo que complica aún más el análisis.

Es un proceso manual, ¿imposible? de automatizar. Esto implica: Dificultad para las empresas de seguridad:

escasez de recursos humanos de calidad y/o con experiencia.

El enorme volumen de malware provoca que sea imposible el análisis incluso para las grandes compañías antivirus.

Análisis estático

Más problemas de este enfoque: Dada la naturaleza de los troyanos, existe

una urgencia extrema en llevar a cabo el análisis (o un pre-análisis, al menos).

Ventajas: En ocasiones, es la única manera de

conocer el comportamiento del troyano en su totalidad y con exactitud.

Análisis dinámico Se trata de estudiar el comportamiento

del troyano, ejecutándolo en un entorno controlado.

Se analizan todos los cambios producidos en: El sistema de ficheros: archivos creados,

borrados, modificados, etc… Nuevos procesos creados por el troyano. El registro: en entornos Windows. Tráfico de red: todo el tráfico producido

y/o recibido por el troyano.

Análisis dinámico Inconvenientes del enfoque:

Es un estudio parcial, que no permite extraer conclusiones definitivas ni completas.

Cada vez más troyanos incluyen técnicas de detección de entornos virtuales. En ese caso simplemente no actúan o cambian

su comportamiento. En ocasiones hay dificultades para provocar

el comportamiento malicioso: Si el troyano no tiene actividad, ¿cuenta con

técnicas anti-virtualización o no se dan las condiciones adecuadas (URL correcta, por ejemplo)?

Análisis dinámico

Ventajas del enfoque: Es mucho más rápido que el análisis

estático. Requiere muchos menos conocimientos,

luego puede ser realizado por personal menos cualificado.

En condiciones de presión por escasez de tiempo, puede ser la única opción viable.

Inyección de código HTML

Técnica más reciente en troyanos que toman la forma de BHO’s.

Consiste en manipular el código HTML de la página Web antes de que ésta sea presentada al usuario.

Inyección de código HTML

<td class="clave_acceso_pin" width="95">Clave de acceso</td> <td width="60"><input NAME="USER" TYPE="text" SIZE="10" MAXLENGTH="10" value="" tabindex="1"></td><td class="clave_acceso_pin">Código (PIN)</td> <td><input NAME="PIN" TYPE="password" SIZE="10" value="" tabindex="2“ onfocus="javascript: foco_pin('PIN', 'LOGIN')"></td> <td><img src="../3099/img/flecha.png" alt="flecha" title="usa el teclado virtual"></td> <td rowspan="2" align="left"><SCRIPT LANGUAGE="JavaScript" type="text/javascript"> teclado("PIN",'LOGIN'); </SCRIPT></td>

Inyección de código HTML

<td class="clave_acceso_pin" width="95">Clave de acceso</td> <td width="60"><input NAME="USER" TYPE="text" SIZE="10" MAXLENGTH="10" value="" tabindex="1"></td><td class="clave_acceso_pin">Código (PIN)</td> <td><input NAME="PIN" TYPE="password" SIZE="10" value="" tabindex="2“ onfocus="javascript: foco_pin('PIN', 'LOGIN')"></td> <td><input NAME=“Firma" TYPE="password" SIZE="10" value="" tabindex="2“ onfocus=""></td><td><img src="../3099/img/flecha.png" alt="flecha" title="usa el teclado virtual"></td> <td rowspan="2" align="left"><SCRIPT LANGUAGE="JavaScript" type="text/javascript"> teclado("PIN",'LOGIN'); </SCRIPT></td>

Inyección de código HTML ¡Indetectable para un usuario no

experto! El ‘candadito’ está perfectamente

cerrado: El certificado presentado por el banco es

legítimo. La URL del servidor es correcta. El origen de los datos no ha sido

manipulado, sólo su presentación al usuario.

Inyección de código HTML ¿Dónde reside el problema?

Los navegadores no son confiables. Los datos se manipulan en capa de

aplicación: una sesión SSL no es garantía de seguridad.

El interfaz BHO no parece haber sido una buena idea por parte de Microsoft.

The Killer Trojan Armagedón:

Un troyano que utilice inyección de código HTML.

Muestre los mensajes en correcto castellano, claro está.

Que no pida la clave de firma en la pantalla de login. O mejor, que no la pida en absoluto y

espere a que se utilice para capturarla.

Economía del malware

Hace tiempo que el malware dejó de ser cosas de freaks o hackers en busca de reconocimiento.

Hoy es un negocio muy lucrativo y, como tal, el marketing también ha llegado al fraude online.

Economía del malware• ¡Vamos de compras!

500$Troyano muy completo del que hablaremos más adelante

Limbo Trojan

Un ejecutable 5$, actualización 5$, el generador 10$.

¡Una ganga! Otro troyano para Webmoney pero mucho más barato.

WMT-spy

500$, pero los cien primeros al precio especial de 400$ (!)

Captura cuentas de Webmoney.Webmoney Trojan

40$Típico keylogger. Con técnicas de ocultación; bastante completo.

Keylogger Teller 2.0

PrecioDescripciónNombre

Producto garantizado:Resultado del

análisis en VirusTotal

Producto garantizado:Resultado del

análisis en VirusTotal

¿Cómo se paga? La forma más común para comprar estos

‘productos’ es contactar vía ICQ con el vendedor.

Una vez de acuerdo, el comprador paga, el 80% de las veces a través de WebMoney.

De hecho, a menudos los precios se anuncian en WMZ, la moneda oficial de WebMoney, equivalente a 1 dólar USA.

¿Cómo arreglamos esto?

Contramedidas actuales Los consejos habituales a los

usuarios ya no son garantía de seguridad: “Compruebe el candado del navegador” “No pinche en ningún enlace, escriba

directamente la URL en el navegador” “Mantenga su antivirus actualizado”

Aunque, por supuesto, no deben dejar de darse ni de seguirse.

Tarjeta de Coordenadas Los phishers se adaptan a todo: piden

una serie de coordenadas futuras

DNIe Es como los billetes de 500€: ¿alguien

ha visto uno? ¿Cuánto queda para que todo el

mundo lo tenga? (junto con el lector)

Tokens OTP Alguna entidad ha empezado a

ofrecerlos para su banca de empresas Un pseudo-token OTP con teléfono

móvil para la banca de particulares Es difícil que se extienda su uso porque

todavía son dispositivos caros Quizás sea mejor que el DNIe solucione la

papeleta

¿Son estas medidas definitivas? Las medidas anteriores elevan el nivel

de seguridad, pero…. …siguen siendo vulnerables a un

ataque de suplantación en tiempo real. Eso sí, el ataque podría ser detectado

mucho más rápidamente Afortunadamente, a día de hoy no se

conoce ningún troyano que lo haga todavía, ¡pero no tardarán!

Resumen ¿Por qué estamos en esta situación?

Un PC es un entorno inherentemente inseguro

Todo el mundo espera que otros soluciones el problema: El gobierno pide al sector financiero que

asuma su parte de responsabilidad Y los bancos piden a los usuarios que

mantengan sus PC’s impolutos, y esperan que el gobierno acabe de desplegar el DNIe

Resumen Los troyanos han vuelto para

quedarse Irán adaptándose a cada nuevo

sistema de autenticación que se proponga

Todas los esquemas de autenticación son vulnerables a un troyano con ciertos permisos instalado en el PC del cliente

Resumen El canal Internet ha provocado que la

autenticación se realice de forma exclusiva en el front-end (el PC del cliente) En 1984 el primer banco online, Bank of

Scotland, exigía especificar por escrito las cuentas a las que se podían realizar transferencias.

Existe la sensación de que las defensas exclusivamente tecnológicas no dan más de sí (dado el entorno operativo de los usuarios)

Resumen A largo plazo, la solución tendría que

venir por aumentar la resistencia del sistema (detección temprana del fraude, limitar el riesgo, retrasar las transferencias a ciertos paises) frente a su integridad (hay que contar con que siempre habrá un cierto número de cuentas comprometidas)

¡Sin abandonar las defensas tecnológicas, por supuesto!

¡Gracias por vuestra atención!

¿Preguntas?

Attribution. You must give the original author credit.

For any reuse or distribution, you must make clear to others the license terms of this work.

Any of these conditions can be waived if you get permission from the author.

Your fair use and other rights are in no way affected by the above.

This work is licensed under the Creative Commons Attribution-NoDerivs License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Creative Commons Attribution-NoDerivs 2.0

You are free:

•to copy, distribute, display, and perform this work

•to make commercial use of this work

Under the following conditions:

No Derivative Works. You may not alter, transform, or build upon this work.

Recommended