viernes, 2 de abril de 2010

El hacking y las nuevas tendencias

Mucho han cambiado las cosas desde finales de la década de los 80, en que los hackers no se movían por objetivos económicos sino más bien por filosofía, por ganarse el reconocimiento de otros o como protesta, culminando en movimientos hacktivistas. Algunos afirman que el termino se acuñó para describir cómo las acciones directas electrónicas podían usarse en favor del cambio social al combinar la programación con el pensamiento crítico. Otros utilizan el término como sinónimo de actos maliciosos y destructivos que vulneran la seguridad de Internet como una plataforma tecnológica, económica y política.

Según variedad de informes y estadísticas realizadas por profesionales del mundo de la seguridad, se puede afirmar que las tendencias hacktivistas han cambiado completamente a favor del cibercrimen organizado, con un definido y claro objetivo, GANAR DINERO, rentabilizando sus acciones. Dicha tendencia ha provocado un aumento exponencial de los códigos maliciosos que se han creado recientemente con fines económicos y financieros, llegando a profesionalizarse la escritura de código malicioso.

¿Qué vías o mecanismos se utilizan para obtener beneficios económicos?

Existe multitud de malware, con multitud de finalidades, pero a grandes rasgos los principales ataques utilizan las siguientes herramientas o métodos:
  • Spam
  • Botnets
  • Ataques de ingeniería social masivos o focalizados a CEOs, CISOs, directores y gerentes

Las Botnets son un arma muy valiosa para las bandas organizadas y juegan un papel fundamental para controlar múltiples ordenadores “zombie” distribuidos alrededor del mundo de manera centralizada y sencilla. Claro ejemplo de ello, es la reciente desmantelación de la red Mariposa, cuya investigación reveló que aparentemente se controlaban unos de 13 millones de ordenadores alrededor del mundo con la finalidad de extraer datos personales, tarjetas de crédito y sus pertinentes claves de multitud de usuarios para luego robarles el dinero.

¿Cómo se obtiene beneficio económico?

La obtención de beneficios económicos dentro del negocio del malware puede venir por dos vías. Una es el beneficio directo a raíz de la venta del código malicioso. Generalmente es el desarrollador quien obtiene beneficio a costa de vender el código o permitir su usabilidad a bandas organizadas. Como ejemplo, consta el ya mencionado Caso Mariposa que aparentemente las personas que controlaban la botnet solo disponían de conocimientos informáticos suficientes para controlar los zombies a través de una interfaz HTTP.
Por otra parte, el beneficio indirecto a raíz de la venta de los datos robados. Esta vía es dónde, generalmente, se sitúala operativa de las bandas organizadas vendiendo números de tarjetas de crédito robadas, distribuyendo malware bancario (trojan bankers), distribuyendo spam o la realización de ataques distribuidos.

Si observamos la siguiente figura, podemos ver una representación más o menos estándar de los perfiles que intervienen en un crimen organizado:


Figura 1. Esquema de Organización de un cibercrimen. Fuente: © Panda Security 2009 Boletines PandaLabs - Datos bancarios al descubierto

La cadena se inicia en la Figura 1, dónde una banda de organizada podría solicitar el desarrollo de malware o incluso el alquiler de la infraestructura, generalmente una botnet, a desarrolladores “profesionalizados” del mercado del malware. Una vez se ha obtenido el malware, éste es distribuido a los usuarios “víctima” (Figura 3) mediante mensajes de spam, botnets o bien infectando páginas web.

La banda organizada, generalmente, no suele robar directamente el dinero de los usuarios, sino que, como se ha mencionado para el Caso Mariposa, roban datos personales como tarjetas de crédito, datos bancarios y, en general, otro tipo de información susceptible de obtener beneficios económicos. Dicha información robada, se vende en el mercado del malware a otras bandas organizadas (Figura 4), dificultando, y en muchos casos, evitando que se les pueda seguir el rastro.

Sin embargo, tampoco los que compran los datos bancarios robados son los que substraen el dinero a las víctimas, ya que éstos suelen contratar, bajo el pretexto de ofertas de trabajo desde casa, a los conocidos muleros (Figura 5) que actuarán como intermediarios dificultando de ésta manera que también se les pueda seguir el rastro.

De éste modo, el dinero robado siempre se transmitirá a cuentas de muleros, quedándose los mismos con un porcentaje de la cantidad robada. El resto del montante se suele transferir a través de envío de dinero anónimo o bien mediante un sistema de pago.
De ésta manera, todos salen beneficiados excepto las víctimas afectadas y los propios muleros en el caso de que se iniciara una investigación policial (Figura 6).

¿Cuáles son los métodos típicos de infección?

La infección de las víctimas suele producirse mediante ataques de ingeniería social masivos o focalizados utilizando redes sociales, P2P y mensajería instantánea combinados con vulnerabilidades típicas de software cliente como puede ser Internet Explorer, Firefox, Adobe PDF Reader, Office o incluso del mismo sistema operativo.

En general se coacciona a la víctima a ejecutar ficheros que contienen código malicioso que explota vulnerabilidades de la víctima. A menudo, también se les suele redirigir hacia páginas web infectadas mediante iframes maliciosos que ejecutan código en la víctima inadvertidamente.

Sin embargo, hay malware que no recurre a la ingeniería social para infectar máquinas y autoprogarse, sino que recurre directamente a la explotación de vulnerabilidades conocidas como SQL injection, Cross Site Scripting almacenado, explotación de vulnerabilidades de sistema, etc.

Como por ejemplo, supongamos un gusano que desea auto propagarse y lo realiza mediante búsqueda de sites vulnerables a SQL injection, permitiendo de ésta manera modificar los datos de la base de datos, y por lo tanto, inyectando código malicioso que será servido a todos los usuarios lícitos de la web que naveguen a través de ella.

Como conclusión, reafirmamos que “Mucho han cambiado las cosas desde las épocas del inicio del Hacktivismo” llegándose al extremo de la profesionalización de la escritura de código malicioso e incluso a la venta del mismo a bandas organizadas con el objetivo lucrarse atacando no solo a Organizaciones, sino a usuarios domésticos.

Sin lugar a dudas, queda un largo y difícil camino para protegerse contra el cibercrimen.

miércoles, 31 de marzo de 2010

Nuevos vectores de ataque vinculados al negocio

La lógica del negocio está condicionada por su diseño inicial, por lo que la seguridad en la lógica de negocio debe tenerse en cuenta desde el mismo instante en el que se diseña dicha plataforma. Un buen punto de partida podría ser un diseño por capas, confiando a cada capa una única misión y minimizando la exposición de la plataforma.

Figura 1. Diseño en tres capas


Cada vez son más las empresas que, sensibilizadas por la seguridad, adquieren una posición robusta frente a vulnerabilidades tecnológicas. No obstante, todavía es muy frecuente que éstas presenten vulnerabilidades asociadas a la lógica del negocio, y más específicamente en el marco de autorización.

Resulta fundamental disponer de un marco de autenticación robusto, pero en servicios de acceso masivo, no supone un beneficio definitivo. Algunos ejemplos de servicios de acceso masivo podrían ser:

  • Venta de productos por Internet

  • Gestión bancaria (banca online)

  • Servicios de la Administración Pública

  • Ocio (p.e. redes sociales)


En estos casos, la diferencia entre estar autenticado o no es tan leve como la de rellenar un formulario de registro o crearse una cuenta bancaria para posteriormente solicitar un acceso a servicios de banca online. Definitivamente, para muchos servicios, disponer de una serie de controles en el marco de autenticación no frenará a un atacante suficientemente motivado. Dada la facilidad de acceder a la zona autenticada de un servicio, sólo nos queda confiar en la robustez del marco de autorización.

Sorprende ver que en muchos casos no se le da, al marco de autorización, el peso que éste merece, revelándose vulnerabilidades tan obvias que sólo pueden llevar a dos conclusiones claras:

  1. Que existe un exceso de confianza en el marco de autenticación (cuando en absoluto es la panacea), y no siempre se le da la misma importancia al marco de autorización.

  2. Que todas las revisiones de seguridad, que se hayan podido realizar en el pasado, sólo se han focalizado en revelar vulnerabilidades tecnológicas, y en absoluto se han focalizado en revelar las carencias de seguridad sobre la lógica de negocio.


Representando esto mediante un ejemplo ficticio y sencillo (para facilitar su comprensión), estaríamos hablando de algo similar a lo siguiente:

Supongamos que bancaonline.com me permite hacer una transferencia de Z Euros, desde mi cuenta X hasta mi otra cuenta Y, mediante la siguiente URL:

https://www.bancaonline.com/hacer_transferencia?cuenta_origen=X&cuenta_destino=Y&importe=Z


A priori podría parecer algo normal, incluso corriente. Lamentablemente es más común de lo que muchos quisieran, puesto que desde un punto de vista de seguridad, de normal no tiene nada. ¿Acaso mi banco no sabe cuál es mi número de cuenta X? ¿Qué necesidad existe de que mi número de cuenta X sea pasada como parámetro? La solución es sencilla:

  • La seguridad del servicio no ha sido tenida suficientemente en cuenta desde su diseño.

En el ejemplo anterior, el servicio está exponiéndose a la posibilidad de que un usuario malintencionado cambie el parámetro cuenta_origen=X, cuando realmente no hay necesidad de ello porque realmente, el banco, conoce muy bien cuál es el número de mi cuenta bancaria.

Desde un punto de vista de revisión de seguridad, independientemente de analizar las vulnerabilidades técnicas, no siempre se analiza con la suficiente profundidad las posibles vulnerabilidades en la lógica del negocio, ya que algo tan sencillo como manipular cuenta_origen por otro número de cuenta, expedido por la misma entidad bancaria, podría ser suficiente como para poner a prueba los controles de seguridad existente en el marco de autorización. En el caso en que dichos controles en el marco de autorización sean insuficientes, y confíen en los parámetros manipulables (como en nuestro ejemplo: cuenta_origen=X) más allá que en la información interna que bancaonline.com sabe sobre mis cuentas, significaría la posibilidad de defraudar las cantidades económicas que el atacante defina, con independencia del daño reputacional que pudiera derivarse de la repercusión mediática de hechos similares.


Resulta obvio que el anterior ejemplo no es más que una idealización de la realidad, y que muchas empresas tienen controles adicionales para suplir deficiencias en el diseño (como pueda ser la utilización una capa de cifrado antes de transmitir ciertos parámetros), pero es que la realidad es caprichosa y, en ocasiones, supera a la ficción.