Español | English
rss facebook linkedin Twitter

Lo que mal empieza...

En el mundo de la seguridad, al igual que en todas las áreas, el hecho de "dar una pensada" a un tema antes de ponernos a programar como locos es muy importante. De hecho, en el ámbito de la seguridad es aún más importante, porque siempre hay alguien dispuesto a buscar las cosquillas a lo que hagas.

Cuando se trata de una aplicación crítica, comercial, o cualquier tema medianamente serio, esto pasa a ser muy importante, puesto que un error de diseño puede ser más grave que cualquier error "técnico" más complejo.
Veamos dos ejemplos ilustrativos:
  • Una marca comercial (llamémosla X) quiere proteger sus aplicaciones por tiempo de ejecución, y para ello añade una capa de protección en forma de empaquetado con protección de tiempo. Para ello utiliza un programa base que llevará embebido el programa protegido, el cual desempaquetará en tiempo de ejecución, lanzará, matará y eliminará de disco al terminar la ejecución.
    Sí, ¡lo elimina de disco! Todas estas aplicaciones eran vulnerables a un copy&paste mientras estaban siendo ejecutadas.

Ejemplo de la creación de un fichero temporal
  • Otro ejemplo, un poco más sutil, nos lo encontramos en la banca electrónica, en la que utilizamos una tarjeta de coordenadas, de modo que un troyano debe poseer estas claves para poder operar. El ataque más común (la petición de las mismas) es demasiado llamativo. Ahora bien, ¿qué pasa si alguien introduce mal una coordenada? ¿se ha equivocado? ¿tal vez no es el cliente quien trata de operar? La solución más sencilla se trata de volver a pedirla, hasta un máximo de 3 veces para evitar un ataque de fuerza bruta.
    Ante esto, nuestros amigos del troyano InfoStealer, muy avispados ellos, utilizan una técnica mucho más sutil, que se trata de obtener la coordenada, y de aquí en adelante mostrar un mensaje de error (sistema en mantenimiento, etc.) al usuario. De esta manera, ellos tienen una ventana de tiempo para entrar en al cuenta, y si ante un nuevo inicio de sesión se mantiene la petición de coordenada, habrán reducido la tarjeta de coordenadas a un simple PIN.
Lo dicho, a tomarse un café mirando al infinito antes de escribir una sola línea de código ;)

Mikel Gastesi
S21sec e-ecrime

2 comentarios:

Manuel dijo...

Sólo un detalle:
El artículo parece sugerir que los sistemas de autenticación de dos factores sirven para proteger frente al malware. Los sistemas de autenticación de dos factores protegen frente a phishing y otros tipos de robo o adivinación de contraseñas, pero nunca frente a tener la estación de trabajo infectada.

Si el malware es lo suficientemente inteligente, puede realizar un MitM de las credenciales, y mostrar al usuario ventanas que parezcan legítimas mientras realmente se realizan operaciones ilegítimas.

El error aquí es intentar aplicar una medida de seguridad incorrecta, no una mala implementación de la medida.

S21sec e-crime dijo...

Hola Manuel,

Totalmente de acuerdo, la autenticación de dos factores NO sirve para proteger frente al malware. Pido disculpas si lo he dado a entender.

El motivo, como bien dices, es que si la estación está infectada, el malware podrá actuar una vez pasada la fase de autenticación y, por ejemplo, podrá alterar una transferencia enviándola a una cuenta diferente.

Mikel,


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login