La importancia del diseño de interfaces en la seguridad de un sistema

lanzar misiles

Este sábado buena parte de los residentes en Hawaii recibían mediante el sistema de alerta de iOS y Android a primera hora de la mañana el siguiente mensaje (EN):

BALLISTIC MISSILE THREAT INBOUND TO HAWAII. SEEK IMMEDIATE SHELTER. THIS IS NOT A DRILL.

Esto vino acompañado de la activación de algunas de las sirenas de alerta ciudadana, y del corte momentáneo de la programación televisiva y radiofónica con un:

“Si estás dentro, quédate dentro. Si estás en el exterior, busca refugio inmediato en un edificio. Permanece en interiores bien lejos de las ventanas. Si estás conduciendo, apéate con seguridad al costado del camino y busca refugio en un edificio o acuéstate en el suelo”.

Con la crisis norcoreana en la mente de todos nosotros, y las continuas e infantiles pugnas entre los gobernantes de ambas naciones, sin lugar a duda debieron ser los 38 minutos más intensos de muchos de los habitantes de la isla.

Y digo 38 minutos, porque como sabrá a estas alturas, ningún misil iba hacia allí. Todo se debe a un error humano, y de paso, a un error en el diseño de las interfaces.

La criticidad del diseño de interfaces en infraestructuras críticas

Y en la práctica en cualquier sistema, pero centrémonos en éstas últimas, por ser las que más impacto podrían llegar a tener en caso de un fallo de interfaces.

Imagínese, por ejemplo, que un mal diseño de interfaces hace que un operario aumente o disminuya ligeramente las variables de refrigeración en una central nuclear. Algo que de seguro haría saltar todas las alarmas, y que en el peor de los casos, como lo que en su día se vivió con Stuxnet, acabaría por ralentizar más de cincuenta años la carrera nuclear de todo un país.

Ahora imagínese, por ejemplo, otro mal diseño de interfaces que empuja a un trabajador a programar inadecuadamente, quizás durante apenas unos minutos, el sistema de tráfico de una ciudad, colapsándola y de seguro produciendo no pocos accidentes. Basta con que los elementos de la interfaz cambien de orden o muestren opciones demasiado semejas para causar el caos.

Y esto mismo parece que ha ocurrido en Hawaii (EN).

Alrededor de las 8:05, el empleado de emergencias de Hawaii inició la prueba interna, según un cronograma dado a conocer por el Estado. Desde un menú desplegable en un programa de ordenador, vio dos opciones: “Prueba de alerta de misiles” y “Alerta de misiles”. Se suponía que él debía elegir la primera; como gran parte del mundo sabe ahora, él eligió la segunda, un inicio de una alerta de misiles de la vida real.

Tanto el portavoz de la Agencia de Manejo de Emergencias (EN) como el gobernador hawaiano David Ige se han pronunciado al respecto, tachando el incidente de algo “totalmente inaceptable (EN), y ahí creo que está el problema.

Más que considerarlo un error humano (que también lo es, vaya), creo que lo importante de este suceso es darse cuenta de que en el diseño de esta interfaz de emergencias se han cometido tres grandes errores. A saber:

Opciones que pueden llevar a engaño

Al parecer la pantalla del sistema muestra dos opciones: “Test missile alert” y “Missile alert”. El error aquí está en que la segunda contempla también el significado de la primera, por lo que aunque a todas luces cualquiera de nosotros al ver las dos se hubiera dado cuenta de que la primera es la que el operario tenía que haber clickado, un descuido accidental, presumiblemente asociado a la costumbre o el cansancio acumulado (recordemos que hablamos de un operario de emergencias trabajando en la madrugada del sábado) podría causar lo que al final ha causado.

Hubiera bastado con separar las pantallas destinadas a pruebas de aquellas destinadas a operar con el sistema. No tiene sentido que accedamos al mismo lugar para hacer test que para alertar de un ataque inminente a toda la ciudadanía.

Controles de seguridad insuficientes

Una vez se pulsa el botón, el sistema simplemente tiene un control de seguridad extra. Otra pantalla con el ya habitual “Are you sure?”. Que ojo, está muy bien cuando queremos eliminar una cuenta o cuando queremos programar el envío de un mensaje en un servicio digital, pero que se me antoja muy limitado en un sistema de este tipo, capaz de alertar y poner en jaque la tranquilidad de toda una isla.

¿Qué se puede hacer? Para empezar, la necesidad de que en el caso de que se quiera activar el sistema de alerta, sea necesario la participación de dos operarios. Delegar la responsabilidad en uno solo ha demostrado ser un error, y abre la veda a tergiversaciones futuras (en este caso fue un fallo, pero bien podría haber sido una broma pesada, cuando no la respuesta de un trabajador descontento o incluso un ataque proveniente de otro país o de un grupo activista).

Y no hubiera estado de más tener un control temporal para darle atrás a una opción marcada por error. Con tan solo una cuenta atrás de 10 segundos y un botón de cancelar hubiese bastado para que en este caso el operario se diese cuenta del error y todo hubiera quedado en un susto.

La falta de un sistema de cancelación a posteriori

El tercer punto bebe del segundo, y es que durante 38 minutazos la isla estuvo en crisis precisamente porque una vez activada la alerta, no existe ningún mecanismo centralizado para echarla hacia atrás. La única opción es tirar de teléfono e ir avisando a medios de comunicación y organismos de que solo se trata de un error.

Lo cual no tiene sentido. Al igual que contamos con un sistema de alerta centralizado, lo suyo es que haya medidas para alertar en tiempo real de un fallo… e incluso también de dar instrucciones actualizadas en el caso de que la alerta sea real.

Que sí que Twitter y Facebook sirvieron de altavoces apenas unos minutos después del anuncio, pero seamos sinceros… ante la inminente llegada de unos misiles balísticos, ¿cuánta gente cree que se va a sentar en el sillón de su casa a mirar redes sociales? La mayoría o estaríamos en shock o colapsaríamos los servicios de mensajería y la red telefónica para hablar con nuestros familiares.

Y de hacerlo, ¿íbamos a confiar más en una actualización de nuestros conocidos (o incluso de la policía), a sabiendas que las cuentas pueden estar comprometidas o que puede tratarse de un hoax, que a un mensaje que aparece en nuestros terminales y que ha cortado la emisión de la tele y la radio al que presumiblemente solo tiene acceso el equipo de alertas ante emergencias?

Con lo que quiero que se quede es que estos tres elementos que he definido por aquí para el diseño de interfaces en infraestructuras críticas deberían ser el santo y seña de cualquier experto en usabilidad a cargo de tamaña empresa.

Que no estamos pidiendo algo fuera de lo normal, y que me sorprende que en pleno siglo XIX, y proveniente de un país que es considerado potencial mundial precisamente a nivel de Defensa, se sigan cometiendo errores tan sumamente catastróficos.

Leía estos días por Twitter (he intentado buscar la fuente pero no la he encontrado, lo siento)  que hubiera bastado que Trump estuviera ese día por Hawaii con su preciado maletín de “botón gordo” (EN) para que lo que ha sido un error garrafal hubiera terminado en una nueva Guerra Mundial.

En 38 minutos hay tiempo más que de sobra para que la mente perturbada de este personaje hubiera lanzado los misiles al país norcoreano, sirviendo de excusa a la mente perturbada que dirige este otro para hacer lo propio.

Como dije ya hace tiempo, hay que acostumbrarse a mirar más allá del perímetro de ciberseguridad tradicional. Este suceso es un buen ejemplo de ello.