19 noviembre 2009

Los peores "'bugs" (errores informáticos) de la Historia


Para la comunidad tecnológica, un "bug" (bicho) es algo más dañino que un animal pequeño. Los bichos, 'bugs' en inglés, son los fallos de programación, esos que enloquecen a los informáticos y cuyas secuelas afectan a la Humanidad. Porque algunos han causado desastres tan espectaculares como la desintegración del cohete Ariane 5 o la mayor explosión no nuclear registrada en la Tierra.

[Bug] (El Mundo, Wired) - El primer "bug" del que se tiene conocimiento ocurrió en 1945. La científica Grace Murray Hopper trabajaba como programadora en el laboratorio de cálculo de la Universidad de Harvard y cuando trataba de averiguar la causa de un fallo de un ordenador, descubrió que era debido a una polilla que se había introducido entre los contactos de unos de los relés del computador, por lo que anotó en el cuaderno de incidencias "First actual case of bug being found" ( en español: "Primer caso real de bicho que se ha hallado". De ahí el nombre de "bug".

Actualmente esa polilla, junto con la hoja de anotaciones, está expuesta en el museo Naval Surface Warfare Center Computer de Dahlgren, en Virginia, EEUU. Desde ese día se han sucedido bastantes incidentes relacionados con fallos de programación, tantos que la revista Wired ha hecho una recopilación de los peores desastres ocasionados por estos "bichitos".

Estos son, hasta ahora, los ganadores:

Julio 28, 1962: Fallo en la sonda Mariner 1

Un "bug" en el software de vuelo de la sonda Mariner I provocó que, segundos después del lanzamiento de la nave, en julio de 1972, ésta se desviara de su curso preestablecido. Los responsables de la misión se vieron obligados a destruir el cohete cuando se encontraba sobrevolando el Atlántico. La investigación del accidente determinó que el problema estaba en una fórmula escrita a lápiz que luego fue "inadecuadamente" trasladada al lenguaje informático, lo que hizo que el cohete calculara mal la trayectoria que debía seguir.

1982: Explosión en un gasoducto soviético

La mayor explosión registrada en la Tierra por causas no nucleares tuvo su origen en un fallo de programación. Supuestamente, agentes de la CIA colocaron un "bug" en un sistema informático canadiense adquirido por los soviéticos para controlar el gaseoducto Transiberiano. Seguían órdenes de Reagan, que había mandado a sus agentes a sabotear toda la tecnología rusa, colocando "cosas" que permitían manipular a distancia todo tipo de maquinaria y tecnología. Así, en 1982 la CIA decidió sabotear este gaseoducto, pero al activar el "bug" las cosas salieron mucho peor de lo esperado y provocaron la gigantesca explosión.

1985-1987: Acelerador médico Therac-25

El Therac-25 era un acelerador lineal empleado en los hospitales en la década de los 80 para tratar tumores. La máquina emitía radiación de alta energía sobre células cancerosas sin dañar el tejido circundante. Los operarios, con el tiempo y la práctica, conseguían gran velocidad tecleando la secuencia de comandos para iniciar un tratamiento. Pero debido a un fallo de programación, si durante este proceso efectuaban una corrección en menos de ocho segundos, la máquina podía emitir 100 veces más energía de la requerida. A consecuencia de este "bug" murieron al menos cinco pacientes y varias decenas sufrieron los efectos de verse expuestos a una elevada radiación.

1988: El 'Gusano de Morris'

El primer 'gusano' de Internet nació la tarde del 2 de noviembre de 1988, cuando un estudiante estadounidense, Tappan Morris, liberó un programa creado por él mismo que infectó entre 2.000 y 6.000 ordenadores sólo el primer día, antes se ser rastreado y eliminado. Para que su 'gusano' tuviera efecto, Morris descubrió dos errores en el sistema operativo UNIX, que le permitieron tener acceso no autorizado a miles de ordenadores.

1988-1996: Generador de números aleatorios de Kerberos

Los autores del sistema de generación de números aleatorios Kerberos —que se utiliza para hacer comunicaciones seguras a través de la Red— fallaron a la hora de conseguir que su programa realmente eligiera los números aleatoriamente. Debido a ese fallo, durante ocho años fue posible entrar en cualquier ordenador que utilizara el sistema Kerberos para autentificar el usuario, aunque realmente se desconoce si el "bug" llegó a ser aprovechado por alguien.

Enero 15, 1990: Caída de la red de AT&T

Un "bug" en el software que controlaba los conmutadores de las llamadas de larga distancia del gigante telefónico AT&T hacía que se colapsaran cuando recibían un determinado mensaje de su conmutador vecino. Un mensaje que el vecino enviaba justo cuando acababa de recuperarse de un colapso. Por ese fallo, cuando uno de los conmutadores de la ciudad de Nueva York falló en 1990, al recuperarse y enviar el mensaje a sus vecinos, colapsó a los 114 conmutadores más cercanos, que se 'caían' y 'levantaban' cada seis segundos, dejando a 60.000 personas sin servicio durante nueve horas.

1993: División en coma flotante del Intel Pentium

Un problema con los microprocesadores provocó que éstos fallaran cuando tenían que dividir números con coma flotante. Por ejemplo, al dividir 4195835.0 entre 3145727.0 el resultado que mostraba el microprocesador era 1.33374 en lugar de 1.33382, un error del 0.006%. Aunque el fallo afectaba a pocos usuarios, resultó todo un problema para Intel, que terminó por cambiar entre tres y cinco millones de chips, en una operación que le costó más de 475 millones de dólares.

1995/1996: El Ping de la Muerte

Debido a un problema que afectaba al codigo que maneja el protocolo IP, era posible "colgar" un ordenador con Windows enviándole un ping corrupto. El problema afectaba a varios sistemas operativos pero el peor parado era Windows, que se bloqueaba mostrando la famosa "pantalla azul de la muerte" al recibir esos paquetes.

Junio 4, 1996: Desintegración del Ariane 5

Los científicos que desarrollaron el cohete Ariane 5 vuelo 501 reutilizaron parte del código de su predecesor, el Ariane 4, pero los motores del cohete más nuevo incorporaron también, sin que nadie se diera cuenta, un "bug" en una rutina aritmética en la computadora de vuelo. Los cientificos copiaron el codigo del Ariane 4 y se olvidaron de que la altura del Ariane 5 era mayor. Esto provocó, el 4 de junio de 1996, que la computadora fallara segundos después del despegue del cohete; 0,5 segundos más tarde falló el ordenador principal de la misión. El Ariane 5 se desintegró 40 segundos después del lanzamiento.

Noviembre 2000: Sobredosis radiológica en el Instituto Nacional del Cáncer de la Ciudad de Panamá

En una serie de accidentes y fallos en cadena, los ingenieros de la empresa Multidata Systems International calcularon erróneamente la dosis de radiación que un paciente podría recibir durante la terapia de radiología. El fallo estaba en el software de control de la máquina de rayos, que provocó que al menos ocho pacientes murieran por las altas dosis recibidas y otros 20 recibieran sobredosis que podrían causar graves daños a su salud.

En el listado no hay "bugs" tan conocidos como el del "efecto 2000", o el error que acabó con la Mars Climate estrellada contra el suelo de Marte, debido a un error en la conversión al Sistema Internacional de unidades —para pasar de millas a kilómetros— de los datos que se habían suministrado a su computadora.

2 comentarios:

  1. como siempre, el fallo humano nos delata XD ya ni introducir datos que se nos da bien por lo que se ve jajaja

    al final vamos a acabar como los de LOST, teniendo que introducir un código cada X tiempo para que no salgamos volando por una explosión XD

    Anónina

    ResponderEliminar
  2. Magnífico ping de la muerte que hacía ZAAAAAAAAAAAAS xD.

    ResponderEliminar