13 grandes fallos de software que redefinieron estándares de la industria
No importa cuántas pruebas meticulosas realicen los ingenieros o cuántas noches sin dormir pasen los desarrolladores programando hasta el amanecer, un solo bug puede causar un fallo completo del sistema. Desde fallos de software que cuestan miles de millones hasta bugs críticos que provocan accidentes fatales, las consecuencias de un desarrollo de software deficiente pueden ser catastróficas.
¿Sabías que la mala calidad de software cuesta a las empresas estadounidenses aproximadamente 2 billones de dólares anuales, siendo los fallos operativos de software el principal contribuyente a estas pérdidas?
Algunas de las razones más comunes detrás de los fallos de software incluyen:
- Definición arquitectónica inadecuada y diseño de bajo nivel deficiente.
- Calendarios o hitos poco realistas establecidos sin datos y análisis suficientes.
- Fallo al anticipar y acomodar requisitos en evolución.
- Sobrecarga de proyectos con personal excesivo en un intento de comprimir plazos.
- Negociaciones basadas en intuición o emociones de stakeholders.
- Mala comunicación, egos conflictivos y dinámicas de equipo negativas.
A continuación, los principales fallos de software que llevaron a vergüenza y pérdida financiera masiva. En casos extremos, los errores de software incluso han costado vidas, como los incidentes de sobredosis de radiación del Therac-25.
13. Brecha de datos MOVEit
En mayo 2023, ocurrió una sustancial brecha de datos involucrando a MOVEit, un software de transferencia de archivos gestionado desarrollado por Progress Software. Este fallo permitió acceso no autorizado a datos sensibles, llevando a una serie de ciberataques afectando a miles de empresas worldwide.
Razón del fallo: Vulnerabilidad de inyección SQL
La brecha se ejecutó principalmente a través de ataques de inyección SQL en servidores públicos, permitiendo a los atacantes exfiltrar datos sin detección. Más específicamente, el fallo permitió a los atacantes desplegar una web shell, denominada "LemurLoot", que facilitó acceso no autorizado y robo de datos sensibles almacenados en las bases de datos de MOVEit.
Coste total de la brecha: 15.800 millones $
La brecha afectó a más de 2.700 organizaciones worldwide y comprometió los datos personales de aproximadamente 95,8 millones de individuos. Según el análisis de coste de brecha de datos de IBM, el coste promedio por registro comprometido es 165$.
12. Sistema de pasaportes británico (1999)
En 1999, la Agencia de Pasaportes del Reino Unido introdujo un nuevo sistema de procesamiento computarizado para agilizar solicitudes de pasaporte. Desarrollado por Siemens, el sistema pretendía modernizar el proceso y mejorar la eficiencia. Sin embargo, debido a fallos de software y fallos del sistema, el despliegue causó retrasos masivos, dejando a miles de ciudadanos británicos sin poder obtener sus pasaportes a tiempo para viajar.
Razón detrás del fallo: Pruebas inadecuadas
El sistema no fue probado adecuadamente bajo condiciones reales, llevando a cuellos de botella cuando se desplegó. Además, el gobierno del Reino Unido introdujo nuevos requisitos de pasaporte para niños aproximadamente al mismo tiempo, aumentando sustancialmente el volumen de solicitudes — algo para lo que el sistema no estaba preparado.
Coste total del error: 20 millones $
El fallo forzó al gobierno del Reino Unido a contratar personal extra, trabajar horas extra y compensar a ciudadanos afectados, resultando en unas pérdidas financieras estimadas de 20 millones de dólares. Además, miles de personas perdieron sus vacaciones y viajes de negocios, aumentando la indignación pública.
11. Mariner 1
Atlas Agena con Mariner 1 | Crédito imagen: Wikimedia
Lanzada en julio 1962, Mariner 1 fue la primera misión interplanetaria de NASA, destinada a sobrevolar Venus y transmitir datos científicos a la Tierra. Desafortunadamente, la misión terminó prematuramente cuando la nave fue destruida 293 segundos después del despegue debido a un malfuncionamiento del sistema de guía.
Razón detrás del fallo: Una sobrebarra faltante
Poco después del despegue, el cohete comenzó a desviarse de su curso. Esta desviación fue causada por un fallo en el software de guía. Específicamente, una sobrebarra faltante (un símbolo que indica un valor promedio) en las ecuaciones de guía manuscritas llevó a comandos de guía incorrectos enviados al cohete. Consecuentemente, el cohete se desvió de su curso y el oficial de seguridad de rango ordenó su destrucción para prevenir peligros potenciales.
Coste total del error: 18,5 millones $
La pérdida de Mariner 1 resultó en un revés financiero estimado de 18,5 millones en 1962, equivalente a aproximadamente 194 millones hoy.
10. Mydoom
Detectado por primera vez el 26 de enero de 2004, Mydoom es uno de los gusanos informáticos más infames y dañinos jamás creados. Se propagó via adjuntos de email y redes peer-to-peer, infectando millones de computadoras worldwide. En su pico, Mydoom representaba casi el 8,3% de todos los emails enviados globalmente, convirtiéndose en el gusano de email de propagación más rápida en la historia.
Razón detrás del ataque: Desconocida
Mientras el origen exacto de Mydoom permanece desconocido, algunas teorías sugieren que fue creado por un grupo contratado para atacar a SCO Group, que estaba involucrado en disputas legales sobre software Linux en ese momento. A diferencia de muchos otros gusanos, Mydoom no parecía tener un motivo financiero.
Coste total: Entre 38.000 y 50.000 millones $
El brote resultó en miles de millones de dólares en daños, incluyendo costes de seguridad, productividad perdida y esfuerzos de mitigación. Estimaciones sugieren que el impacto financiero total fue entre 38.000 y 50.000 millones globalmente.
9. Colapso del Coliseum de Hartford
Fuente imagen: Wikispaces
El 18 de enero de 1978, el techo del Hartford Civic Center Coliseum en Hartford, Connecticut, colapsó debido a fallo estructural. El techo de 10.000 toneladas cayó sobre el área de asientos del arena, solo seis horas después de albergar un partido de baloncesto con más de 4.700 espectadores. Afortunadamente, nadie estaba dentro en ese momento.
Razón detrás del fallo: Cálculos CAD defectuosos y errores de diseño estructural
Investigaciones revelaron que el colapso fue una combinación de miscalculaciones de ingeniería y errores de software usados en el proceso de diseño estructural. Los ingenieros usaron software temprano para modelar distribución de estrés, pero el software falló al contabilizar ciertas condiciones de carga, llevando a niveles de estrés subestimados en juntas clave.
El sistema de cerchas tenía refuerzo diagonal inadecuado, causando estrés de flexión excesivo. El peso de nieve y hielo acumulado (de una tormenta invernal) empujó la estructura más allá de sus límites.
Coste total: 70 millones $
El colapso dañó la confianza pública en la ingeniería asistida por computadora y llevó a regulaciones de códigos de construcción más estrictas. Además, se presentaron demandas importantes contra la firma de diseño, aseguradoras y contratistas.
8. Mars Climate Orbiter
Mars Climate Orbiter fue una sonda espacial robótica lanzada por NASA en 1998 para estudiar la atmósfera marciana, clima y cambios de superficie. Tras 286 días de lanzamiento, la nave se quemó en la atmósfera de Marte en lugar de entrar en órbita como se planeó.
Razón detrás del fallo: Error de conversión de unidades
El fallo ocurrió debido a un error simple pero catastrófico de conversión de unidades entre dos equipos de NASA: Lockheed Martin (el contratista construyendo la nave), que usó unidades imperiales para cálculos de fuerza, y el Laboratorio de Propulsión a Chorro de NASA, que controlaba la misión, esperando unidades métricas.
Como estas unidades nunca se convirtieron correctamente, el sistema de navegación del Orbitador malcalculó su trayectoria, causándole entrar en la atmósfera de Marte a 35 millas en lugar de las 140 millas previstas. La baja altitud llevó a fuerzas aerodinámicas que destruyeron la sonda.
Coste total: 327 millones $
El coste total de la misión fue aproximadamente 327,6 millones, que incluía desarrollo de la nave, gastos de lanzamiento y operaciones de misión.
7. IRS: Falta de sistema de detección de fraude
En 1994, el Sistema Interno de Ingresos (IRS) introdujo el Sistema Electrónico de Detección de Fraude (EFDS) para detectar y prevenir declaraciones de impuestos fraudulentas. Con el tiempo, el EFDS quedó obsoleto y luchó por mantener el ritmo con tácticas de fraude en evolución. Reconociendo estos inconvenientes, el IRS comenzó a trabajar en el Programa de Revisión de Declaraciones (RRP) en 2009, apuntando a mejorar capacidades de detección de fraude y reemplazar el EFDS.
Razón detrás del fallo: Retrasos en la implementación
El RRP enfrentó retrasos y no estuvo completamente operativo como se pretendía. Como resultado, durante la temporada de declaraciones de 2006, el IRS operó sin un sistema integral de detección de fraude upfront, dejando el sistema fiscal vulnerable a explotación.
Coste total: 4.000 millones $+
En 2012, el fraude fiscal relacionado con robo de identidad resultó en aproximadamente 4.000 millones en reembolsos fraudulentos. Para 2013, el robo de identidad fiscal había impactado a 770.000 contribuyentes.
6. Naves espaciales Cluster
La Misión Cluster era un proyecto de la Agencia Espacial Europea que comprendía cuatro naves idénticas desarrolladas para estudiar la magnetosfera de la Tierra. Estos satélites estaban destinados a ser lanzados a bordo del primer vuelo del cohete Ariane 5 el 4 de junio de 1996. Sin embargo, solo 37 segundos después del despegue, el cohete explotó en el aire, destruyendo los cuatro satélites.
Razón detrás del fallo: Error de desbordamiento de entero
El cohete Ariane 5 usaba software originalmente diseñado para el Ariane 4, pero su aceleración más rápida no fue contabilizada en el código. Como resultado, el software intentó convertir un número de punto flotante de 64 bits en un entero de 16 bits. Debido a la mayor aceleración del Ariane 5, el valor excedió el límite de almacenamiento, causando un crash del sistema.
Coste total del error: 370 millones $
La destrucción de las naves Cluster resultó en una pérdida financiera superior a 370 millones. Esta cifra incluye el desarrollo y lanzamiento de las cuatro naves. Más allá del impacto monetario, el fallo retrasó investigación científica crítica en la magnetosfera de la Tierra.
5. División larga del Pentium
En 1994, se descubrió un fallo crítico en el microprocesador Pentium de Intel, causando errores en cálculos de división de punto flotante. El bug, conocido luego como bug FDIV de Pentium, resultó en resultados decimales incorrectos para ciertas operaciones de división. Esto llevó a preocupación generalizada entre investigadores y negocios que dependían de cálculos precisos.
Había alrededor de 5 millones de chips defectuosos en circulación e Intel eventualmente decidió reemplazar todos los chips para cualquiera que se quejara. Luego, Intel convirtió algunos de sus procesadores defectuosos en llaveros.
Razón detrás del fallo: Algoritmo de división defectuoso en la Unidad de Punto Flotante
El bug fue causado por una entrada faltante en la tabla de lookup del algoritmo de división basado en hardware del chip. Ciertas divisiones de punto flotante retornaban resultados incorrectos más allá del 8vo decimal.
Sin embargo, el error era raro, ocurriendo solo una vez en aproximadamente nueve mil millones de divisiones aleatorias de punto flotante. Por ejemplo, dividir 4.195.835,0 entre 3.145.727,0 resultaba en 1,333739068902037589 en lugar del correcto 1,333820449136241002 — un error del 0,006%.
Pérdida estimada: 475 millones $
Intel incurrió en pérdidas de 475 millones debido al recall y reemplazo de chips defectuosos. Además, el incidente dañó severamente la reputación de la empresa, llevando a Intel a adoptar mayor transparencia en futuros diseños de procesadores.
4. Crash de Wall Street 1987
El 19 de octubre de 1987 (también conocido como Lunes Negro), el Dow Jones Industrial Average (DJIA) cayó 508 puntos, perdiendo el 22,61% de su valor total, y el S&P 500 cayó 20,4%. Fue la mayor pérdida que Wall Street jamás vio en un solo día.
Razón detrás del crash: Algoritmos de trading automatizados
Grandes inversores institucionales usaban sistemas de program trading para vender acciones cuando los mercados caían, acelerando el crash. Estos sistemas no contabilizaban condiciones de mercado impulsadas por pánico, causando un bucle de retroalimentación auto-reforzante de ventas.
Varias firmas usaban seguros de cartera, una estrategia algorítmica que vendía contratos de futuros para cubrirse contra pérdidas. A medida que el mercado caía, estos algoritmos disparaban aún más ventas, empeorando la espiral descendente.
Pérdidas mundiales estimadas en 1,71 billones $
Mientras el impacto económico inmediato fue menos severo de lo temido inicialmente, el crash llevó a mayor volatilidad de mercado y provocó cambios regulatorios para prevenir futuras ocurrencias.
3. Y2K
El bug Y2K, también conocido como el Bug del Milenio, surgió debido a cómo se almacenaban las fechas en sistemas antiguos. Muchos programas de computadora legacy representaban años usando dos dígitos (por ejemplo, "99" para 1999) en lugar de cuatro dígitos ("1999").
Al acercarse el año 2000, crecieron las preocupaciones de que las computadoras interpretarían "00" como 1900 en lugar de 2000, causando cálculos incorrectos y potenciales disrupciones económicas across industrias como banca, salud y aviación.
Razón detrás del fallo: Memoria limitada en computación temprana
Las computadoras antiguas fueron diseñadas con memoria y almacenamiento mínimos, así que los programadores usaron años de dos dígitos para ahorrar espacio. Esta elección de diseño corta de vista se convirtió en un problema masivo décadas después.
Coste total de la solución: 300.000 millones $
Estimaciones sugieren que los esfuerzos para arreglar el problema costaron más de 300.000 millones globalmente. Solo Estados Unidos gastó aproximadamente 100.000 millones en preparación para Y2K. Estas inversiones cubrieron actualizaciones de software, reemplazos de sistemas, pruebas y planificación de contingencia.
2. Tratamiento de cáncer y radioterapia mortal
Therac-25 era una máquina de radioterapia controlada por computadora desarrollada por Atomic Energy of Canada Limited (AECL) para tratar cáncer. Entre 1985 y 1987, el dispositivo entregó sobredosis masivas de radiación a al menos seis pacientes. Estos pacientes recibieron dosis de radiación 100 veces el nivel previsto, exponiéndoles a quemaduras mortales de radiación y daño severo de tejidos.
La causa: Condición de carrera en el software
El Therac-25 dependía enteramente de software para seguridad, pero un bug en el código permitió que ocurrieran condiciones peligrosas. El dispositivo tenía dos modos: modo de rayos X de baja potencia y modo de haz de electrones de alta potencia. Si un técnico cambiaba rápidamente de modo antes de que el dispositivo iniciara el tratamiento, una condición de carrera en el software podía dejar el atenuador fuera de lugar, permitiendo un haz de electrones mortal golpear a los pacientes directamente.
Coste total: 3 vidas
Al menos tres pacientes murieron por sobredosis de radiación, mientras que otros sufrieron lesiones de por vida, incluyendo quemaduras severas, amputaciones y daño orgánico. Múltiples demandas se presentaron contra AECL, resultando en acuerdos financieros.
1. Fallo del misil Patriot
En febrero 1991 (durante la primera Guerra del Golfo), un sistema de misiles Patriot americano en Dharan, Arabia Saudita, falló al interceptar y rastrear un misil Scud iraquí entrante. El Scud se estrelló en barracones del Ejército Americano.
Razón del fallo: Error de temporización acumulado por precisión de punto flotante
El sistema de misiles Patriot dependía de un registro de punto flotante de 24 bits para rastrear el tiempo. Sin embargo, un error de redondeo acumulado causó que su reloj interno derivara 0,34 segundos tras funcionar continuamente por más de 100 horas. Dado que un misil Scud viaja a unos 1.676 metros por segundo, este pequeño error de temporización causó que el radar malcalculase la posición del misil en unos 600 metros, llevando a la interceptación fallida.
Impacto: 28 soldados muertos y 100 heridos
El impacto mató a 28 soldados americanos e hirió a unos 100 más, convirtiéndose en uno de los ataques más mortales contra fuerzas de EE. UU. durante la guerra.
Otros fallos de software notables
Clientes de Microsoft acusados de piratería: Alguien del equipo de Windows instaló accidentalmente software pre-producción lleno de bugs en todos los servidores Windows. Durante las siguientes 19 horas, todos los usuarios genuinos de XP fueron informados de que ejecutaban software pirata.
Criminales en libertad condicional: En 2011, alrededor de 450 criminales violentos fueron liberados de cárceles del condado de California debido a un pequeño error en código de programa computarizado.
Tercera Guerra Mundial (casi ocurrió): El sistema de alerta temprana nuclear de la Unión Soviética reportó el lanzamiento de misiles americanos el 26 de septiembre de 1983. Los sistemas soviéticos erróneamente captaron reflejos de luz solar en cimas de nubes e interpretaron que eran lanzamientos de misiles. Más tarde, las alertas de ataque de misiles fueron identificadas como falsa alarma por un oficial de las Fuerzas de Defensa Aérea Soviéticas. Esta decisión previno una guerra nuclear y las potenciales muertes de millones de personas.
El apagón: La oscuridad se extendió throughout 8 estados de EE. UU., afectando a 50 millones de personas en 2003. El problema fue una condición de carrera causada por dos hilos separados de una sola operación usando el mismo elemento del código.
Fallos de Apple Maps: Con el lanzamiento de iOS 6, Apple decidió abandonar la superior plataforma Google Maps. Desafortunadamente, esto resultó ser uno de los fallos más épicos de la industria de computación móvil. En septiembre 2012, TPMIdeaLab descubrió que el software faltaban entradas para pueblos enteros, ubicaciones mal colocadas, imágenes satelitales oscurecidas por nubes, y más.
Vuelos de LAX en tierra: En 2007, toneladas de datos incorrectos se enviaron en la red de Control de Fronteras y Aduanas de EE. UU. Esto llevó al aeropuerto LAX a cerrar todo el lugar por 8 horas — más de 17.000 aviones quedaron en tierra hasta que resolvieron el problema. El culpable fue una sola pieza de software embebido defectuoso.
Leer más:
- 14 tipos diferentes de virus informáticos
- 13 tipos diferentes de malware [con ejemplos]
Tecnología Industrial
- Diseño de Antena Yagi: Domina la Fórmula y Elementos Parásitos para Rendimiento Preciso
- Maximice el éxito en mecanizado de alto rendimiento: Por qué importan los portaherramientas
- 4 ventajas clave de elegir un servicio de ensamblaje PCB llave en mano (single-stop)
- Fresado Convencional de Precisión: Estrategias Avanzadas para Componentes de Alta Tolerancia
- Software Industria 4.0: Potenciando a especialistas de servicio para aumentar la disponibilidad de máquinas
- Prevención de Deformación (Warpage) en PCB: Causas, Síntomas y Mejores Prácticas
- Domine Fusion 360: Aproveche el modelado de superficies para mecanizar geometrías complejas
- ¿Cuántos satélites se necesitan para lanzar una internet cuántica global?
- Dominando la calibración del analizador para mediciones de proceso confiables
- Experto de Camcode aporta insights sobre trazabilidad de tuberías en taller AGA, 13 oct 2016
- Socio líder en fabricación de metal de alta tecnología para innovación en energía verde