El vuelo 447 y la seguridad en big data

Víctor Deutsch    26 febrero, 2016

La tecnología de big data es actualmente uno de los grandes habilitadores de la revolución digital. La posibilidad de acceder y analizar en tiempo real una enorme cantidad de datos de todo tipo y fuente genera infinitas aplicaciones posibles para personas y organizaciones. Pero la seguridad en big data (la falta de ella) también puede generar grandes amenazas, como vais a ver.

La disponibilidad de esta gran cantidad de datos nos hace pensar, intuitivamente, en la capacidad de tomar mejores decisiones. Es decir, dado que disponemos de mucha más información objetiva, si aplicamos una inferencia lógica podremos acercarnos más a nuestros objetivos (partiendo del supuesto de que una decisión tomada sin información adecuada es lo más parecido al azar).

La exponencial evolución de la velocidad de los procesadores en los últimos años nos permite también analizar esta información prácticamente en tiempo real. Mientras que anteriormente un análisis de datos se basaba en general en datos históricos recolectados a lo largo de mucho tiempo (por ejemplo calcular la posición secreta de un buque enemigo) y con largos tiempos de proceso, actualmente podemos valorar terabytes de información a veces en escasos segundos, lo que abre el espectro a muchas más aplicaciones que en el pasado.

El nuevo paradigma de la smart city, por ejemplo, se basa en ese concepto. Miles de sensores captan información a cada segundo en todas las calles de la ciudad (cámaras, celdas telefónicas, etc.) y determinados algoritmos informáticos van tomando decisiones en tiempo real para adaptar el comportamiento de los servicios públicos de la forma más óptima  a las necesidades de los ciudadanos (regulando la frecuencia de los semáforos, dando indicaciones a la policía de tráfico, planificando los horarios de los trenes o reforzando el servicio de autobuses).

Es realmente una revolución que tiene beneficios a una escala difícil de estimar. Pero la enorme ventaja de estas tecnologías no nos debe hacer perder de vista un aspecto fundamental y es que la racionalidad de las decisiones depende objetivamente de dos cosas: la calidad de los datos y la integridad de los algoritmos de decisión. En la medida en que muchas decisiones que afectan a nuestras vidas estarán cada vez más en manos de agentes automatizados, la relevancia de dichos factores es todavía mayor. Veámoslo en el caso del vuelo 447:

El 1 de julio de 2009, el vuelo de Air France 447 de Río de Janeiro a París se estrelló de manera misteriosa en el océano Atlántico. El vuelo era operado por un reactor Airbus A330-203, uno de los más modernos diseños del fabricante europeo. El avión sólo tenía cuatro años y estaba equipado con la última tecnología de navegación y control aéreo, además de estar tripulado por pilotos con una enorme experiencia. El capitán Dubois acumulaba más de 10.000 horas de vuelo, casi 1.800 en ese modelo de aparato.

Los datos preliminares no aportaban ninguna luz sobre los motivos del accidente. De repente, durante una fase normal del vuelo, el avión perdió velocidad, descendió durante tres minutos y medio y se estrelló en la superficie del océano. Tras años de investigación y una espectacular operación de rescate de las cajas negras del fondo del mar, la BEA (del francés Oficina de Investigación y Análisis para la Seguridad de la Aviación Civil) concluyó que una desdichada cadena de sucesos había provocado la tragedia.

En primer lugar, un fallo en los sensores de velocidad hizo que el algoritmo de control (el piloto automático, PA) llevara el avión hasta una altitud y velocidad en la cual perdió sustentación y empezó a caer como una piedra (lo que se denomina “entrar en pérdida”). Ante esa alarma, el PA se desconectó, sonó una alarma acústica y el control volvió a los pilotos.

Confundidos por las lecturas erróneas de velocidad, ellos no atinaron a corregir el problema bajando la nariz del avión y ganando velocidad, que es la maniobra ortodoxa con la cual en dos segundos hubiesen recuperado la sustentación. Por el contrario, tiraron de la palanca hacia atrás y subieron la nariz, lo que disminuyó aún más la velocidad y continuaron en pérdida.

El ángulo de subida era tan empinado que el algoritmo del sensor de pérdida lo consideró incompatible y apagó la alarma, y eso confundió aún más a los pilotos, que sentían cómo el avión caía, pero la alarma no sonaba. En cambio, cuando intentaron bajar el morro (lo correcto) volvía a sonar. Esta situación se repitió varias veces durante los tres minutos y medio de caída.

Imaginemos una situación similar en un gran sistema urbano: sensores que envían lecturas erróneas y algoritmos no preparados para procesar esos datos inconsistentes que toman decisiones equivocadas. Luego, cuando comienzan a percibirse los efectos negativos (accidentes, colapsos de tráfico…), los analistas humanos que deben tomar el control no están acostumbrados o preparados para resolver los problemas y, bajo una situación de gran estrés, cometen errores que agravan la situación: el caos.

Aunque los grandes sistemas de big data tienen, por supuesto, mecanismos teóricos para prevenir fallos desde su mismo diseño, no debemos olvidarnos de estar preparados para situaciones inesperadas. Un fallo aislado de algunos sensores (entre miles) puede pasar desapercibido si la red es robusta (es como se diseñan las redes para que sigan funcionando aun con menos nodos). Pero un fallo sistémico no es imposible, si pensamos que muchos sensores están construidos sobre la misma tecnología.

¿Cuántas backdoors puede haber entre cientos de miles de líneas de código? A veces código antiguo o desarrollado por terceros. Puntos de fallo ocultos conocidos por unos pocos para actuar oportunamente. ¿Podemos estar seguros del comportamiento de los sensores ante todas las posibles situaciones climáticas o radiaciones a las que se exponen? ¿Hay un árbol de decisión completo para todas las situaciones posibles?

El accidente del vuelo 447 llevó a Airbus a revisar el diseño de los sensores de velocidad (no fue el único vuelo en el que fallaron) y los algoritmos de control y navegación de la cabina (30 líneas de código hubiesen salvado el avión). Pero, por encima de todo, hizo que se reforzara la formación de los pilotos en maniobras a gran altura. Acostumbrarse al PA les hizo olvidar qué decisiones debían tomar en una situación límite.

Por eso, si vamos a adoptar tecnologías de big data y confiar decisiones críticas a nuevos agentes electrónicos, no debemos olvidarnos de la seguridad. Pero no basta con proteger cada sensor o algoritmo de los hackers; es necesario diseñar un completo Plan director de seguridad que abarque todas las potenciales situaciones de riesgo que podamos prever. Y que la “tripulación” se forme para manejarlas.

Imagen: Biggerben

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *