17 de septiembre de 2019

ALESA. Bypass mediante SQL Injection

Si hay algo que los usuarios de las nuevas tecnologías se están viendo obligados a comprender actualmente, es que casi todo lo que nos rodea puede ser vulnerado de manera que quien lleva a cabo el ataque tenga acceso a nuestros datos personales e información privada, Esta vez ha sido el turno de Alexa, uno de los productos estrella de Amazon.
Ya en 2018 aparecieron noticias acerca de un fallo de seguridad de Alexa que permitía al dispositivo grabar las conversaciones de los usuarios por error debido a una incorrecta implementación de la funcionalidad de activación por voz. En esta ocasión la vulnerabilidad no se encuentra en Alexa en sí, sino en las aplicaciones que instalamos en el dispositivo.
El investigador Tal Melamed, director de seguridad y hacking ético de Protego, ha descubierto que es posible vulnerar aplicaciones instaladas en Alexa mediante la técnica de inyección SQL (SQLi en inglés) si éstas no realizan una correcta validación de datos . Lo único que tendría que hacer el usuario malicioso sería ejecutar comandos por voz (en lugar de por teclado, como es lo usual) utilizando traducciones de texto para obtener acceso a las aplicaciones con fallas de seguridad y que contienen información sensible.
En un vídeo donde se muestra cómo es posible explotar la vulnerabilidad, Tel Melamed lleva a cabo una pequeña PoC mediante la traducción de palabras y números. En el vídeo el investigador utiliza una aplicación y una base de datos SQL desarrolladas por él mismo, pero se debe tener en cuenta que estamos ante un caso que podría tratarse de cualquier aplicación que exija un número de cuenta bancaria o un texto particular como método único de identificación.
Los pasos seguidos en el vídeo son los siguientes:
1)Tel Melamed intenta acceder a la cuenta del usuario administrador, para lo cual no está autorizado.
2)Alexa deniega la solicitud.
3)El investigador evade la denegación de Alexa proporcionando un número aleatorio junto a sintaxis que ejecutará la inyección SQL.
4)Cuando al investigador se le solicita un identificador de cuenta (ID) simplemente responde con un número aleatorio y «or/true», lo cual le concede el acceso a cualquier línea de la base de datos.
5)Alexa da al investigador la información del balance de la cuenta de administrador para la cual Tel Melamed no tenía acceso autorizado.
En cuanto a las medidas de protección ante esta vulnerabilidad, lo que el usuario puede hacer es poco ya que la brecha se encuentra en la aplicación, y para solventarla los desarrolladores deberían llevar a cabo la adopción de medidas como una correcta validación de los datos de entrada, un método que solucionaría muchos (si no todos) los problemas causados por las inyecciones de comando maliciosas, vulnerabilidad que se encuentra en el puesto número uno del Top 10 de OWASP en su último informe de 2017.
Recomendación
Desde Hispasec Sistemas recomendamos a los usuarios que, además de elegir contraseñas robustas, sean cuidadosos a la hora de usar aplicaciones que nos solicitan información confidencial como el número de cuenta bancaria. Siempre hay que descargar este tipo de aplicaciones desde markets oficiales y asegurarnos de que están verificadas y autorizadas por la entidad de la que formamos parte.
Más información:
Fuente: Hispsaec