Las medidas de seguridad informática deben evolucionar al mismo ritmo al que evolucionan los sistemas de las tecnologías de información, y las amenazas que van a apareciendo. Las necesidades cambian y el mundo de la tecnología se adapta de forma dinámica, y las medidas de seguridad deben ir alineadas con los nuevos requisitos marcados por los avances tecnológicos actuales y las amenazas reales existentes. Y por desgracia, las ciberestafas y el fraude crecen en el ámbito digital y, por ello, debemos estar más preparados, aplicar nuevas medidas de fortificación, y ser conscientes de cómo podemos estar más preparados y de qué posibilidades contamos.
En el presente artículo se quiere hablar del problema de la falsificación de la ubicación y las ciberestafas que se crean. Hay gran cantidad de aplicaciones y servicios que necesitan verificar la ubicación lo más cercana o real posible de un usuario para ofrecerle un catálogo de servicios. O algo más crítico, que alguien se haga pasar por ti, ya que ha extraído o robado tus credenciales y se hace pasar por ti desde una ubicación lejana como, por ejemplo, un país extranjero o una ciudad en la que no vives.
En el presente artículo se quiere hablar del problema de la falsificación de la ubicación y las ciberestafas que se crean. Hay gran cantidad de aplicaciones y servicios que necesitan verificar la ubicación lo más cercana o real posible de un usuario para ofrecerle un catálogo de servicios. O algo más crítico, que alguien se haga pasar por ti, ya que ha extraído o robado tus credenciales y se hace pasar por ti desde una ubicación lejana como, por ejemplo, un país extranjero o una ciudad en la que no vives.
También para hacer fraude o simplemente para hacer una ciberestafa en una aplicación en la que la ubicación es parte fundamental del servicio, como las plataformas de transportes de personas y mercancías, las de citas, o las de servicios ofrecidos por ubicaciones GPS. También para evitar los controles de rutas hechos por esos servicios basados en ubicación GPS.
Figura 2: "Ciberestafas: La historia de nunca acabar" (2ª Edición). por Juan Carlos Galindo en 0xWord.
Un ejemplo muy claro de protección de sistemas basados en ubicación puede ser la comprobación de la ubicación del terminal móvil cuando se hace uso de una tarjeta de crédito, o comprobar que los accesos a funciones privilegiadas o servicios privilegiados son sólo válidos cuando una persona tiene su terminal móvil con él en una ubicación pre-establecida, como el lugar donde se realiza una compra, o el head-quarter de la compañía.
Cómo detectar con una línea de código si un terminal está dónde dice que está
Por ejemplo, el acceso a funciones de alta seguridad en una CRA (Central Receptora de Alertas) o un SOC (Security Operation Center) podría ser solo accesible desde la ubicación del centro físico de la CRA o el SOC, por lo que comprobar la ubicación, y comprobar que esta no ha sido manipulada es fundamental. Esto, se puede hacer con el API de Device Location Verification. Vamos a trabajar con Open Gateway y vemos cómo se hace. Para ello partimos del siguiente escenario:
PRIMERO: Yo, como usuario, me encuentro en Distrito Telefónica y lo puedo mostrar con una aplicación como Google Maps. Partimos que estoy aquí. La ubicación es real.
Como se puede ver en la imagen se puede ver como el atacante como la ubicación GPS en Málaga, por lo que cuando la aplicación real haga uso del GPS del dispositivo móvil, ésta recibirá la ubicación de Málaga.
TERCERO: Ahora, en la siguiente imagen, se puede ver que (en este caso Google Maps) se obtiene la ubicación de Málaga. De esta forma si la aplicación hace restricción por ubicación para evitar algo se “bypassea” de forma sencilla por el atacante.
Esto debe ser tenido en cuenta, ya que no podemos fiarnos de dicha ubicación GPS, ya que puede ser modificada y evitar dicha restricción.
CUARTO: Ahora, con la API de Device Location Verification podemos acceder a información real sobre la ubicación, en un radio, dónde se encuentra el dispositivo, y verificar si de verdad se encuentra donde dice que se encuentra.
TERCERO: Ahora, en la siguiente imagen, se puede ver que (en este caso Google Maps) se obtiene la ubicación de Málaga. De esta forma si la aplicación hace restricción por ubicación para evitar algo se “bypassea” de forma sencilla por el atacante.
Figura 5: Google Maps nos detecta ahora en Málaga.
Hemos engañado a Google Maps con Fake GPS.
Esto debe ser tenido en cuenta, ya que no podemos fiarnos de dicha ubicación GPS, ya que puede ser modificada y evitar dicha restricción.
CUARTO: Ahora, con la API de Device Location Verification podemos acceder a información real sobre la ubicación, en un radio, dónde se encuentra el dispositivo, y verificar si de verdad se encuentra donde dice que se encuentra.
Como se puede ver en la imagen siguiente, a pesar de lo que diga la información GPS, podemos ver gracias a la API de Device Location Verification que el usuario NO se encuentra en Málaga, que es lo que indica el color rojo.
Figura 7: El API de Device Location Verification
confirma que no está en Málaga.
En otras palabras, lo que nos decía la aplicación anterior que había sido engañada con FakeGPS quedaría invalidado, ya que Device Location Verification nos indica que no se encuentra en Málaga. Para saberlo debemos ir validando diferentes radios que puedan cubrir varias zonas. El usuario tiene un consentimiento explícito en el uso de la API.
Figura 9: El API de Device Location Verification
confirma que estamos en Distrito C.
El ejemplo anterior, con un código en Python, se puede ver cómo se accede a Latitud y Longitud del GPS y luego se verifica con Device Location Verification para detectar el fraude. Además de ese API, Open Gateway tiene la API de Device Status con la que se puede validar si el número se encuentran en Roaming o no. Esto es interesante, ya que permite también sumarle una capa extra de seguridad para identificar que no se encuentra fuera del país.
Figura 11: API de Device Status en Telefónica
En muchas ocasiones, ante un robo de tarjeta, credenciales u otros elementos se hacen uso de ellos desde ubicaciones lejanas (fuera del país), por lo que se puede controlar con Device Status y verificar realmente que la operación no se realiza desde fuera del país.
Las capacidades de seguridad que ofrece Open Gateway son altísimas, por lo que este es uno de los casos de uso que se puede encontrar. Iremos desgranando más casos de uso y no dudes en probarlo y revisar la documentación que existe. Tienes el Partner Program y el Developer Hub.
Saludos,
Autor: Pablo González Pérez, escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de Telefónica Innovación Digital. Para consultas puedes usar el Buzón Público para contactar con Pablo González
Contactar con Pablo González |