Muchos de nosotros seguro que recordamos la Primera Guerra del Golfo y el ataque de Estados Unidos a Irak a comienzos de 1991. Se ha dicho incontables veces aquello de era la guerra en directo, retransmitida por televisión. Como siempre en la guerra, la tecnología del momento fue importante. Pero hubo un fallo de software en los misiles Patriot estadounidenses. Como vamos a ver, reiniciar un ordenador habría salvado vidas en la Guerra del Golfo. Cuando digo reiniciar un ordenador, entiendan que se trata de reiniciar un sistema informático, pero quizás así todos nos entendamos mejor.
Se hicieron populares entonces en los informativos los misiles Patriot, como en otros momentos han sido famosas otras cosas técnicas como la prima de riesgo o lo que es un coronavirus. Estos misiles tierra-aire, fabricados por la empresa estadounidense Raytheon, se usan para interceptar misiles balísticos. Es decir, simplificando el asunto, el sistema Patriot permite detectar cuándo un misil enemigo se acerca y dispara un proyectil contra ese misil enemigo, interceptándolo en el aire y por lo tanto anulando el ataque.
Estados Unidos hizo un uso masivo de este sistema de defensa en la Guerra del Golfo. Eran la protección de la base estadounidense de Dharan, en Arabia Saudí. Los iraquíes atacaron esta base usando misiles Scud, el 25 de febrero de 1991. El sistema Patriot debería haber interceptado los proyectiles enemigos, pero falló y los Scud alcanzaron la base. El resultado fue la muerte de 28 soldados, además de unos 100 heridos.
El fallo en el software en los misiles Patriot estadounidenses era conocido y reiniciar un ordenador habría salvado vidas en la Guerra del Golfo
En este caso, la tan manida excusa de fallo informático, podría casi ser usada sin problema, pero no fue del todo un fallo informático. Ya saben que últimamente el chivo expiatorio favorito en muchas cuestiones es el fallo informático. Y eso casi siempre es sólo una excusa para ocultar la dejadez de un humano o la falta de procesos sólidos. Por cierto, por si no lo he comentado alguna vez, yo soy ingeniero informático y también he cometido en ocasiones errores que podríamos decir que han sido fallos informáticos.
Volviendo a Arabia Saudí en 1991, la investigación del error de interceptación en el ataque a Dharan determinó que un error de software había sido causado el problema . El sistema Patriot predecía el movimiento del Scud en base a su velocidad y al tiempo desde de la última información del radar sobre su posición. El radar calculaba ese tiempo con el reloj interno del sistema y lo expresaba en décimas de segundo. Luego se pasaba a segundos y se usaban 24 bits para almacenar ese valor. Había un pequeñísimo error debido a la exactitud que se perdía al usar tan sólo esos 24 bits. Sería algo así como tener que redondear la parte decimal de un número a una determinada longitud en lugar de tenerla completa.
Esta pérdida de exactitud parecía mínima. De hecho, lo habría sido para la mayoría de casos, pero no para calcular la trayectoria de un misil Scud. El error se iba acumulando a medida que el sistema estaba en funcionamiento. Y aquel día en Dharan el sistema llevaba unas 100 horas de funcionamiento interrumpido. El error en el tiempo había alcanzado los 0,34 segundos, es decir, algo así como un tercio de segundo.
Todo se debía un pequeñísimo error de redondeo en el tiempo del sistema, pero como las velocidades son muy elevadas el error en el resultado es significativo
Cada 100 horas se acumulaba un error de un tercio de segundo. No parece mucho, pero dado que un Scud vuela a unos 1.676 metros por segundo, el error en el cálculo del tiempo se traducía en unos 570 metros de desviación al estimar la posición del misil. Por lo tanto, el misil no estaba donde se le esperaba y el sistema asumió que lo había perdido o que era una falsa alarma. En consecuencia no se dispararon los Patriot y el Scud no fue interceptado siguió avanzando hasta alcanzar la base estadounidense.
Y aquí vuelvo a lo que les contaba antes de que el fallo informático suele ser la excusa para un fallo humano o para la falta de procedimientos adecuados. Los israelíes ya habían detectado este problema en los Patriot y habían advertido de ello al ejército estadounidense unas semanas antes. La solución táctica y sencilla era reiniciar el sistema informático cada poco tiempo ya que, como hemos dicho, el error en el cálculo era acumulativo y crecía con las horas de funcionamiento. Pero no se había establecido con exactitud en los procedimientos cada cuánto había que reiniciar.
Esta solución manual era tan sólo temporal porque el fabricante ya había solucionado el problema de software, pero sólo se había implantado en parte en los sistemas Patriot que operaban en Arabia Saudí. Desde aquel primer bug informático de la historia, que era realmente un insecto vivo, cuántas situaciones de este tipo se han vivido.