3 de enero de 2020

Introducción a la seguridad en plataformas móviles (2ª parte)

Smartphone Security
Cuando se trata de terminales y ecosistemas móviles, existen fronteras que se desdibujan con respecto a las ideas tradicionales que se acostumbran a aplicar en redes de ordenadores y servidores; circunstancia especialmente dada por el hecho de que los terminales móviles poseen una movilidad absoluta, y no están físicamente atados a una oficina o similar.


Por tanto, los principios de seguridad física que normalmente se aplican en un puesto de trabajo y que por extensión recaían en la seguridad de los dispositivos que había dentro de ella, pasa ahora a ser insuficiente.

Generalmente se acepta el hecho de que el activo más importante que un individuo o persona posee en sus dispositivos es su información. Con ella, un atacante puede sacar partido económico o dañarnos de algún otro modo. En el caso de particulares, las venganzas digitales son cada vez más comunes, robando fotos y otras informaciones sensibles y comprometidas para publicarlas on-line.

En el de corporaciones, el espionaje industrial tradicional se agudiza con las nuevas herramientas digitales, y las brechas de información relativa a las tarjetas de crédito de los clientes se convierten en un riesgo muy serio que hay que evitar.

Como podemos suponer, las repercusiones en el mundo "real" a partir de un compromiso "digital" son inevitables ante supuestos como estos.

También podemos observar el caso inverso, donde un compromiso que empieza siendo "físico", como el robo o extravío (aunque sea temporal) de terminales, puede servir de vector de entrada para un robo de datos digitales por parte de un actor malicioso.

En el caso de que dichos datos o el terminal estén cifrados y dicho cifrado esté protegido usando mecanismos como el PIN y las claves personales, las probabilidades se minimizan.

Passcodes


Pocas cosas son tan críticas hoy en día como que la información que los usuarios guardan en sus dispositivos móviles (datos personales, contraseñas, datos bancarios, certificados digitales, etc.) se vea comprometida.

En caso de pérdida o robo de un smartphone o tablet, es importante poder garantizar que la información almacenada en él acabe en manos de otra persona.

Y una de las primeras barreras para evitarlo es la activación del bloqueo de pantalla del dispositivo utilizando un passcode.

A día de hoy, las principales plataformas móviles implementan tres tipos diferentes de passcodes:

PIN

Se trata del típico código personal de cuatro dígitos numéricos también utilizado para desbloquear las tarjetas SIM o permitir el pago mediante una tarjeta de crédito.

Son muy fáciles de recordar, pero sin embargo, en el caso de los dispositivos móviles, el PIN debería estar en desuso, ya que se trata de un número de cuatro dígitos (0000-9999) muy vulnerable a ataques por fuerza bruta.

Si el dispositivo cae en manos de una persona con ciertos conocimientos de informática no tendrá problema en hackearlo.

Contraseña

Otro tipo de passcode es la contraseña (password); más segura que el PIN, pero al ser de longitud variable y seleccionada por el usuario puede tener debilidades similares.

Se trata de un passcode alfanumérico que también puede contener caracteres especiales. Para garantiza un nivel de protección óptimo, toda contraseña debería tener una longitud mínima de entre 8 y 10 caracteres, contener letras mayúsculas y minúsculas, números y algún carácter especial.

Por este motivo muchas plataformas, aplicaciones, servicios, etc., exigen que las contraseñas que eligen los usuarios cumplan ciertos patrones (longitud y tipo de caracteres).

Patrón de deslizamiento

El tercer tipo de passcode es relativamente moderno, ya que apareció con el uso de las pantallas táctiles capacitivas, aunque no es tan seguro como una buena contraseña.

Se trata de definir un patrón de deslizamiento sobre la pantalla del dispositivo con el fin de unir algunos (mínimo cuatro) de los nueve puntos que se muestran (3x3).

A nivel de código cada uno de los puntos está numerado de izquierda a derecha y de arriba abajo (0-8), así que el patrón es codificado indicando los puntos por los que se pasa el dedo.

Un patrón puede pasar sobre uno de los nueve puntos más de una vez, pero únicamente se considerará el primer paso.

Expiración e historial de reutilización


Una medida de seguridad que a veces adoptan las plataformas móviles y hacen habitualmente muchos servicios que autentican a los usuario mediante passcodes, es la de dotar a los passcodes seleccionados por los usuarios con un tiempo de vida útil.

De esta forma, pasado dicho tiempo, el usuario está obligado a cambiar su passcode.

Esta medida puede proporcionar muchas ventajas, ya que evita que los usuarios utilicen una misma contraseña para la mayoría de sus cuentas, dispositivos, etc.; y como consecuencia, en caso de expolio de los passcodes de la base de datos de otro servicio, un atacante no obtiene acceso a tu dispositivo, a otra aplicación o servicio, etc.

Siguiendo esta misma línea, en ocasiones también se añade una medida de seguridad más, obligando a los usuarios a no poder repetir un passcode ya utilizado anteriormente a la hora de realizar un cambio. En este caso el sistema operativo, la aplicación, etc., guarda un registro con los últimos n passcodes utilizados por el usuario y antes de realizar un cambio consulta si se trata de un passcode reutilizado.

Obviamente, desde el punto de vista del usuario, estas medidas le estarán complicando un poco la vida, pero hay que pensar que se introducen por su seguridad.

Intentos máximos de uso


Con la intención de evitar que un atacante adivine un passcode a base de realizar n intentos de autenticación (ataque por fuerza bruta), las plataformas móviles suelen limitar el número de intentos fallidos que se pueden realizar.

De esta forma, alcanzado ese número máximo de intentos sin éxito, el dispositivo normalmente quedará bloqueado; aunque hoy en día también hay casos en los que se puede configurar un autoborrado total de la memoria del dispositivo como una medida de seguridad avanzada.

Ataques


El ataque más simple, y que a priori puede parecer inverosímil, se basa en estudiar las marcas físicas que hay sobre la pantalla del dispositivo a atacar.

Se llama Smudge Attack, y se suele llevar a cabo realizando una fotografía de la pantalla del dispositivo y jugando con los colores, brillos, y el negativo de la misma. Aunque no lo parezca, se pueden obtener muy buenos resultados. Por desgracia, aparte de las manchas que los usuarios dejan en las pantallas de sus dispositivos, también son muchos los bugs conocidos que tienen las plataformas móviles y que permiten que un atacante pueda saltarse la verificación del passcode.

No todos los bugs permiten el mismo nivel de acceso, y prácticamente ninguno acceso total; pero así mismo, algunos permiten acceder a los contactos del usuario, otros al historial de llamadas, a las fotos guardadas en memoria o a la aplicación de llamada. Por lo que una vez más, vemos que conviene mantener nuestros dispositivos actualizados y protegidos de la mayoría de estos bugs.

Muchas versiones de las plataformas móviles han sido y son vulnerables a ataques por fuerza bruta por culpa de otras vulnerabilidades.
Algunos dispositivos de Apple permiten realizar un ataque por fuerza bruta mediante el uso de un teclado físico conectado al dispositivo (o un software que lo emula).

Después de varios intentos fallidos el sistema operativo iOS deshabilita el teclado virtual del dispositivo, pero no así el teclado físico conectado a él.

Tener habilitada la opción de borrado tras 10 intentos fallidos podría dificultar el ataque. Sin embargo, la vulnerabilidad CVE-2014-4451 hace que esta medida de seguridad sea inútil.

El siguiente vídeo muestra cómo un atacante puede desbloquear un iPhone en unos 30 segundos utilizando la herramienta IP BOX basada en las vulnerabilidades que acabamos de comentar: https://www.youtube.com/watch?v=meEyYFlSahk

Alternativa biométrica


Una de las alternativas más seguras a los passcodes, y que ya empezamos a ver con frecuencia en el mercado, es el uso de la biometría; reconocimiento facial, de la huella dactilar, del iris, de la voz, etc. Aunque por ahora, lo más utilizado en dispositivos móviles para identificar de forma inequívoca al usuario son los sensores de huella dactilar.

Los dos pioneros en este campo fueron el Touch ID de Apple y el Finger Scanner de Samsung, en este orden. Dos lectores capacitivos que proporcionan un alto nivel de seguridad y usabilidad.

Al ser capacitivos no pueden ser engañados mediante el uso de fotografías, y además son capaces de distinguir las huellas dactilares incluso teniendo el dedo sucio, pintado o con manchas (siempre hasta cierto punto, claro está).

Los datos biométricos del usuario se deben guardar en zonas de memoria seguras. Obviamente, lo ideal sería guardar cierta información relacionada con el dato biométrico, permitiendo autenticar al usuario, pero garantizando que no se pueda realizar la operación inversa y obtener la huella a partir del dato almacenado.

En el caso del Touch ID, Apple no guarda la imagen de la huella dactilar, sino que guarda una representación matemática de la misma. Además, estos datos se guardan en el enclave seguro (Secure Enclave) dentro del chip A7 y posteriores, los cuales únicamente son consultados por el propio chip y no por el sistema operativo (iOS) o las aplicaciones.

En el caso del Finger Scanner, Samsung también guarda un patrón parcial de la huella, de forma que se pueda reconocer una huella de forma inequívoca.

Esta información se guarda en el entorno de ejecución de confianza [Trusted Execution Environment (TEE)] y en ningún caso sale de él. El TEE es el mecanismo de seguridad basado enhardware que utiliza la plataforma Android.

El hecho de desbloquear un smartphone o tablet utilizando tu huella dactilar permite que el dispositivo te identifique automáticamente como persona, ya que un rasgo biométrico es único de cada usuario y un passcode lo puedes compartir con más personas.

Por tanto, a partir de este momento se abre un amplio abanico de posibilidades a la hora de proporcionar seguridad a ciertas operaciones, o mejorar la usabilidad del sistema.

En el caso de Samsung, la primera utilidad que se le dio al sistema de escaneo de huella dactilar, aparte de la de desbloquear los dispositivos, fue la de autenticar al usuario en su cuenta de Samsung.

A partir de ese momento, otros muchos servicios siguieron el ejemplo, lo cual proporciona seguridad y usabilidad:

LastPass (gestor de contraseñas online)

Es un caso concreto de uso del Finger Scanner para autenticar al usuario en una aplicación/servicio de terceros.

FingerSecurity

Es la primera aplicación que permite utilizar el Finger Scanner para proteger las aplicaciones instaladas que tú elijas.

Paypal

El caso de uso estrella es la posibilidad de pagar tus compras con PayPal solo pasando tu huella dactilar por el lector de tu dispositivo.


Smartphone
Background vector created by starline - www.freepik.com



Información extraída del Máster en "Ciberseguridad" desarrollado por Deloitte




0 comentarios:

Publicar un comentario