Troyanos y Phishing Óscar Delgado Mayo 2007 - Madrid Patrocinada por Con la colaboración de
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.