Curso de privacidad y protección de comunicaciones digitales


   Lección 0. Introducción. Problemática en la privacidad de comunicaciones digitales
   Lección 1. Introducción al cifrado de la información. Herramienta GPG y OpenSSL
   Lección 2. Cifrado de discos: proteger tu privacidad de forma sencilla y efectiva
   Lección 3. Comunicaciones seguras mediante mensajería instantánea
   Lección 4. Protección de comunicaciones en dispositivos móviles
   Lección 5. Protección de comunicaciones en redes sociales
   Lección 6. Malware: orígenes y evolución
   Lección 7. Canales subliminales. Esteganografía




Lección 6. Malware: orígenes y evolución
Sergio de los Santos - 24/09/2013
Sergio de los Santos es consultor y auditor técnico de seguridad. Actualmente lidera el laboratorio técnico de ElevenPaths.


Temario

Apartado 1. Introducción
Apartado 2. Historia
Apartado 3. Tendencias
Apartado 4. Malware para otras plataformas
Apartado 5. Clasificación clásica
Apartado 6. Clasificación por objetivos
Apartado 7. Técnicas de robo de datos



El objetivo es ofrecer una visión global y realista del malware contemporáneo, contemplando fundamentalmente las bases de sus técnicas de difusión, infección y robo de datos. Igualmente repasar las diferentes categorías y clasificaciones del malware que se pueden realizar, centrándose en la experiencia real que supone hoy la investigación de la industria del malware, y alejándose de la "literatura clásica" sobre el malware tradicional.

APARTADO 1. INTRODUCCIÓN

A pesar de llevar más de 30 años entre nosotros, existe aún una importante confusión sobre lo que es y lo que no es malware o "virus informáticos", especialmente entre la prensa no especializada y los usuarios que sufren la plaga. Paradójicamente, la avalancha de información disponible en Internet no ha hecho más que acentuar la confusión y desinformar más que aclarar términos. Además, la rápida evolución del malware en los últimos años unida a la lenta asimilación de los entresijos de esta amenaza por parte de quien la sufre hace que, para cuando hayan conseguido digerir alguna norma o entendido algún concepto sobre el malware, este ya resulte inexacto o, cuando menos, ya no sea válido. Por ejemplo, cuando los usuarios han comprendido que no se deben lanzar archivos ejecutables, esta se convierte en una amenaza "menor" y los problemas vienen por ficheros de otro tipo que todavía consideran confiables o por vulnerabilidades que pasan desapercibidas. Y es que el malware, para conseguir unos niveles de infección mayores cada año, debe ir siempre un paso por delante de los usuarios a los que infecta, de las casas antivirus que lo combaten, e incluso de los investigadores que pretenden seguirles la pista.

Sencillamente, malware es el software diseñado para infiltrarse en un sistema informático y causar algún tipo de daño o robar información. El daño o abuso del sistema puede venir por cambios no deseados en configuración, en los programas, en el sistema operativo, en los controladores, etc. La información robada (o a la que se impide el acceso) puede ir desde contraseñas, pasando por certificados, documentos y fotografías, datos bancarios o hábitos de navegación y uso del ordenador.

Malware es un apócope "malicious software" y es el término más usado entre los profesionales que se dedican a su estudio. Entre los usuarios y los medios no especializados se utiliza en mayor medida la expresión "virus" o "virus informático" legada de los tiempos en los que el malware de tipo "virus" era el más común. Hoy en día, precisamente el malware de tipo "virus" resulta anecdótico extraño y no se encuentran tantos ejemplares activos.

Hace algunos años, las características básicas que definían los virus informáticos pasaban por unos estados muy similares a los que podían establecerse para definir un virus biológico. Una de las formas (ya obsoletas) de definir precisamente un virus, era comprobar que cumplían con su "ciclo vital", que consistía:

  1. Nacimiento
  2. Difusión
  3. Estado de latencia y activación
  4. Ocultamiento
  5. Reproducción
  6. Infección
  7. Activación
  8. Daño

Por hoy el malware evita muchas de estas premisas y pasan directamente a la infección y daño, o sus etapas son mucho más difusas debido a la profesionalización del medio. Un "ciclo de vida" del malware mucho más ajustado a la actualidad podría ser:

  • Nacimiento: El atacante crea (programa) el malware y su infraestructura necesaria. Habitualmente nunca parte de cero. Toma código (o el kit necesario) de terceros accesible en foros o el mercado negro, modifica las variables (objetivos a los que atacar, punto en el que dejar los datos robados, etc.) y comienza su difusión.

  • Difusión inicial: El malware puede venir por la difusión inicial del atacante (punto de partida desde el que se infecta a la víctima "de primera mano") o por la difusión "secundaria" ejercida por los propios sistemas ya infectados. La difusión inicial actualmente suele venir por varias vías que se describen más adelante.



Figura 1. Kit de explotación BlackHole 2, con estadísticas para el atacante. Fuente: Krebs on Security.

  • Explotación y ejecución: El malware debe ejecutarse para vivir. Es su premisa fundamental y la condición básica para la infección. Para poder lanzar código en el sistema necesita solo una de dos condiciones: o aprovechar una vulnerabilidad que se lo permita o que el propio usuario ejecute el programa (conscientemente o no, a través de algún automatismo del sistema operativo que desconoce, por ejemplo).

  • Ocultación, supervivencia y difusión: El malware necesita sobrevivir en el equipo. Para ello suele ocultarse con técnicas conocidas para dificultar su detección (que incluyen desde la creación de rootkits hasta la actualización constante para evitar firmas de antivirus), establecerse en algún punto de inicio del sistema para sobrevivir al reinicio y en menor medida, difundirse desde el equipo infectado.



APARTADO 2. HISTORIA

Inicios - 2004

En la década de los cincuenta, Joh Von Neuman desarrolló el concepto de programas autorreplicantes, sentando las bases técnicas de programas y datos almacenados de forma conjunta en memoria.

En los años 60, en los laboratorios Bell, varios programadores crearon por pura diversión el juego "Core Wars". Estos programas peleaban entre sí por ocupar espacio en memoria, eliminando al contrario. Las técnicas usadas para la reproducción de los programas en memoria sentarían las bases de los virus posteriores.

En 1970 en el Palo Alto Research Center de Xerox, se desarrolló un programa que se autorreproducía controlando el estado de las redes informáticas. Constituía el primer concepto de virus tipo "gusano". Un pequeño error de programación hizo que este programa se replicara sin control colapsando la red, y que fuese necesario la elaboración de otro programa que lo eliminaba, sentando las bases así del primer antivirus. En Aparnet también se pudieron observar programas parecidos, puramente experimentales, que se reproducían en las redes. Así, por ejemplo el gusano Creeper era aniquilado por otro programa llamado Reaper, con funciones contrapuestas.

A principios de los 80 el gusano más famoso estaba diseñado para Apple II y se llamaba Elk Cloner, tan solo escribía un mensaje en pantalla.

Hasta entonces, la amenaza se centraba en un puñado de gusanos, estrictamente hablando, que no constituían virus en sí mismos. No fue hasta 1983, que Fred Cohen demostró empíricamente que se podía crear código que atacara a otros programas modificándolos, y a la vez fuese capaz de autorreplicarse.

No fue hasta 1986 que aparecieron los primeros virus dañinos. El primer virus que atacaba a un PC (de IBM) fue Brain, y se transmitía, en disquetes de cinco cuartos. La finalidad en este caso no era la de destruir nada, sino que la idea por la que nació este primer virus masivo fue para espiar el posible software pirata que sus creadores también comercializaban y pudiese permanecer instalado en estos PC. Fue el primero en utilizar técnicas de ocultación. Su popularidad y utilidad animó a otros programadores, y estar infectado pasó a ser algo relativamente normal. Pincha en la siguiente imagen para ver el vídeo.



Figura 2. Los creadores de Brian, 25 años después, reportaje de F-Secure.

En 1987 se publicó en un libro sobre virus el código de Vienna, lo que animó a muchos investigadores a crear variantes. Los primeros daños los produjo Lehigh. Equipado con un contador, sobrescribía datos aleatorios en un disquete cada cuatro ejecuciones. Dada su capacidad destructora del propio sistema que lo alojaba, no consiguió excesiva popularidad.

Viernes 13 fue el primer virus residente en memoria. Stoned fue el primer virus de arranque, que sirvió de base para Michelangelo, primer virus que llamó poderosamente la atención de la prensa, convirtiéndose en plaga. Cascade fue el primer virus cifrado.

En 1988 Morris creó el gusano que, en apenas unas horas, consiguió ralentizar hasta el colapso ARPANET. Se difundía gracias a un fallo del programa servidor de correo Sendmail.

Poco después se desarrolló la industria antivirus, con la aparición de los primeros programas comerciales capaces de desinfectar, y la creación de la CVIA (Computer Virus Industry Association). Esto, unido al espectáculo mediático que la prensa había creado en torno a la amenaza vírica, no hizo más que acentuar la imaginación de los creadores para crear más y mejores virus informáticos, capaces de difundirse mundialmente y pasar desapercibidos para estos primeros prototipos de antivirus.

La popularidad del sistema operativo MS-DOS y los primeros Windows impulsaron a los creadores de virus a decantarse por esta plataforma como caldo de cultivo. La facilidad para alojarse en discos flexibles y ejecutarse silenciosamente en el entorno DOS hizo que a principios de los noventa el número de virus creciera considerablemente.

Aparecieron además los kits de creación rápida como VCL (Virus Creation Laboratory).

A mediados y finales de los noventa, la Red se hacía popular, y la propia fama de virus anteriores alentaba a muchos programadores a crear su propio virus que consiguiera quince minutos de notoriedad. Encontraron la oportunidad en los virus de macro, que convivían aún con los de disquete tradicionales. Los virus de macro se aprovechaban de la inclusión de código ejecutable en el omnipresente Office de Microsoft, y la costumbre de compartir ficheros con otros usuarios hizo el resto.

En 1999, cuando Internet ya era usado por millones de usuarios en el mundo entero, se creó Melissa, un virus de macro que tenía la capacidad de tomar las direcciones de correo del sistema y autoreenviarse. Este simple sistema le proporcionó una capacidad de propagación masiva, y fue mimetizada a partir de entonces por todos y cada uno de los virus posteriores. Comenzaron a convertir los sistemas infectados en proxies, ordenadores zombis para atacar a otras web o a desactivar ciertos programas para pasar desapercibidos.

A partir de 2000, cada año existió una verdadera plaga. I Love You (con el que también se cebaron los medios), Slammer (de los más rápidos de la historia), Klez (el más persistente de la historia, con casi un año de permanencia en las listas de los virus con más víctimas)... Especialmente 2003 se reveló como un año catastrófico en cuestión de gusanos. En enero se sufrió el Slammer y en el verano Blaster, el gusano que demostró la utilidad de los cortafuegos personales. Estos gusanos se esparcían a sí mismos a través de paquetes por la redes, aprovechando vulnerabilidades en los servicios de puertos de los sistemas Windows. Se instalaban en uno de los servicios y comenzaba a reproducirse sin necesidad de aprovechar problemas de seguridad del cliente de correo ni que el usuario previsualizara o abriera nada. No requerían de intervención humana, tan sólo de sistemas con un puerto determinado en el que escuchara un servidor vulnerable. Tampoco necesitaban habitualmente instalarse en el disco duro infectado, tan solo permanecían en memoria. Todo esto permitió su rápida y endémica expansión por todo Internet. De ahí que las clásicas medidas de prevención fueran insuficientes o inútiles ante estos especímenes, con los que la única medida de prevención o antídoto consistía la actualización del sistema, o en caso de que no existiese, en un cortafuegos personal que negase el acceso a los puertos problemáticos.

Todos estos incidentes prepararon el terreno hasta llegar al año 2004, punto de inflexión en la creación de malware. Hasta entonces, existían unos 70.000 virus catalogados que detectaba cualquier programa antivirus. En 2004, la aparición de Beagle cambia el curso de la historia del malware, tanto a nivel técnico como desde el punto de vista de su motivación y razón de ser.

Historia 2004 - Hoy

En 2006 comienza la época dorada del malware bancario, destinado al robo de credenciales bancarias para poder robar las cuentas y el dinero real de las víctimas. Sinowal se convierte en extremadamente popular. Su fórmula de cliente-servidor y "malware como servicio" triunfa. En 2007 Zeus marca la tendencia en el malware bancario que llega hasta este 2013, con miles de variantes pero una misma filosofía. Se basa en el uso de un kit que permite la creación del troyano bancario personalizado.

Esta nueva generación de malware responde a unas características esencialmente distintas a las compartidas por todos sus antecesores de los anteriores 20 años.

  • La proliferación de nuevas variantes de malware ha crecido de forma literalmente exponencial. Se ha creado más malware en los últimos 5 años que en los anteriores 25. No se busca la excelencia sino la eficacia.

  • Se utilizan técnicas automáticas para ofuscar las variantes y dificultar la identificación por firmas.

  • La estrategia actual pasa por utilizar muchas variantes en vez de un único espécimen para llamar menos la atención y dificultar una respuesta rápida por parte de la comunidad antivirus.

  • El uso de la web como plataforma para la distribución.

  • Beneficio económico como única motivación.

  • Del malware autónomo al sistema de infección: El malware debe concebirse hoy como un complejo sistema multi-modular que se sirve de servidores (web, FTP...) comprometidos (o alquilados específicamente), una capacidad de mutación endiablada, y una modularidad que permite que sus funcionalidades cambien continua y radicalmente. El malware de hoy en día no se puede calificar como "troyano" o virus aislado, sino como un complejo sistema orquestado, cambiante, eficaz, lucrativo, y bajo el que se esconden mafias que se dedican en exclusiva a su mantenimiento, mejora y actualización continua a través de diferentes campañas espaciadas en el tiempo.



APARTADO 3. TENDENCIAS

Ciberguerra

En 2010 aparece el primer malware que marca oficialmente el comienzo de lo que se ha llamado "ciberguerra" y que no es más que el uso de malware sofisticado y subvencionado por gobiernos para el espionaje industrial y robo de información de alto nivel sobre otros gobiernos y organizaciones. Eugene Kaspersky considera que Stuxnet (diseñado y financiado supuestamente por el gobierno de Estados Unidos para espiar y atacar el plan nuclear Iraní) inaugura "el prototipo funcional de una ciberarma, que dará el pistoletazo de salida a una ciberguerra en el mundo". Ciertamente, aparecerían poco después Duqu, TheFlame...

Desde 2010 (aunque probablemente se lleva haciendo desde varios años antes) se inaugura la época de la ciberguerra. La marca Kaspersky ha sido la responsable de encontrar la mayoría del malware que ha definido este movimiento, y demostrado la capacidad de este nuevo concepto. El propio Eugene lo resume en estas líneas (refiriéndose a Stuxnet, pero aplicable a cualquier malware de este tipo), "este programa no ha sido diseñado para robar dinero, enviar spam o acceder a datos personales: ha sido diseñado para sabotear plantas y causar daños en entornos industriales. Me temo que es el principio de un nuevo mundo. Los 90 fueron la década de los ciber-vándalos, la década del 2000 fue la de los ciber-criminales, y me temo que ahora es la nueva era de las ciber-guerras y el ciber-terrorismo": Hispasec: una al día.

Las capacidades que hacen que un sistema pueda considerarse una "ciberarma" podrían ser las que han caracterizado a los tres representantes que por ahora más han sorprendido a la comunidad: Stuxnet, TheFlame y Duqu.

  • El uso de vulnerabilidades desconocidas hasta el momento para difundirse: Por ejemplo Stuxnet usaba hasta cuatro vulnerabilidades desconocidas hasta el momento para ejecutar código en las máquinas infectadas. Esto lo hacía 100% eficaz contra cualquier Windows, desde la versión 2000 hasta la 7. Solo los administradores que hubiesen tomado las máximas precauciones (evitar la ejecución de programas no conocidos, limitar al máximo los privilegios u otras medidas similares) se habrían podido librar de la amenaza. TheFlame hizo uso de una complejísima debilidad de diseño en la estructura PKI de la propia Microsoft para conseguir firmar su código: Hispasec: una al día 5 de junio de 2012.

  • Uso de certificados válidos y criptografía compleja: Los Windows más recientes requieren que los drivers estén firmados por certificados en los que se confíe para poder instalar drivers. Esto obliga a los creadores de malware a firmar su código... y obviamente se ven obligados a robarlos. Los drivers de Stuxnet utilizados como rootkit estaban firmados digitalmente por la empresa china Realtek. Esto significa que, en principio, solo Realtek puede ser responsable de ese código... excepto que su clave privada haya sido comprometida de alguna forma. TheFlame consiguió "el santo grial del malware", que es estar firmado como si se tratara de software legítimo de Microsoft. Significaba el salvoconducto perfecto, el sueño de todo creador de malware. La ventaja se encuentra en la forma en la que actúan las casas antivirus ante esta garantía y se trata de parte de la clave del éxito por la que TheFlame permaneció oculto durante al menos 5 años: Hispasec: una al día 29 de mayo de 2012.

  • Objetivos concretos: Otra de las características de este tipo de malware es que suele tener un único objetivo, y evita su difusión fuera de este ámbito determinado. Por ejemplo Stuxnet contenía dentro de su código la contraseña por defecto para la base de datos central del producto SCADA WinCC de Siemens. El troyano conseguía acceso de administración de la base de datos. Los sistemas "Supervisory Control and Data Acquisition (SCADA)" son programas críticos de producción industrial: toman datos muy sensibles de sensores de una fábrica, por ejemplo, y los envían a un sistema central para ser controlados. Se usan en grandes plantas de tratamiento de aguas, control eléctrico, de tráfico... Por tanto, se trata de un malware destinado a un perfil muy diferente del usuario "medio". En concreto, atacaba a una versión muy concreta que se utilizaba en una planta nuclear Iraní, y consiguió paralizarla. Duqu fue muy restrictivo y se encontró en menos de 100 equipos en todo el mundo, TheFlame ha sido encontrado en apenas unos miles.

Todas estas cualidades requieren una gran inversión en investigación, programación y ocultación. Aunque probablemente nunca exista una confirmación oficial, hacen pensar que han sido concebidos no solo por una mafia organizada como la que sostiene la industria antivirus actual, sino que forma parte de un entramado que parece tocar altas esferas.

APT Advanced Persistent Threat

Se trata de un término aparecido recientemente y que describe las amenazas avanzadas y persistentes contra un objetivo concreto. Las APT son amenazas muy concretas, dirigidas contra empresas tras un largo periodo de estudio del atacante. Con una gran cantidad de información previa en su mano, el atacante espera el momento exacto para atacar de forma muy concreta sobre los equipos que desea infectar.

Normalmente lo hace con un ataque de un malware personalizado, que por ejemplo, puede reunir estas características:

  • Está diseñado para pasar desapercibido para las soluciones de seguridad (antivirus, IDS...) concretas que utilice la compañía objetivo.

  • Se envía al que se conoce como eslabón más débil de la red interna para comenzar el punto de infección. Por ejemplo usuarios menos informados o técnicos (secretarias, comerciales, etc).

  • Se envía como un mensaje personalizado para infectar un primer sistema, y puesto que conoce la red interna, ataca directamente a los objetivos concretos que precisa. Por ejemplo repositorios de software.

  • Una vez consigue el control de los equipos internos que necesita, se mantiene oculto y pasando desapercibido el tiempo que el atacante considera necesario para cumplir su objetivo.

Los APT, por definición, son ataques que tendrán éxito tarde o temprano, y que se valen de algún tipo de malware muy específico para lleva a cabo su labor. Podríamos definir que el malware es una herramienta dentro del engranaje de lo que significa un ataque de APT, que requiere de otras muchas habilidades y conocimiento por parte del autor del ataque.



APARTADO 4. MALWARE PARA OTRAS PLATAFORMAS

Los virus para otras plataformas diferentes a los sistemas operativos de Microsoft han resultado siempre una simple anécdota si se compara con la avalancha orientada a Windows. La razones son varias. La omnipresencia del sistema operativo de Microsoft lo convierten en un objetivo apetitoso. Dado que una de los objetivos del malware optimizar los niveles de infección, esto se consigue atacando al sistema mayoritario, usado por la inmensa mayoría de usuarios medios, que además coincide con los usuarios con un nivel técnico inferior sobre los que se pueden aplicar fácilmente técnicas de ingeniería social.

Además, antes de la aparición de Windows XP, Microsoft no disponía de un sistema operativo destinado al usuario que dispusiera de unos mínimos controles de seguridad. Y aun así, las ventajas de XP nunca han sido suficientemente promovidas. Windows Vista se convierte en el primer sistema operativo de Microsoft donde prima la seguridad, con sus controles y mejoras activas por defecto, pero no es aceptado por el público. No es hasta Windows 7 que se unen popularidad y seguridad.

Antes de esto, los sistemas Windows no eran sistemas operativos multiusuario, tampoco utilizaban ningún tipo de restricción aplicable a usuarios no administradores. El sistema de ficheros usado no permitía la aplicación de permisos, no existían las más mínimas restricciones o contramedidas contra la explotación de vulnerabilidades... Esto, unido a unos métodos de programación que no contemplaba antes de 2001 la seguridad como imperativo, hizo que las plataformas de Microsoft (DOS y Windows 9x) se convirtiesen en un caldo de cultivo ideal para la creación y proliferación de malware.

El propio dominio aplastante en el mercado de las soluciones de Microsoft, (que se estima mantiene una cuota superior al 90% del parque mundial de escritorio) es en gran parte el responsable de que las infraestructuras informáticas sean más vulnerables a virus y ataques. La falta de diversificación aumenta los riesgos de seguridad y facilitaba las infecciones con menor diversificación del código.

Malware para Macintosh

Los usuarios de Macintosh han permanecido durante muchos años ajenos a la amenaza del malware. Desde que en 1982 apareciese Elk Cloner e infectase a sistemas Apple II a través de disquetes, pocas han sido las oportunidades de bautizar nuevo malware. No ha sido hasta 2006 que se ha visto un pequeño repunte en el malware dedicado a Macintosh. A partir de 2011, la cantidad de malware contra esta plataforma también ha aumentado ligeramente. La propia Apple tuvo que modificar su estrategia de marketing con la que alardeaba de ser inmune al malware (un verdadero despropósito desde el punto de vista técnico). Incluyó un rudimentario antivirus en su sistema, y modificó su publicidad. Las casas antivirus han comenzado a ver en Mac OSX una oportunidad de negocio.

Después de algunos ejemplos en 2006 que podrían considerase pruebas de concepto (OSX/Leap, OSX/Oomp-A, Inqtana-A...) se detectaron en 2007 hospedados en páginas de contenido pornográfico, malware específicamente orientado a este sistema operativo, que se descargaba automáticamente para OS X o Windows según lo indicara el navegador de la potencial víctima (Safari o Internet Explorer).

El ataque estaba dirigido a usuarios de Windows y Macintosh desde páginas con supuestos vídeos pornográficos. Cuando el usuario visitaba una de las páginas y seleccionaba visualizar uno de los vídeos, el servidor web detectaba si el sistema es un Windows o Macintosh a través del User-Agent del navegador. En función de ese dato, la página web intentaba que el usuario se instalase la versión del malware para Windows (extensión EXE) o para Mac (extensión .DMG). El usuario de Macintosh tendría que introducir la contraseña de administrador para proceder a la instalación del troyano. Este fue bautizado por algunas casas antivirus como "OSX/RSPlug-A" y "OSX/Pupe". Suponía la primera vez que los creadores de malware (como industria) se molestaban en desarrollar una versión del malware específica para los usuarios de Macintosh, teniendo en cuenta por primera vez a usuarios de esta plataforma como objetivo. Eran en su mayoría malware que modificaba los sistemas DNS del equipo (DNS Changers) y que permitía al atacante redirigir a páginas fraudulentos la navegación del usuario.

En 2011 se dio también una campaña masiva de infección contra PCs y Macs. Los atacantes consiguieron posicionar muy alto en Google ciertas búsquedas que acaban, de nuevo, en malware. Según quién lo visitara se descargaba malware para uno u otro sistema. En el caso de Mac, se intentaba infectar con un antivirus falso con un archivo llamado BestMacAntivirus2011.mpkg.zip. La campaña tuvo mucho éxito.



Figura 3. Fuente: McAfee.

En 2013 se ha adaptado también el exitoso ransomware conocido como "virus de la policía" a este sistema operativo, detectándose varias versiones activas y con un relativamente alto nivel de infección.

Malware para Linux

El malware para sistemas Linux ha sido también anecdótico a lo largo de los años. Además, se ha clasificado de forma errática como malware para Linux gusanos que atacaban a servidores con código PHP. Casi todos los ejemplares conocidos son pruebas de concepto que apenas han escapado de laboratorios o entornos cerrados. Sí que existe malware para Linux, pero está muy lejos de la industria del malware predominante dedicada al lucro, y más cerca del potencial peligro de ataques personales o corporativos dedicados y dirigidos, por lo que su repercusión fuera de los propios involucrados (víctima y atacante) es más bien nula.

Uno de los casos más conocidos fue el malware orientado a la explotación de los problemas XML-RPC en servidores de PHP en máquinas Linux. Aprovechaba una vulnerabilidad de junio de 2005. Si se aprovechaba este fallo un atacante podría comprometer un sistema. El gusano bautizado como Lupper o Luppi instalaba aprovechando esta vulnerabilidad un troyano usando la herramienta para descarga wget.

Malware Multiplataforma

Se han dado algunos casos anecdóticos de malware multiplataforma, capaz de infectar normalmente sistemas Windows y Linux. En 2007 apareció una prueba de concepto capaz de infectar tanto a sistemas operativos Windows de Microsoft como GNU/Linux en general, llamado Virus.Linux.Bi.a/Virus.Win32.Bi.a. Resultaba bastante inofensivo y sólo se extendía sobre los archivos en el directorio donde se había ejecutado, sin causar daño alguno y sin auto-propagarse a otros sistemas. Su peculiaridad es que era capaz de infectar dos tipos de ejecutables distintos, los PE (Portable Executable) que son los ejecutables que usa Windows, y los ELF (Executable and Linkable Format) que es el formato estándar binario para Linux. Estaba escrito expresamente en ensamblador.

A principios de 2001 se anunció Winux, que infectaba también a ejecutables tanto en Windows como Linux. Se trataba igualmente de una prueba de concepto bastante primitiva no optimizada para su propagación que no poseía ningún tipo de efecto destructivo.

Los virus para ambas plataformas continuarán suponiendo una curiosa excepción ocasional.

Malware para móviles

Desde la aparición de los smartphones aproximadamente en 2006, el malware para móviles ha crecido sustancialmente. Durante la época dorada de los terminales Nokia las conexiones bluetooth, se detectaron varios tipos de malware que llegaron a tener gran relevancia. Entre ellos Commwarrior, que afectaba al sistema operativo Nokia, y se distribuía por Bluetooth. En España logró tanto éxito que se adaptaron los mensajes al español.



Figura 4. Cadenas encontradas dentro de Commawarrior.B para Nokia en 2006. Fuente: F-Secure.

Cuando Apple rompió el mercado con el iPhone en 2006, y más tarde con la aparición de Android, el panorama cambió sustancialmente. Android se ha convertido en "el nuevo Windows", siendo un objetivo primordial del malware, con niveles de infección preocupantemente altos y con una sofisticación creciente. Las razones son varias, pero fundamentalmente los teléfonos móviles y tabletas no son más que ordenadores hoy por hoy, desde donde se realizan las mismas tareas que en el equipo de sobremesa y con conexión permanente, mismas circunstancias que permitieron las explosión del malware en internet.

Varios factores se han dado para que este sistema operativo se esté convirtiendo en objetivo principal del malware. Si comenzamos por los descartes, Symbian, Blackberry y Windows por ahora son poco usados y por tanto poco atractivos. Entre iOS y Android, la apuesta de los atacantes está clara: Android no requiere que sus aplicaciones estén firmadas por Apple como en iOS. Esto aleja el malware de iOS.

Por otro lado, la vía principal de infección, la Store (a pesar de los esfuerzos de Google), no exige demasiado a los desarrolladores ni a las propias aplicaciones, mientras que Apple resulta mucho más estricta.

El estado del malware en móviles está en sus albores, pero muestra similitudes con los comienzos del malware "tradicional". F-Secure publicó un estudio del malware en móviles durante 2012. Android copaba ya el 79% del malware para móviles, dejando el resto para iOS, Blackberry, Windows y Symbian.



Figura 5. Infección por plataformas en 2012. Fuente: F-Secure.

De 301 familias de malware para móviles estudiadas en 2012, un 79% estaban pensadas para Android. Si atendemos al uso, en el mundo durante 2012 Android ha superado a iOS. Sin embargo la racha de aumento de malware ha sido constante y sostenida, aumentando verticalmente durante 2012. Por ejemplo en 2010, de 80 familias y variantes de malware para móviles encontradas por F-Secure, poco más del 11% estaba dedicado a Android. Por aquel entonces, Symbian se llevaba la peor parte.

El malware más popular para móviles son los que utilizan los mensajes Premium para monetizar rápidamente la infección. El sistema es infectado y permite el envío automático de mensajes a servicios Premium SMS que pertenecen a los propios atacantes (o con los que están asociados), con lo que consiguen amortizar rápidamente el programa a costa del saldo de la víctima.

Otra variante es el malware en Android como "complemento" de los troyanos bancarios. Recordemos que los bancos que utilizan los SMS como canal de autenticación son atacados de esta manera. La víctima es instada, con su equipo infectado, a introducir su número de teléfono. El malware envía un SMS a ese número con un enlace desde donde se puede descargar un APK. En versiones más modernas (como el caso del kit "Perkele" para Android) la víctima debe escanear un código QR que se muestra en pantalla. En cualquier caso, instala el APK y troyaniza también su teléfono. Este programa (que simula ser un certificado del banco o una solución antivirus) reenviará los SMS al número del atacante.



Figura 6. Ejemplo malware para Android complementario de Zeus en el PC, disfrazado de solución antivirus.

Una vez el atacante controla los dos dispositivos (PC y móvil) puede realizar transferencias.



Figura 7. Ejemplo de código inyectado en el navegador para conseguir infectar también el teléfono. Si se elige algo diferente a Android, la infección se detiene.

En las últimas variantes, (del mencionado Perkele) se establece una botnet "adicional" con el malware instalado en el teléfono. Esta es una muestra real de la mencionada Perkele.



Figura 8. Fuente: Krebs on Security.

Otra categoría sería el malware "espía" que permite a un tercero obtener información del teléfono o de la actividad del usuario.

Existen otras variantes posibles (que quizás se popularicen en el futuro) siguiendo los pasos del malware para escritorio, como pueden ser troyanos que bloqueen el teléfono buscando un rescate o que muestran publicidad.

Ya se ha detectado malware para móviles que modifica las aplicaciones para operar con el banco. En Corea se han detectado aplicaciones para Android que desinstalaban las aplicaciones de banca legítimas y las suplantaban con sus propias aplicaciones que robaban las credenciales.



Figura 9. Malware simulando ser aplicaciones para bancos coreanos. Fuente: McAfee.

Se espera que el malware bancario para Android crezca en el futuro.

El malware llega al teléfono principalmente, a través el concepto de "troyano" tradicional. La víctima descarga lo que cree un programa inocente de Google Play, pero que en realidad resulta ser malware. Puede también ofrecer la funcionalidad prometida, pero no es relevante.

Esta es la vía fundamental. Pero como es de esperar, el mundo móvil debe imitar a la larga al escritorio. En mayo de 2012 se encontró por primera vez malware "drive by download" para Android. Esto significa que la víctima se infectaba navegando con su teléfono, como ocurre habitualmente en el escritorio. En este caso no aprovechaba ninguna vulnerabilidad del navegador, sino que si la página era visitada con Android, aparecía un mensaje pidiendo descargar una aplicación.

Esta sigue siendo una tónica habitual para Android, por ejemplo haciendo uso de "scareware" en la línea de lo que se ha venido haciendo para Windows.



Figura 10. A la izquierda, "scareware" típico de Windows de 2007. A la derecha, imagen de scareware para Android en 2013.



APARTADO 5. CLASIFICACIÓN CLÁSICA

La clasificación "clásica" del malware ha quedado obsoleta. En la mayoría de la literatura existente, se hablaba de una serie de características que definen el malware según principalmente su método de infección, objetivos y propagación. Esto no es aplicable al mundo real desde hace años. La clasificación se basaba fundamental y someramente en:

  • Virus: de macro, de compañía, del sector de arranque, de memoria... Aunque se puede mantener hoy en día esta clasificación, no es realmente útil. Los virus en su concepción clásica han desaparecido, y aunque se dan algunos "revivals" de técnicas (hoy en día los virus del arranque vuelven a ser habituales) no marcan tendencia y los límites no están bien definidos.

  • Gusanos: Prácticamente desaparecidos. Tuvieron en Slammer y Blaster sus principales exponentes pero exceptuando brotes como Conficker, no son habituales ya. Potencialmente, pueden llegar a ser los más dañinos, debido a que desarrollan sobre todo la capacidad de réplica. En muchas ocasiones, es la propia capacidad de difusión salvaje la que puede resultar dañina sin necesidad de payload específico, por el propio colapso de los recursos. La mayor seguridad de los servidores impiden que se repliquen de este modo, teniendo que recurrir a otras técnicas como la difusión por dispositivos USB o unidades compartidas remotas. La mejora también de la seguridad por defecto en Windows ha limitado igualmente este parámetro de difusión.

  • Bombas lógicas: remitían a la activación en un momento determinado. Si anteriormente se hablaba de fechas o eventos concretos para activar el "virus", hoy puede verse estas "bombas lógicas" desde otra perspectiva. Por ejemplo, es habitual encontrar que los troyanos bancarios se activan cuando el usuario visita la página objetivo. Pero sobre todo, se podría pensar en la "no activación" del malware si se sabe "observado" por analistas, o sistemas de análisis automático. Se podría decir que los troyanos esperan a un momento de activación concreta pero para "no activarse" y pasar desapercibidos en los análisis automáticos que realizan las casas antivirus. Un ejemplo claro es detectar que se encuentran en máquinas virtuales.

  • Troyanos: Los troyanos son llamados así por analogía con el mito del Caballo de Troya, que ocultaba a un ejército griego en un supuesto regalo a la ciudad de Troya. Se denominaba en un principio así a todo programa que, una vez ejecutado, ocultaba en él otro tipo de código que ejercía acciones no deseadas sobre el sistema, de forma oculta para el usuario. En principio, esto podría definir a cualquier programa destinado al engaño, a facilitar la ejecución de algún tipo de software que en realidad ocultara alguna otra funcionalidad. Hoy en día se denomina troyano a la mayoría del malware, puesto que se camufla como lo que no es, y permite el control remoto del atacante. También se asociaba el término "troyano" al malware que permitía a un tercero conectarse al sistema y manejar el ordenador. Tuvo su época dorada con malware que actuaba como sistemas de control remoto tipo BackOrifice o Sub7. Hoy siguen existiendo las "RATS (remote administration tools) pero casi nunca se realiza una conexión "de fuera adentro" del sistema infectado a través de una herramienta específica, sino que se controla a través de plataformas web "de dentro a fuera" o sea, que es el propio malware el que acude a un servidor remoto a recoger órdenes.

  • Dialers: Muy populares a finales de los 90, utilizaban números de tarificación especial para conectar al usuario a internet, modificando su configuración y usando conexión a través del módem. Esta es principalmente la razón de su desaparición, pero puede verse un "renacimiento" en el malware para Android que utiliza el envío de mensajes premium.

  • Exploits: Los exploits siguen totalmente vigentes, más como medio de infección que como malware en sí. Los exploits consiguen ejecutar el malware, no "son" el malware. Son una vía muy importante de infección hoy por hoy, pero sin embargo los antivirus siguen teniendo muchos problemas para detectar un exploit.

  • Rootkits: Forman casi siempre parte del malware actual más sofisticado. Modifican el sistema con drivers que impiden que se visualice el troyano como proceso, o que sea detectado con herramientas del propio sistema.



APARTADO 6. CLASIFICACIÓN POR OBJETIVOS

Puesto que la clasificación técnica se hace muy compleja por el hecho de que la mayoría del malware hoy combina muchas características que impiden poder ser estrictos, quizás la clasificación por objetivos suponga un método mucho más efectivo de "ordenar" el malware.

Pensar que un sistema informático no es atractivo para un atacante, o que no se almacena ninguna información relevante como para que alguien quiera infectar el ordenador, o incluso que no se realizan operaciones sensibles que necesiten ser protegidas, es un grave error. Esta es una idea totalmente equivocada de la seguridad y muy peligrosa no solo para el usuario que la defiende sino para la seguridad global de Internet. La confusión tiene su origen en pensar que los atacantes quieren datos e información de la víctima, y esto no siempre es cierto. La mayor parte de las veces, lo que necesitan, su principal objetivo, son sus recursos. Y esta distinción hace que cualquier usuario conectado a Internet, por el simple hecho de estarlo, ya posea cierto valor para un atacante.

  • La mayoría de los usuarios utiliza un ordenador para conectarse a Internet. Ese dispositivo posee un poder de procesamiento que puede ser aprovechado por ciertos atacantes para realizar tareas que requieran gran poder de computación. Si consigue acceder a él y controlarlo podrán, por ejemplo, realizar "bitcoin mining". Existen troyanos dedicados en exclusiva a utilizar los recursos del sistema para generar esta moneda virtual.

  • Otro recurso interesante para el atacante es la propia conexión de la víctima. El ancho de banda es relevante para un atacante porque le podría permitir usar el sistema víctima como un zombi dentro de una botnet. Una vez troyanizado, la víctima obedece órdenes y cuanto más ancho de banda, más útil como elemento de, por ejemplo, una denegación de servicio distribuida, donde los sistemas víctima inundan de peticiones la web atacada.

  • Es posible que la víctima disponga de contraseñas para el correo o redes sociales, por ejemplo. El atacante o troyano robará y utilizará esos datos no para cotillear sobre los correos de la víctima, sino para enviar spam personalizado a los contactos, haciéndose pasar por el atacado.

  • Además, si el usuario hace uso de banca online, PayPal u otros, pueden robar directamente dinero de las cuentas. Esto es algo que, hoy, todavía muchos usuarios desconocen que sea posible.

  • Y por último, sí que es cierto que el atacante ni quiere ni necesita para nada fotografías o documentos de usuarios anónimos en la Red... pero su legítimo dueño sí que las querrá y necesitará. Así que en última instancia pueden secuestrar el ordenador y pedir un "rescate" por volver a tener acceso a esos datos.

Atendiendo a estas "necesidades" y recursos de los que se puede aprovechar el atacante, se puede realizar la siguiente clasificación por objetivos

Ransomware

Se conoce así al malware que pretende lucrarse a través de la "extorsión". Habitualmente, un sistema infectado por este tipo de malware contiene alguna rutina capaz de cifrar archivos y/o bloquear el acceso al sistema. El atacante crea un malware que cifra ficheros en el sistema que infecta, habitualmente documentos de Microsoft Office, suponiendo que sean importantes para la víctima. Esta, sí quiere que el atacante le proporcione el método para poder descifrar los archivos y recuperarlos, deberá pagar una cantidad de dinero al creador del malware. De lo contrario los ficheros permanecerán cifrados o incluso, en un momento dado, serán borrados por completo del sistema.

Antes de 2010, este tipo de malware solía aparecer ocasionalmente, y con éxito limitado. El tipo de cifrado que utilizaban solía ser débil, o el desbloqueo sencillo.

Sin embargo, durante 2009 y 2010 se desarrollaron ransomwares con gran éxito basados en herramientas falsas de descarga y compartición de archivos. La víctima creía descargar archivos con un programa nuevo, pero este en realidad bloqueaba el acceso al sistema con un mensaje amenazante de la RIAA (entidad en estados unidos que vela por los derechos de autor del material audiovisual). El mensaje decía haber encontrado material con copyright en el sistema (cosa que era cierta) mostrando nombres de archivos reales. Instaba a la víctima a pagar una multa en ese mismo momento, que iba desde los 100 a los 500 dólares para poder desbloquear el equipo.

El rotundo éxito de esta fórmula se trasladó a Europa con el conocidísimo "virus de la policía". El equipo se bloqueaba acusando al usuario de contener material pornográfico en el sistema, información sobre terroristas, zoofilia o cualquier otra amenaza, y requería el pago de 100 euros a través de Ukash o PaySafeCard para poder seguir usando su sistema. El éxito es muy elevado en toda Europa, con numerosas variantes y resultando muy lucrativo para los atacantes.



Figura 11. Una de las primeras versiones del "virus de la policía". Fuente: Hispasec.com.

El éxito de esta fórmula continúa.

Spyware

Se conoce con este nombre al malware que pretende recopilar los hábitos de navegación del usuario, monitorizando su interacción con el sistema. El término se ha extendido hasta englobar al malware que además de recolectar hábitos de navegación, también puede modificar configuración importante del sistema, habitualmente relacionada con el navegador, como por ejemplo la redirección de los sistemas o la instalación de software adicional.

El spyware recopila hábitos de navegación, para conocer mejor a la víctima y poder así anunciarle productos que se ajusten mejor a su perfil. Atenta contra la privacidad del usuario, enviando de forma normalmente no consentida las direcciones o enlaces visitados, o cualquier otro tipo de información personal válida para realizar un perfil ajustado de hábitos de consumo en Internet. Normalmente supone un primer paso para un ataque más específico que habitualmente consiste en correos basura personalizados o aparición de adware específico para el usuario. También, los simples datos recopilados por el spyware pueden ser vendidos a empresas que trafican con datos de carácter personal o interesadas en estadísticas. Se manifiesta habitualmente en forma de barras de navegación incrustadas en los navegadores, que modifican los buscadores por defecto y muestran pop-ups regularmente.

Adware

Se conoce con este nombre al malware que pretende mostrar publicidad en el sistema de forma no deseada. Habitualmente se compone de un proceso que se ejecuta de forma no deseada en el sistema y que, una vez monitorizados los hábitos de navegación, muestra publicidad personalizada en la pantalla de forma constante y reiterativa. Habitualmente en forma de ventanas emergentes que se abren sin que el usuario realice ninguna acción específica. El adware consigue así bombardear al usuario con publicidad personalizada y por tanto, que puede causar un mayor impacto económico en el anunciante.

Las consecuencias colaterales del adware es que suele degradar el rendimiento del sistema operativo hasta volverlo impracticable, por lo que, (además de la evidencia de su existencia) su supervivencia en él es limitada. El beneficio económico para los atacantes que distribuyen adware viene de la venta de servicios de publicidad, las empresas anunciantes, conscientes o no de que se trata de un servicio fraudulento, pagan por cada anuncio que se visualiza en los sistemas de los usuarios.

Troyanos Click

Este tipo de troyanos aprovechan los servicios de Internet que dependen de los clicks o visitas de los usuarios a ciertos servicios publicitarios, y actúan mimetizando el comportamiento habitual de un usuario que hubiera accedido y hecho click en esos servicios según las instrucciones dadas por el atacante. Por ejemplo, muchos de los servicios de publicidad en Internet pagan una comisión a los webmasters que muestran publicidad de terceros en función de que los visitantes de sus páginas pulsen sobre banners o enlaces específicos de publicidad. También existen concursos y encuestas online que se calculan en función de cuántos usuarios distintos (según IP o cookie) hacen click en las diferentes opciones.

Los atacantes pueden de esta forma forzar que miles de sistemas infectados con su troyano hagan peticiones simulando clicks en banners de publicidad situados en sus páginas webs para cobrar las comisiones, así como les permite adulterar concursos y encuestas de forma interesada y fraudulenta haciendo que todos los sistemas infectados voten por una opción determinada. Estos troyanos no roban de forma directa al usuario infectado, sino que utiliza su sistema y conexión a Internet como recurso para estafar a servicios de terceros que dependen de los clicks de los visitantes.

Rogueware

Este tipo de malware se hace pasar por un software de seguridad, por ejemplo un antivirus o antispyware, y ofrece al usuario un análisis gratuito de su sistema. Tras un supuesto análisis, que en realidad nunca lleva a cabo, informa al usuario de que el sistema se encuentra infectado y que necesita adquirir la versión de pago para desinfectar el malware y tener a salvo su PC. Los usuarios más incautos terminan introduciendo su tarjeta de crédito en una página web para adquirir el programa de seguridad que supuestamente eliminará unos virus que en realidad no existen en su sistema. Este malware busca el beneficio estafando de forma directa a los usuarios infectados.



Figura 12. Antivirus falso pidiendo pago para desinfectar falsas infecciones. Fuente: Hispasec.com.

Botnets

Los botnets son redes de ordenadores infectados que quedan bajo el control de un servidor maestro. El término 'bot' se utiliza para denominar a aquellos troyanos que se encuentran conectados a un centro de control desde el cual reciben instrucciones, actualizaciones, y otros componentes de malware. Cuando un sistema se encuentra infectado por un bot se denomina zombi, y a la red de ordenadores zombis se le denomina botnet.

Con la debida coordinación del programa maestro permite ordenar a toda una red de máquinas ejecutar una misma acción sincronizada o secuencialmente. Las botnets pueden concentrar un gran número de máquinas zombi que se coordinan para gestionar el envío de correo basura, distribución de malware, alojamiento de páginas fraudulentas... también suelen ser las culpables de los ataques de denegación de servicio distribuido (DdoS), una forma de extorsionar a empresas.

A efectos prácticos los sistemas de una botnet se encuentran controlados de forma remota por los atacantes, que pueden realizar cualquier tipo de acción desde ellos. La potencia de una botnet viene dada por la posibilidad de realizar acciones coordinadas y distribuidas, aprovechando al unísono la potencia de miles de sistemas zombis bajo su control.



Figura 13. Esquema de una botnet multidiscipliinar. Fuente: Hispasec.com.

Esto permite a la industria del malware mantener una infraestructura con una gran potencia gracias a su naturaleza distribuida. Con estos sistemas pueden robar información, usarlos para envío de spam, alojar malware o phishing...

Cada vez con mayor frecuencia, se crea malware con el objetivo de reclutar sistemas zombi para alimentar estas redes y mantener una infraestructura lo suficientemente potente como para respaldar el resto de actividades ilegales.

Las primeras botnets se creaban a través de sistemas troyanizados con puertas traseras, y eran manejados a través del sistema clásico de conexión a un puerto abierto en la máquina víctima. Con la proliferación de los cortafuegos el sistema se volvía ineficaz, por lo que evolucionó en mayor medida hacia la gestión a través de del protocolo de IRC (Internet Relay Chat). Los sistemas infectados pasaban a formar parte de una sala en un servidor de IRC, y a través de comandos específicos de este protocolo, el atacante conseguía que todas realizaran una misma acción y mantenerlas bajo su control. Si un nuevo sistema era infectado, entraba en la sala específicamente creada (habitualmente protegida por contraseña) y si un sistema se apagaba o era desinfectado, salía de ella. Este método de control evolucionó a su vez hacia el control a través del protocolo HTTP para eludir una vez más los cortafuegos, tanto entrantes como salientes, puesto que el protocolo HTTP, bastante común, permite pasar desapercibido ante los cortafuegos y atravesar como contenido legítimo el tráfico de control. En los últimos tiempos, se han observado botnets operadas a través de tráfico P2P, pero el método web sigue siendo el más usado.

Uno de los usos habituales de una botnet son los ataques DDoS (ataques distribuidos de denegación de servicio) que pueden conseguir inundar de peticiones a un sitio web e impedir que esté visible para el resto de usuarios de Internet. Algunos de estos atacantes realizan un aviso previo pidiendo una cantidad de dinero a la empresa del sitio web, advirtiendo que si no accede al chantaje será víctima de un ataque DDoS. Otro de los usos lucrativos de una botnet es su utilización para enviar spam de forma distribuida, aprovechando el ancho de banda de los sistemas zombis.



Figura 14. Panel de control de una popular botnet sudamericana en 2012. Fuente: Hispasec.com.

En realidad, las botnets se utilizan hoy por hoy como un método técnico más para facilitar el robo de información (crimeware, a continuación). Si bien su función principal podría ser la recopilación de "bots" hoy se usan como un sistema de gestión para robar y facilitar la clasificación de los datos robados desde el lado del servidor.

Existe todo un negocio montado alrededor de la venta de kits para crear botnets.



Figura 15. Ejemplo de anuncio de kit de creación de botnet "Vector" en foros del mercado negro por 1000 dólares. Fuente: McAfee.

Crimeware

Bajo este término se engloba el malware destinado al robo de información o identidad. Este es sin duda, el objetivo preferido del malware hoy en día. El crimeware está destinada a robar información necesaria para acceder a servicios online que pueden proporcionar algún tipo de lucro al atacante. Habitualmente se trata de credenciales de cuentas bancarias que permitan acceso a operaciones bancarias con crédito real. También pueden llegar a robar información de acceso a sistemas de pago online, tarjetas de crédito...

Con la popularización de Internet se han hecho muy habituales los servicios online de la banca electrónica. Esto ha sido sin duda uno de los acicates de este tipo de malware. El crimeware queda latente habitualmente en el sistema, de forma que se activa ante algún evento que considere interesante. Normalmente se activan cuando la víctima visita uno de las entidades de las que espera robar las contraseñas. Los hay que simplemente se activan y monitorizan el tráfico de cualquier conexión cifrada que se establezca, síntoma de que la transacción realizada esconde alguna información importante.

Una vez recibida la información importante, el atacante suele desviar los fondos a otras cuentas que les pertenecen o pertenecen a "socios", para finalmente conseguir el dinero al contado. Estos muleros suelen ser a su vez usuarios incautos captados a través de engaños enviados por correo basura o personas completamente ajenas a la actividad ilegal que están realizando.

El crimeware también es conocido bajo los términos troyano bancario y en realidad puede llegar a englobar a los clickers, ransomware...

APARTADO 7. TECNICAS DE ROBO DE DATOS

El beneficio más directo para los creadores se malware se obtiene del robo de información sensible, tales como contraseñas para el acceso a la banca online y otros servicios financieros que hoy en día son posibles a través de Internet: credenciales para el acceso a banca, contraseñas de servicios como PayPal, números de tarjeta de crédito junto con sus códigos secretos... Una vez con esa información en su poder, realizan transacciones de cantidades también a través de Internet para obtener directamente los beneficios. El navegador se ha convertido hoy en día en terminal de banco, con todas sus consecuencias. Esto lo convierte en un software genérico usado para situaciones para las que no fue pensado en un principio, y muy vulnerable a técnicas de robo de datos a través del aprovechamiento de sus características.

En ocasiones, el flujo de datos robados es tan grande, que abre la posibilidad a los atacantes no sólo de obtener beneficio directo del acceso a esa cuentas y la posibilidad de traspasar el dinero, sino que les es posible alquilar estos servicios de robo y acceso a datos temporalmente a otras personas. Así, el negocio se amplía y se diversifica. Existen páginas donde se alquila por un tiempo el acceso a un panel de control donde se almacenan las claves robadas que recopila un troyano en tiempo real. También es posible el diseño de un troyano a medida con objetivos específicos dictados por el comprador del malware, y el montaje, mantenimiento y actualización periódica de la infraestructura necesaria para manejarlo y obtener la información robada.

Los métodos usados para el robo de información son muchos y variados. En ocasiones están muy relacionados con otras estafas presentes en Internet como el phishing, las extorsiones... formando un ecosistema en el que se compran y venden servicios complementarios para llevar a cabo una especie de estafa global en la que se realquilan servicios a terceros o se intercambian por otro tipo de información... esta es la verdadera industria del malware.

Los troyanos bancarios son los que mejor y más datos saben robar. Para ello, utilizan fundamentalmente las siguientes técnicas.

Pharming local

El pharming local consiste en aprovechar una característica propia del sistema operativo a la hora de resolver dominios en beneficio del atacante, y requiere de una infraestructura parecida al phishing, pues se apoya en un servidor que debe contener una página parecida o copiada de la entidad de la cual se quieren obtener las contraseñas, alojada en un servidor que controle el atacante.

Los sistemas operativos actuales mantienen un archivo de texto capaz de resolver los dominios y convertirlos en direcciones IP sin necesidad de usar un servidor DNS. Además, este archivo es consultado en primer lugar por el sistema operativo ante la petición de una resolución, con lo que si es modificado con respecto a un dominio, la petición no llegará a realizarse a los servidores DNS legítimos sino que responderá con la respuesta devuelta por la consulta local a ese archivo. En Windows el archivo concretamente está alojado en %systemroot%\system32\drivers\etc\hosts y mantiene una estructura del tipo:

dirección_ip     dominio

Si esta asociación es modificada por algún malware, cuando un usuario desee visitar el dominio concreto, su navegador o cualquier otra aplicación acudirá en realidad a la dirección IP sin consultar a los DNS legítimos. Esta dirección IP consistirá normalmente en un servidor controlado por el atacante y contendrá una copia similar a la web que la víctima pretendía visitar. Si el usuario no nota la diferencia, ni comprueba los certificados, e introduce en ellas las contraseñas o credenciales válidas, el atacante obtendrá los datos.

Este tipo de malware simplemente modificará este archivo y creará la página en una dirección IP alojada en un servidor perteneciente al atacante, a la espera de que las víctimas intenten resolver el dominio legítimo y acaben en la web fraudulenta. Tiene como ventaja adicional para el atacante, que suele pasar desapercibido por las casas antivirus, a pesar de (y a veces a causa de) su simple estructura. Apenas requiere conocimientos sobre programación, y suele realizarse en países del centro y el sur de América.

Esta técnica tiene como inconveniente que el usuario podría recibir advertencias del navegador, al no coincidir el dominio visitado con el certificado, o incluso prescindir completamente de la conexión SSL. Aunque la existencia de conexión SSL o la validez del certificado no son puntos clave que alerten al usuario habitualmente, existen ejemplos de malware que instalan sus propios certificados raíz para cifrar y validar la conexión, o que desactivan las advertencias del navegador con respecto a la validez de los certificados para pasar inadvertidos.

Esta técnica es muy usada hoy en día por malware creado en México y Sudamérica fundamentalmente. Fundamentada en esta técnica, existen diferentes variantes:

  • 1. Descargar el archivo hosts

Los atacantes se dieron cuenta de que sería mucho más efectivo que, la asociación 6.6.6.6 con www.banco.com fuese, de alguna forma, dinámica. Que el propio troyano controlara hacia dónde resuelve el dominio para cuando la dirección IP no estuviese disponible. Así que comenzaron a programar un sistema por el que, en vez de integrar directamente en su código la dirección IP donde se aloja la copia, el malware acude a una URL que controlan los atacantes y descarga un archivo hosts que sustituye al original. En ese archivo hosts, van actualizando la asociación IP/dominio.



Figura 16. Fuente: Hispasec.com.

Así, si cae la dirección IP, pueden colgar en la URL datos actualizados para que los nuevos infectados acudan. Es como un pequeño sistema de "nuevas versiones" del malware.

  • 2. Resolver un dominio de tercer nivel

Una nueva vuelta de tuerca al sistema de pharming Al fin y al cabo, el atacante lo que desea es poder modificar la dirección IP de forma dinámica si cayese la copia de la página del banco. Esto se puede conseguir descargando de una URL un archivo hosts completo... o bien resolviendo un domino. Si el dominio es dinámico de tercer nivel, además se consigue inmediatez.



Figura 17. Fuente: Hispasec.com.

El funcionamiento sería el siguiente: el troyano está programado para modificar el archivo hosts con la dirección IP a la que resuelva dominio.no-ip.org (por ejemplo), de esta manera:

#Resolución(dominio3nivel)# www.banco.com Donde #Resolución(dominio3nivel)# es una variable. El atacante, cuando el dominio resuelva ya a una dirección IP caída, solo tiene que entrar en su panel de control de no-ip.org y modificar la resolución para cambiar la variable en los sistemas infectados. El troyano comenzará a modificar los archivos hosts de sus víctimas hacia la nueva IP de forma inmediata.

  • 3. Instalar un servidor web en la víctima

El atacante, cansado de que se le echen abajo las direcciones IP donde alojan sus phishings, decide simplemente que el servidor sea la propia víctima. El troyano instala un pequeño servidor web y pone a escuchar en el puerto 80. Luego modifica el archivo hosts con esta entrada:

127.0.0.1 www.banco.com



Figura 18. Fuente: Hispasec.com.

Ahora, la víctima acudirá a su propio ordenador cuando quiera realizar operaciones de banca online, donde él mismo alojará una copia de la página. El formulario incluirá un "action" donde se envía la información al atacante. Esta técnica de resolución local (asociar la resolución de un dominio a 127.0.0.1) se usa también normalmente para bloquear webs de seguridad (virustotal.com, windowsupdate.com... etc).

Todas las técnicas descritas anteriormente incluyen en los troyanos reales sistemas de redundancia (varias URL por si alguna cae, varios dominios de tercer nivel consultados... etc) e incluso combinaciones de todas estas.

Delephant

Esta técnica también es usada por la escuela brasileña, y consiste en la simulación total de la ventana del navegador (habitualmente Internet Explorer) por parte de una aplicación que se abre en el escritorio cuando el usuario visita una página objetivo.

Habitualmente el malware codifica en su cuerpo las entidades a monitorizar. Emplea una función de la API de Windows para leer el título de las ventanas abiertas en Windows y cuando halla una coincidencia (total o parcial) entre alguna de las cadenas monitorizadas y el título de la ventana, el mecanismo de fraude de malware se activa.



Figura 19. Fuente: Hispasec.com.

Una vez se detecta una ventana de navegador (con independencia del navegador) abierta cuyo título incluye la cadena objetivo, la cierra inmediatamente y lanza una aplicación propia simulando una ventana minimizada de navegador. En esa ventana se recrea por completo la página objetivo, solicitando el tipo de acceso que se desea a la entidad. Los datos introducidos en estos formularios fraudulentos son enviados a un servidor que pertenece al atacante.

Tiene una variante en la que el malware se "superpone en el navegador. Es una evolución del anterior, bastante más sofisticada. En vez de recrear a través de una aplicación la ventana del navegador por completo, superpone una pequeña aplicación en la zona del navegador que pide las contraseñas, ajustando colores y estilo de la página en general. De esta forma el usuario no observa en principio diferencia alguna entre la página original (que está visitando y mantiene abierta) y el programa superpuesto que encaja perfectamente en la zona de las contraseñas. Además, el código está adaptado para que, en caso de que la página sea movida o redimensionada, el programa realice cálculos de su posición y se ajuste perfectamente al lugar asignado.



Figura 20. En principio la página sin infectar. La imagen central muestra la imagen con un sistema troyanizado. La imagen de abajo muestra a las claras la aplicación superpuesta en la imagen central. Fuente: Hispasec.com.

Tan solo un estudio minucioso o una recarga de la página puede delatar la existencia de una ventana superpuesta. El malware suele codificar en su cuerpo cadenas de monitorización de entidades. El formulario suele estar programado en Delphi y los datos suelen ser enviados a cuentas de correo gratuitas empleando el protocolo SMTP.

Captura de imágenes y vídeos

Ante la llegada de los teclados virtuales en la banca online como método para evitar los registradores de teclas, el malware se adaptó con estos métodos de captura de credenciales. Consiste en la activación de un sistema de captura en forma de imágenes, de un sector de pantalla alrededor del puntero de ratón cuando éste pulsa sobre un teclado virtual. Con este método se consigue eludir el teclado virtual, pues el atacante obtiene imágenes de cada tecla del teclado virtual pulsada, en forma de miniatura o captura de pantalla.

Algunos teclados virtuales, para luchar contra este amenaza, desactivan el mostrado de números sobre las teclas cuando se realiza la pulsación, habitualmente convirtiéndolos en asteriscos. Así se consigue eludir este tipo de malware, pues el atacante obtendría capturas de teclas con asteriscos que no contienen la información objetivo. Ante esto, una vez más, se observó la existencia de malware que grababa una pequeña secuencia de vídeo con los movimientos del usuario sobre el teclado virtual. Con este método podían obtener los datos, pues aunque en el momento de pulsar sobre la tecla el número en ella se convirtiese en un asterisco, la grabación por vídeo permite observar hacia dónde se dirige el puntero durante la secuencia de pulsación de las teclas.



Figura 21. Ejemplo de imagen robada por malware. El punto rojo indica qué tecla ha sido pulsada, pero la ocultación impide que sea vista por el atacante.

Inyección en el navegador

El modelo de inyección en el navegador o "web inject" es el más exitoso hoy en día. Es la base del malware Zeus y, años después, ha sido imitado y sigue disfrutando de un éxito rotundo entre el malware bancario más sofisticado.



Figura 22. Panel de control de Zeus desde el punto de vista del atacante, con un bot.

La técnica consiste en la creación de un panel de control y un agente infector. El panel de control es fundamentalmente un servidor MySQL y un panel creado en PHP con el que se comunica el sistema. Este panel permitirá búsquedas de datos robados, clasificación de la información, enviar comandos, e incluso dar permisos diferentes a usuarios para alquilar el acceso.



Figura 23. Manual de ayuda de Zeus con las opciones disponibles para el para el atacante.

El agente infector se crea con un "builder". Este necesita dos ficheros:

  • Uno de configuración con los parámetros fundamentales y básicos para que el agente infector consiga comunicarse con el panel de control y realice las funciones básicas y generales.




Figura 24. Builder con el fichero config.txt "típico".

  • Un fichero webinjects.txt que contiene la información relativa a los bancos que se desea robar. Consiste en una serie de órdenes que permite al atacante inyectar el código, en una especie de lenguaje de configuración propio. Con las etiquetas "data_end", "data_after", "data_before" y "data_inject" se va indicando al troyano dónde debe "colocar" su código inyectado. Esto puede ser JavaScript, HTML o IFRAMEs que se incrusta en el navegador de la víctima cuando visita la web legítima, y que permite desde el robo de información, hasta la inclusión de nuevos formularios, pasando por páginas completas para conseguir interactuar con la víctima como si la web legítima se tratase.




Figura 25. Fichero webinjects.txt con configuración típica y ejemplo de inyección.

El builder creará dos ficheros. Un ejecutable que infectará, y un fichero config.bin, que debe ser alojado para que el ejecutable lo descargue, y donde se podrá modificar al gusto la configuración del webinjects.txt cuando el atacante lo desee.



Figura 26. Ejemplo de inyección en banco real italiano, añadiendo un campo al formulario.