Mostrando entradas con la etiqueta Open Gateway. Mostrar todas las entradas
Mostrando entradas con la etiqueta Open Gateway. Mostrar todas las entradas

domingo, febrero 02, 2025

Your Own Kernel of Digital Transformation: Open Gateway & APIs for CyberSecurity

Si ayer que daba comienzo mi año 14 en Telefónica os contaba muchas de las cosas que he estado haciendo estos años - donde por no ser demasiado largo dejé fuera todo lo de ElevenPaths o LUCA de los que he hablado muchas veces -, hoy que tengo planes de trotar por el monte con mi amigo, os dejo una charla de 30 minutos que di sobre "Your Own Kernel of Digital Transformation: Open Gateway & APIs for CyberSecurity" que cubre mucho de eso, en Port Aventura.
La conferencia la di el 9 de Octubre del año pasado en MSP Global 2024, y me pidieron que habla de la transformación digital de Telefónica, de Kernel, y del proyecto de OpenGateway orientado a Ciberseguridad. Todo ello, dentro de la estrategia global de la compañía y la industria.

Fue una charla de sólo media hora, y como la he recuperado, la he subido a mi canal de Youtube donde recopilo todas mis intervenciones por si queréis verla o escucharla. Aquí la tenéis.


Y nada más, que disfrutéis del Domingo, y nos vemos el lunes para comenzar la semana que da inicio al mes dos del 2025. ¿Te has dado cuenta de que ya ha pasado un mes del año? Así de rápido va esto...

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, diciembre 14, 2024

AuthQauke: Un bug en Microsoft MFA que permitía Brute Force de tus TOTP para entrar en tu cuenta de Microsoft

Esta semana se ha publicado la investigación de Oasis Security Research Team sobre el bug y la explotación de AuthQuake, un bug que contenía Microsoft MFA (Multi-Factor Authentication) que permitía explotar el 2FA (Second Factor Authentication) de tus cuentas de Microsoft Office mediante un ataque de fuerza bruta a los valores del TOTP (Time One-Time Passwords) asociados.
Para que entendáis lo que han hecho, hay que saber cómo funciona la cuenta de Microsoft Office con MFA utilizando TOTP como método de autenticación, echar unos cálculos y ser muy rápidos. El funcionamiento es el siguiente.

Figura 2: Microsoft MFA para TOTP

Primero se pide una sesión a Microsoft Office que se autentica con usuario y contraseña, y Microsoft genera un ID de Sesión sobre el que se pueden hacer 10 intentos de TOTP. Es decir, que por cada autenticación se pueden hacer 10 intentos. 

Pero si no se valida el TOTP en esos 10 intentos, simplemente se cierra el ID de Sesión y hay que volver a autenticar el usuario y la contraseña, pero no se bloquea la cuenta, ya que no queda como intentos de contraseña errónea, sino como que no se ha validado el 2FA.

Teniendo en cuenta que los valores de un TOTP deberían valer 30 segundos, pero según el estándar TOTP éste puede ir hasta los 10 minutos, nos podríamos encontrar con un entorno en el que la seguridad se degrada. 

En la práctica, la validez de un TOTP normalmente suele estar entre 1 y 3 minutos, y en el caso de Microsoft, los investigadores descubrieron que el valor que tiene configurado el proceso de login es de 3 minutos, lo que permite muchos intentos.
Teniendo en cuenta que son 6 dígitos, hay que conseguir 1 Millón de intentos para cubrir un ataque de fuerza bruta, pero la estadística está de parte del atacante, ya que en media, el 50% de las veces tendrá éxito con solo la mitad de los intentos, y así sucesivamente.

Figura 5: Código TOTP (6 dígitos) de Microsoft MFA visto en Latch.

El bug en sí existía porque la cuenta no se bloqueaba a pesar del número de intentos de validación del TOTP que se haga porque el bloqueo lo tienen en el número de intentos de la contraseña y no en el de la validación del TOTP, lo que hace que una vez que se tenga la contraseña el 2FA de TOTP de Microsoft fuera poco útil.

AuthQuake Attack

El atacante podría atacar un TOTP y buscar si la estadística estaba a su favor durante esos tres minutos, generando nuevas autenticaciones correctas sin validación de 2FA, y ver si lo consigue o no. Pero si no lo consigue, no pasa nada, a los 3 minutos hacemos otro ataque al TOTP a ver si ahora la estadística está de nuestra parte y en 5 horas se tiene aproximadamente el 98% de probabilidades de saltar el 2FA.
Ahora está resulto, pero es un aprendizaje sobre cómo se debe establecer un sistema de identidad, con autenticadores seguro para que no haya un ataque como éste que pueda anularlo por no haber hecho los deberes. Aquí la demo del ataque.

Figura 7: AuthQuake Attack con un script en Python

Al final, con ene intentos contra un TOTP cada tres minutos, es posible saltar el 2FA, porque como han explicado los investigadores:
  • No había restricción de intentos de validación de TOTP
  • El usuario nunca recibía una alerta de inicio de sesión o intento fallido de TOTP
Esto es algo que nos llevó a crear Tu Latch, ya que en este escenario el atacante tiene las credenciales pero nunca se entera el usuario de que se las han robado, mientras que con un Control de Latch, en el primer intento el usuario recibiría una alerta que le indicaría que alguien ha intentado iniciar sesión con su contraseña.

Figura 8: Yaiza Rubio y Chema Alonso presentando Tu Latch

En el vídeo anterior, estamos Yaiza Rubio y yo presentando cómo se puede utilizar Tu Latch para Control de Authorizaciones, tanto en el proceso de Login como 2FA, como con capa de Control de Autorizaciones para, una vez perdido el User/Password y 2FA aún se pueda tener protegida la cuenta del servicio digital con Tu Latch.


Si quieres conocer más de Latch o cómo configurar un sistema de Identidades utilizando una capa de control de autorizaciones con Tu Latch y con OpenGateway para reducir el impacto de estos bugs al máximo posible, contacta con nosotros

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, diciembre 02, 2024

Inteligencia Artificial Generativa, Tecnología Cuántica y Ciberseguridad: Una charla en Deusto

El pasado 18 de Noviembre salté a primera hora de la tarde a Bilbao, para regresar a las 00:00 de la noche después de haber dado una conferencia presencial de "Inteligencia Artificial Generativa, Tecnología Cuántica y Ciberseguridad"dentro de las actividades del Programa de IA para expertos en Ciberseguridad que hemos impartido en Noviembre.

La charla es de dos horas, y toca temas de los que ya he hablado muchas veces, con eje fundamental en la identidad digital. Así que la sesión comienza con la gestión de la identidad, sigue con Tu Latch para crear un sistema robusto de autorizaciones, después toca OpenGateway para hacer autenticación y autorización por contexto, como en la demo que puedes ver en este vídeo.
Después toca las tecnologías cuánticas aplicadas a ciberseguridad, donde se habla de los esquemas de Quantum Readiness y Quantum Safe, del uso de Quantum Random Number Generators por ejemplo para la generación de semillas QTOP o Secretos, como hacemos en Tu Latch, del reto de ruptura de RSA Factoring Challenge con las soluciones cuánticas, de los sistemas de cifrado de de Quantum Encryption para tener Quantum Key Distribution (QKD) y las soluciones de criptografía post-cuántica (PQC) como lo que usamos en Tu Quantum Drop.
Por último, en la sesión se habla de DeepFakes y, como no, de las técnicas que utilizamos en Tu VerifAI Premium para detectar indicios de riesgo en vídeo conferencias, en vídeos de Fake News y en proceso de Remote Digital Onboarding para cumplir la política de KYC (Know Your Customer).


Son dos horas de charla, para personas que quieran conocer un poco todo lo que estamos haciendo desde nuestras áreas de innovación en este mundo, que como podéis ver es mucho, algo que es no solo nuestra pasión, sino que además sentimos como nuestra obligación principal. Innovar para crear el futuro que se nos venga, pero que sea seguro.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, noviembre 28, 2024

Reto Santander X Global Challenge de Open Gateway: 120.000 € en premios

Ya os he hablado en otras ocasiones sobre Telefónica Open Gateway y cómo ha llegado para transformar la forma en la que se consumen los servicios de la industria de telecomunicaciones. La magnitud de este proyecto es enorme y las posibilidades para los developers son infinitas. Especialmente porque creo que con muy pocas APIs, se pueden hacer muchísimas cosas chulas. Por eso, hemos lanzado un challenge para llevar la experiencia digital de los usuarios al siguiente nivel con la integración de nuestras APIs.


En el blog os hemos hablado de las posibilidades de usar Geo-Fencing de funciones privilegiadas en servicios digitales utilizando el API de Device Location Verification, o de cómo detectar un intento de Fraude de GPS con la misma API. También tienes APIs para detectar el clonado de SIMs con el API de SIM Swap o para hacer una autenticación "seamless" y robusta con el API de Number Verification, o descubrir si un dispositivo está en Roaming con el API de Device Status.
Ejemplos de estas APIs los contamos David del Val, Pablo González y yo en el pasado Telefónica Innovation Day, y tenéis el vídeo de la demo subido a mi canal Youtube, para que veáis cómo funcionan todas estas tecnologías y todo lo que se puede hacer. El objetivo, que cojas ideas para participar en este reto que te voy a contar ahora.


Figura 3: Telefónica Innovation Day 2024 - Open Gateway.
Anti Fraude, Drones y Santander X Challenge

Se pudieron ver ejemplos para potenciar el ecosistema de drones, haciendo uso de APIs que permiten conocer las condiciones de conectividad y la densidad poblacional de la ruta previo al despegue o aplicar QoD Mobile. Y un ejemplo de una solución antifraude que también hacía uso de TU Latch integrado con OpenGateway.

Reto Santander X Global Challenge de Open Gateway

El Santander X Global Challenge | New era of Customer Experience, es un reto que lanzamos en colaboración con el Banco Santander y Oxentia Foundation. Con él, buscamos que todos los developers que formáis parte de startups o scaleups, podáis aprovechar nuestras capacidades telco servidas en OpenGateway y desarrolléis los servicios digitales del futuro. Dejadme que os cuente más sobre ello.

Figura 4:  Nathalie Picquot y David del Val explican el reto

El objetivo del challenge es sencillo: crear las soluciones más innovadoras que ayuden a mejorar la experiencia de los clientes. Y para facilitaros el trabajo, vais a tener a vuestra disposición nuestras APIs de OpenGateway para incorporarlas en vuestro código. Debéis dar un salto de mejora en alguna de estas tres áreas:
  • Personalización de experiencias.
  • Garantización de la omnicanalidad
  • Potenciación de la conexión humana
De esta forma, podréis liberar toda vuestra creatividad en soluciones como asistentes virtuales basados en IA, programas de gamificación, soportes de comunicación y muchas otras cosas que se os ocurran.


Hay tres premios de 30.000 € para ScaleUps y 3 premios de 10.000 € para Startups, además de tener acceso al equipo de innovación abierta del Santander para explorar oportunidades de colaboración, promoción en los canales oficiales del banco y acceso a Santander X 100, la comunidad global de las empresas más destacadas de Santander X. También podréis tener un encuentro con los inversores de nuestra aceleradora de startups Wayra, además de conocer al equipo y las instalaciones.


Participar es simple y gratuito. No importa si picáis código en una pequeña startup o una scaleup en crecimiento; el reto está diseñado para adaptarse a distintos niveles de desarrollo. El único requisito es que vuestra empresa se encuentre legalmente constituida en uno de los 11 países participantes: Argentina, Alemania, Brasil, Chile, EE. UU., España, México, Portugal, Polonia, Reino Unido y Uruguay. Tenéis hasta el 15 de diciembre de 2024 sumaros a este reto y poner en práctica el potencial de nuestras APIs.

Open Gateway

Como sabéis, anunciamos Open Gateway en el MWC 2023 y, en el transcurso de estos dos años, hemos podido dar grandes pasos. Al fin y al cabo, es uno de nuestros proyectos estrella y le tenemos mucho cariño. Algunas de nuestras APIs ya se encuentran comercialmente disponibles en países como España, Brasil y Alemania

También hemos desarrollado un Sandbox para que piquéis código, experimentéis y validéis vuestras propias soluciones. Poco a poco hemos ido ampliando nuestro catálogo de APIs y, con ello, abarcando nuevos sectores de soluciones. Algunas de ellas, y que podréis encontrar disponibles en el reto, son las siguientes:
  • API QoD Mobile: permite ajustar la calidad de servicio basada en las condiciones de red y, con ello, optimizar la conectividad en situaciones adversas, como entornos congestionados.
  • API Number Verification: verifica si el móvil proporcionado en un formulario coincide con el que se está usando. Esto evita fraudes en autenticación y aporta seguridad.
  • API de SIM Swap: verifica si una SIM ha sido clonada en un periodo de tienpo.
El Sandbox de producción cuenta con las mismas características y ventajas que el modo mock. La principal diferencia consiste en que se trata de un entorno de integración real, en el que se busca registrar una aplicación con alguno de los operadores de Telefónica. En este caso, debéis rellenar algunos datos adicionales en nuestro formulario que posteriormente pasarán por un proceso de validación. Actualmente, esta modalidad del Sandbox sólo está disponible para Movistar en España. Pronto se añadirán el resto de las operadoras de otros países, como Vivo en Brasil u O2 en Alemania.


Para que empecéis a experimentar, es necesario que os unáis al Developer Hub de Telefónica Open Gateway. La inscripción a este programa no tiene ningún coste, por lo que podréis disfrutar del Sandbox de forma gratuita. En la sección Technical Toolbox del área privada, una vez que os hayáis registrado y logado, encontraréis el acceso y, una vez dentro, lo primero que veréis es nuestro catálogo completo de APIs disponibles en el entorno de pruebas. 

Seleccionad aquella con la que queráis trabajar, añadid la información general de vuestra aplicación y elegid el modo que deseéis, ya sea de producción o mock, para empezar con vuestros desarrollos. Probad vuestros desarrollos con estas APIs para llevarlos al siguiente nivel de seguridad antifraude con OpenGateway.


Y si quieres mantenerte informado con novedades en la iniciativa como más webinars sobre nuestras soluciones, lanzamientos comerciales o nuevas APIs disponibles, suscríbete a nuestra newsletter de Open Gateway.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, noviembre 14, 2024

Open Gateway: Cómo detectar a un ciberestafador que manipula el GPS con FakeGPS usando el API de Device Location Verification

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. 

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.

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.

Figura 3: Ubicación real en Google Maps

SEGUNDO: Un atacante utiliza la aplicación
FakeGPS para engañar a una aplicación sobre la ubicación que proporciona el GPS del dispositivo. 

Figura 4: Con Fake GPS nos situamos en Málaga

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.

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.


Por otro lado, si probamos con Device Location Verification (y nuestro querido portal de demos de Open Gateway hecho en IdeasLocas) sobre el Distrito C de Telefónica podremos identificar que realmente nos encontramos ahí, y no dónde nos decía el atacante, como vemos en la imagen siguiente.

Figura 9El API de Device Location Verification
confirma que estamos en Distrito C.

Es importante, entender que un servicio puede disponer de esta API para validar que un usuario no intenta engañarle con la ubicación, ya sea para abusar del servicio o cualquier intención que exista. Además, es un hecho fundamental cuando se quiere controlar las ciberestafas o el fraude y evitar las acciones sospechosas que se hacen desde ubicaciones lejanas, ya que se puede validar que el usuario no está dónde dice estar. Esto último tiene una clara alineación con evitar el fraude en pagos o transferencias.

Figura 10: Código en Python para detectar el fraude de ubicación.

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 APIOpen 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.


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,

domingo, octubre 20, 2024

Telefónica Innovation Day 2024: Ya puedes verlo en vídeo

El pasado Jueves 17 de Octubre de 2024 tuvo lugar nuestro evento de Telefónica Innovation Day 2024. En él presentamos todos los avances y novedades de lo que hemos estado trabajando en nuestros nuevos proyectos. A lo largo de los meses os he ido dejando ver algunas pinceladas, pero para este día queríamos traer muchas más novedades, y todas las pusimos públicas en este evento.
Ahora lo he subido a Youbute de forma completa, donde puedes ver que está dividido en varias partes claramente diferenciables y que yo voy a ir subiendo cortadas también a mi canal de Youtube, donde sabéis que guardo todas las charlas, entrevistas, conferencias y material en vídeo que hemos ido generando los últimos 20 años.


Figura 2: Telefónica Innovation Day 2024

En la presentación se habla de muchas cosas, de todas ellas os he ido hablando - o lo haré - en este blog, que ya sabéis que para mí es el corazón de mi comunicación al mundo exterior. Pero si seguí la presentación, por cada una de sus partes, tiene esta estructura:

Introducción a la Innovación
Telefónica OpenGateway

Figura 3: Telefónica Innovation Day 2024: Open Gateway

Hogar Movistar

Figura 4: Chema Alonso y Antonio Guzman presentan Hogar Movistar

Tu.com
Wayra
Todo el evento, además, se pudo seguir en Spatial, gracias al trabajo del equipo de Metaverso & Web3 de Telefónica Innovación Digital, que se preocuparon de que estuviera todo listo.


Figura 8: Experiencia del Telefónica Innovation Day 2024 en Spatial

Por supuesto, el evento está lleno de muchos más detalles, así que iré completando este artículo a medida que vaya subiendo los vídeos de las diferentes partes, y vaya subiendo nuevos artículos sobre lo que contamos ese día, pero por ahora, tienes material para saber todo lo que contamos allí.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, octubre 07, 2024

(UN)Expected Connnections: Telefónica Innovation Day - 17 de Octubre de 2024

Hoy lunes os quería dejar el último aviso para que podáis registraros y asistir al Telefónica Innovation Day que tendremos el próximo día 17 de Octubre de 2024 en horario de tarde, y que podrás seguir por Internet y de forma presencial en el Distrito C de Madrid. Es decir, en nuestros queridos "Head Quarters" de Telefónica.
El evento es un evento puro de Innovación y Tecnología. Todo va a girar en torno a ello. A todas las innovaciones que hemos estado haciendo el último año, apoyadas en muchas cosas que hemos ido haciendo en el pasado, porque esto no es un viaje de un año, sino un proceso en el que Telefónica se embarcó desde el nacimiento de la compañía: Innovar para evolucionar a un compañía que sirva mejor a sus clientes.
La sesión tiene una agenda en tres bloques, muy diferenciados. El primero es el café y las demos en la sala adyacente, donde podrás probar y conocer de primera mano soluciones de las que os he ido hablando en el blog durante este año, mas alguna que aún no he contado. Podrás ver y experimentar demos con
Todas las tecnologías, y las novedades, las veremos en la siguiente parte del evento, donde daré, con la ayuda de algún miembro del equipo de Telefónica Innovación Digital, la presentación con todas las novedades y detalles de lo nuevo de este año, y lo que aún no se ha presentado.
Después, una vez acabada la sesión, todos los que asistáis de forma presencial al evento, podréis pasar a la parte de networking, con un vino, algo de comida, y todas las experiencias disponibles para probarlas si no has tenido tiempo.
Además, todos los miembros del equipo estaremos presencialmente en la sala para atender cualquier duda, curiosidad, necesidad, solicitud de contacto o de información que quieras. Que para eso es este día, y el evento presencial.
Así que, si quieres asistir a este día, regístrate cuanto antes. Ya hace unos días que estamos gestionando una lista de espera y una sala de desborde, para dar prioridad a clientes y partners en la sala principal, así que en cuanto te registres comenzaremos a buscarte un hueco para ver cómo conseguimos que puedas asistir a nuestro Telefónica Innovation Day.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, octubre 05, 2024

Cómo crear una aplicación y protegerse de ciberestafas con el API de SIM Swap

Si eres lector de este blog, seguramente ya habrás leído en más de una ocasión sobre Open Gateway y las enormes posibilidades que ofrece a los desarrolladores. Hoy quiero mostrar cómo crear una aplicación sencilla en Python para comprobar el estado de SIM Swap utilizando las APIs de Open Gateway y aprovechando el Sandbox de Telefónica para hacer pruebas sin riesgo.

Figura 1: Cómo crear una aplicación y protegerse
de ciberestafas con el API de  SIM Swap

¿Qué es SIM Swap?

Vamos a comenzar con una explicación de por qué esto es importante. SIM Swap es un evento de red que ayuda a detectar un tipo de ciberestafa en el que un atacante obtiene un duplicado de la tarjeta SIM de una víctima, mediante un engaño o una portabilidad entre empresas de telecomunicaciones fraudulenta, lo que le permite acceder a su línea de teléfono y recibir tanto llamadas de teléfono como mensajes SMS, lo que le da acceso a los códigos OTP de autenticación de segundo factor (2FA), o incluso realizar llamadas en nombre del usuario. 
Esto facilita el acceso no autorizado a cuentas bancarias, redes sociales u otros servicios sensibles que utilizan el SMS o la llamada como validación de 2FA, además de poder suplantar a la víctima en llamadas de teléfono fraudulentas. 
Con la API de SIM Swap de Open Gateway, podemos verificar si el número de teléfono de un usuario ha sido asociado recientemente a una nueva tarjeta SIM, lo que permite prevenir fraudes de manera más efectiva.

Sandbox de Telefónica Open Gateway

Antes de acceder a los datos reales, es fundamental probar la aplicación en un entorno seguro. Aquí es donde entra en juego el modo mock del Sandbox de Telefónica Open Gateway, un entorno de pruebas que simula el comportamiento real de la API sin comprometer datos de usuarios. Antes de empezar a programar, hay que dirigirse al sandbox para crear la aplicación. Aquí encontraremos las APIs disponibles con las que podemos trabajar, estando actualmente Device Location VerificationDevice StatusNumber Verification y SIM Swap.


Para la demo, se va a hacer uso de la API de SIM Swap. Tras seleccionar esta API y darle al botón de crear aplicación, se encuentra un formulario para rellenar información sobre esta. Desde aquí se puede seleccionar el modo de trabajo (producción o mock), indicar el nombre que se le quiere asignar a la aplicación, la URL de redirección (si es necesario) y una pequeña descripción.

Figura 5: Formulario de creación de aplicación

El siguiente paso es para aceptar los términos y condiciones de uso.

Figura 6: Confirmación de los términos y condiciones

En el último paso se muestra un resumen con toda la información anterior y el botón para confirmar y terminar con creación de la aplicación.

Figura 7: Resumen de la aplicación y confirmación

Ahora, en el apartado de “Mis aplicaciones”, se puede ver la nueva aplicación creada, aunque podría estar pendiente de validación. 

Figura 8: Información de la aplicación creada

Desde aquí se puede conocer el identificador de la aplicación, así como el secreto que será necesario para autenticarse al realizar llamadas a la API.

Ejemplo de aplicación SIM Swap en Python

Para comenzar a crear la aplicación en Python se tienen dos opciones:
  • Revisar la API e implementar todas las llamadas para conseguir la autorización y las llamadas a la API de SIM Swap usando alguna librería como puede ser requests.
  • Hacer uso del SDK que está preparado para trabajar con el sandbox.
Esta última opción es el que se opta por utilizar en este ejemplo para agilizar la creación de la aplicación. Su instalación se puede hacer con pip, indicando el paquete opengateway-sandbox-sdk:

pip install opengateway-sandbox-sdk

Ahora, se crea un nuevo script de Python  y vamos a definir una función que, dado un número de teléfono, cree una instancia de Simswap con los datos de nuestra aplicación (Client ID y Client Secret que se encuentran en la información de nuestra aplicación creada en el sandbox), así como el número de teléfono (en formato E.164) que se desea consultar. 

Se ejecuta la función retrieve_date() para obtener la fecha del último cambio de emparejamiento MSISDN <-> IMSI, o lo que es lo mismo, la última vez que el número de teléfono (MSISDN) fue vinculado a una nueva tarjeta SIM (IMSI).

Figura 9: Función para obtener última fecha de cambio de SIM

Este sería el código más básico para poder hacer uso de SIM Swap a través del SDK. Vamos a ampliar un poco el código para poner validación del número de teléfono y que se pueda pasar un número de teléfono o un fichero con un listado de número a través de parámetros al iniciar el script. Creamos una nueva función que, pasado un número de teléfono, compruebe a través de una expresión regular que cumple con el formato E.164
<->
Figura 10: Función para validar que un
número está en formato internacional
<->
La expresión regular que aparece en re.compile(r"^\+[1-9]\d{9,14}$") está diseñada para validar números de teléfono en formato internacional. Veamos en que consiste cada parte:
  • <->^: Marca el inicio de la cadena, asegurando que no haya caracteres antes del número.
  • <->\+: Busca el símbolo "+" al principio del número, que es obligatorio en los formatos internacionales.
  • <->[1-9]: Busca un dígito entre 1 y 9, lo que impide que el código de país comience con 0 (en números internacionales, los códigos de país nunca empiezan por cero).
  • <->\d{9,14}: Busca entre 9 y 14 dígitos después del código de país, representando el número de teléfono.
    • <->\d significa cualquier dígito (0-9).
    • <->{9,14} especifica que debe haber un mínimo de 9 dígitos y un máximo de 14 después del código de país.
  • <->$: Marca el final de la cadena, asegurando que no haya caracteres adicionales después del número.
En resumen, esta expresión regular valida un número de teléfono internacional que:
  • <->Empieza con un símbolo +.
  • <->Tiene un código de país que comienza con un dígito entre 1 y 9.
  • <->El número de teléfono contiene entre 9 y 14 dígitos después del código de país.
Algunos ejemplo válidos para esto serían: “+34600123456” (España) o “+14155552671” (EE. UU.). Y un par de ejemplos de números no válidos podrían ser: “+0123456789” (el código de país no puede empezar con 0) o “34600123456” (falta el símbolo +).

Figura 11: Libros de Python para Pentesters y Hacking con Python
de Daniel Echeverri publicados en 0xWord.

<->Por último, realizamos la creación de una función principal. La función main() se encarga de gestionar los argumentos de la línea de comandos para que el usuario pueda verificar el estado de SIM Swap de uno o varios números de teléfono. Utiliza la librería argparse, que facilita la creación de interfaces de línea de comandos en Python. A través de esta función, el usuario puede proporcionar un número de teléfono individual utilizando la opción -p/--phone, o bien un archivo que contenga varios números de teléfono, uno por línea, con la opción -f/--file.

La función emplea un grupo de argumentos mutuamente excluyentes, lo que significa que el usuario debe elegir entre una de estas dos opciones, pero no ambas al mismo tiempo. Esto simplifica el manejo de los datos y asegura que la herramienta sea flexible pero a la vez fácil de usar. 

Figura 12: Función principal del programa
<->
Cuando se pasa un número de teléfono, este se valida usando la función phone_validator(), y, si todo va bien, se procesa con la función sim_swap(). Si se utiliza un archivo, la función intenta leer los números de teléfono línea por línea, y si encuentra algún error (como que el archivo no exista o no se pueda leer), gestiona las excepciones e informa al usuario. Esta estructura permite que la herramienta sea robusta y manejable, garantizando una buena experiencia de usuario con el manejo de errores y validaciones necesarias para evitar problemas.

Para finalizar se debería realizar la llamada a la función main(), algo que se puede integrar dentro del condicional if __name__ == “__main__": típico de Python. Sólo una cosa más, ¿recuerdas que en la llamada a SIM Swap había que indicar el Client ID y Client Secret? En el código mostrado anteriormente, estos valores aparecían en la función sim_swap() en las constantes CLIENT_ID y CLIENT_SECRET

<->
<->
Figura 13: Recuperando las credenciales desde el entorno
<->
<->Como se trata de valores que contienen información sensible, como buena práctica de programación, se recomienda leerlos del entorno. Para ello se puede hacer uso de la librería python-dotenv y almacenar las credenciales en un archivo .env que contiene las variables del entorno. 

<-> A continuación comparto un vídeo de ejemplo del uso de la API de SIM Swap donde puede apreciarse el código tanto haciendo uso directo de la API, como del SDK.

Figura 14: SIM Swap API vs SDK

Las APIs de Telefónica Open Gateway son una puerta abierta para que los desarrolladores puedan explorar nuevas formas de enriquecer sus aplicaciones con capacidades avanzadas, como el ejemplo visto con la detección de SIM Swap. El acceso a estos servicios no solo refuerza la seguridad de las aplicaciones, sino que también te permite crear experiencias más confiables para los usuarios.


Con el sandbox, tienes a tu disposición un entorno seguro para experimentar, probar e integrar estas funcionalidades en tiempo récord, sin necesidad de comprometer datos reales.  Si buscas llevar tus proyectos al siguiente nivel, esta es tu oportunidad, y puedes comenzar hoy mismo a experimentar con las APIs de Telefónica Open Gateway, explorar todo su potencial y transformar tus ideas en soluciones reales que impacten de forma positiva a miles de usuarios.
<->
<->Developer Hub

<->
Para que empecéis a experimentar, es necesario que os unáis al Developer Hub de Telefónica Open Gateway. La inscripción a este programa no tiene ningún coste, por lo que podréis disfrutar del Sandbox de forma gratuita. En la sección Technical Toolbox del área privada, una vez que os hayáis registrado y logado, encontraréis el acceso y, una vez dentro, lo primero que veréis es nuestro catálogo completo de APIs disponibles en el entorno de pruebas. 

Seleccionad aquella con la que queráis trabajar, añadid la información general de vuestra aplicación y elegid el modo que deseéis, ya sea de producción o mock, para empezar con vuestros desarrollos. Probad vuestros desarrollos con estas APIs para llevarlos al siguiente nivel de seguridad antifraude con OpenGateway.


Y si quieres mantenerte informado con novedades en la iniciativa como más webinars sobre nuestras soluciones, lanzamientos comerciales o nuevas APIs disponibles, suscríbete a nuestra newsletter de Open Gateway.

Saludos y

Happy Coding!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares