#MundoHacker: Entendiendo el funcionamiento de los sistemas de reserva de vuelos

billete de vuelo

Estos días he estado preparando un viaje a Polonia para dentro de unos meses, y buscando información sobre vuelos, me ha parecido interesante investigar cómo funcionan los sistemas de distribución globales que utilizan las compañías intermediadoras.

Los GDS (EN) sirven a empresas como Logitravel y agencias de viajes un sistema para verificar la disponibilidad de vuelos a la hora de mostrarnos información por pantalla, y también son los encargados de evitar que por ejemplo dos usuarios compren en el mismo momento un mismo billete.

Aquí entran en juego numerosos elementos, semejantes en todo caso a los que podríamos encontrar en sistemas bancarios donde la inmediatez y la integridad son críticas para el funcionamiento del mismo.

Una vez consultado, el intermediario recibe la información mediante la interfaz que utilice, que infla de una u otra manera el precio base del viaje. Ahí habría que contar el porcentaje que se queda el intermediario, y también el resto de herramientas de presión con las que juegan la mayoría de intermediadores, penalizando a aquellos usuarios que han realizado búsquedas semejantes recientemente, o tergiversando según interese el número de personas supuestamente interesadas en este mismo momento por el viaje y/o las plazas disponibles. Datos que le recuerdo son manipulados algorítmicamente para “incentivar” la compra compulsiva. Y algo que debería en algún momento ser regulado, habida cuenta de que se trata claramente de publicidad engañosa.

Pero centrémonos en otro aspecto.

Existen al parecer solo una veintena de distrbuidores de GDS, y como explicaban los investigadores Karsten Nohl y Nemanja Nikodijevic en la conferencia del Chaos Communication Congress (EN) de este último año, el mercado prácticamente está colapsado por tres gigantes: Sabre (EN), de 1960, Amadeus (EN), del 87 y Galileo, actualmente dentro de Travelport (EN), que gestionan más del 90% de las reservas de vuelo, hoteles y viajes mundiales.

Tres únicas plataformas, a cada cual más vieja, son las encargadas de administrar el parque de datos personales que los consumidores vuelcan a la hora de realizar una compra, compartiendo bajo un mismo modelo dicha información entre sí.

Y hablamos de nombres completos, documentos de identidad, teléfonos, fechas de nacimiento, datos del viaje o la reserva y, por supuesto, también información de pago. Vamos, el pack completo.

Ver en Youtube (EN)

Una política de transparencia un tanto laxa

El problema que señalaba los investigadores es que hay muchísimos profesionales que tienen acceso a esta información. Operadores turísticos, agentes de hoteles y aerolíneas… realmente cualquiera con una licencia para operar dentro del mercado de los viajes adquiere la capacidad de acceder a los registros GDS, que al tener que ser globales, competen en la práctica a los datos de todos los clientes que en algún momento han utilizado este tipo de servicios.

Como no podía ser de otra manera, para acceder a dicha información es necesario conocer el apellido o nombre y el código de reserva, distinto para cada viaje, que se compone de 6 dígitos.

  • La parte buena es que este código se envía al usuario vía email para proteger su privacidad.
  • La parte mala es que también aparece impreso como código de barras en el billete y en todas las etiquetas que nos ponen en los equipajes. Un código de barras accesible para cualquiera con tan solo bajarse una de las múltiples aplicaciones de lectura de códigos de barras que podemos encontrar en Google Play y/o la App Store. O incluso haciéndolo a la vieja usanza (EN).

Una búsqueda rápida por Instagram de hashtags del tipo #AirPlaneTicket (ES) o #AirTickets (ES) devuelven numerosas fotografías en las que los usuarios comparten alegremente su boarding pass.

boarding pass

Hay literalmente miles de imágenes a día de hoy que muestran in situ datos confidenciales como es el nombre del viajero y el código de barras, y cada día se suben más.

Solo hay que unir estos dos hechos para darse cuenta que basta con que un trabajador del aeropuerto, o cualquiera con acceso a un GDS desde la comodidad de su casa, le de por sacar información con fines maliciosos para encontrarse con una verdadera mina de oro. Que la industria del cibercrimen paga muy bien. Al igual, por cierto, que los gobiernos :).

El problema se agrava cuando muchos de estos GDS no cuentan con controles de fuerza bruta, lo que favorece la automatización de ataques (ir probando Passenger Name Records (EN) asociados a apellidos habituales hasta que se da en el blanco). La generación de PNRs depende del GDS, pero no siempre es aleatoria (algunos sistemas lo crean de manera secuencial según van recibiendo peticiones, otros parten de una base que es la misma o depende de algún criterio como puede ser el stakeholder desde donde se contrata), y conociendo el patrón, se pueden de nuevo automatizar más ataques.

Una vez abierta la caja de pandora, la víctima quedaría expuesta a mil y un perrerías:

  • Campañas de spear phishing: Un email de la supuesta compañía pidiendo al cliente que confirme su número de tarjeta, o dirigiéndolo a una página fail para que ingrese sus credenciales.
  • Robo de viajes: Algunos GDS ofrecen la posibilidad de que el operario cambie datos del cliente, pudiendo poner los de cualquier otro que será quien figure realmente como dueño de la reserva.
  • Agenciarse kilómetros: Algo que seguramente pase desapercibido para la víctima, y que en esencia, realizándolo continuamente, daría a los cibercriminales la capacidad de emitir vuelos a muy bajo coste o directamente gratuitos.
  • Extorsiones futuras: Según con los permisos de la cuenta desde la que se realice el ataque, acceder a un historial de viajes de una potencial víctima junto sus datos personales podría servir para realizar muchísimas más acciones maliciosas. La información, como bien sabe, es poder.

¿Qué hacer para evitarlo?

Creo que es obvio.

  • Por parte del usuario, evitar en la medida de lo posible exponer públicamente estos PNRs. Y eso conlleva no publicar en redes sociales los billetes, y deshacerse de las dichosas pegatinas de nuestras maletas de una forma adecuada (cortándolas en varios pedazos y sobre todo, no dejándolas en entornos esperables, como puede ser las inmediaciones de aeropuertos, estaciones de metro y/o hoteles).
  • Por parte de la industria, actualizar sus sistemas, accesibles desde la nube, a los estándares de seguridad actuales. Plantearnos si un PNR accesible por cualquiera en código de barras 1D se presta adecuadamente al paradigma que está cumpliendo en el sistema (ser una contraseña), y obrar en consecuencia. Definir unos roles de acceso adecuados al GDS también minimizaría el alcance y el riesgo asociado.

Nada nuevo bajo el sol, y que temo no lleguemos a verlo solucionado en un intervalo de tiempo corto. De ahí la importancia de que seamos conscientes del riesgo que hay para no facilitarles nosotros como clientes la vida a los cibercriminales.

 

________

Puede ver más artículos de esta serie en #MundoHacker, donde tratamos en varios tutoriales las medidas para atacar y/o defenderse en el mundo digital.

Y si el contenido que realizo le sirve en su día a día, piense si merece la pena invitarme a lo que vale un café, aunque sea digitalmente.

hazme patrono pabloyglesias