Biotecnología 4 de noviembre de 2026 4 MIN DE LECTURA

Therac-25: cuando el software era la única red de seguridad

Seis sobredosis de radiación entre 1985 y 1987 en una máquina cuya seguridad dependía del software. Lo que halló la investigación de Leveson y Turner.

LA RESPUESTA CORTA

Entre junio de 1985 y enero de 1987, seis accidentes conocidos expusieron a pacientes a sobredosis masivas de radiación del Therac-25. Los modelos anteriores tenían enclavamientos de seguridad por hardware; este dependía del software, que ocultaba fallos como una condición de carrera en la introducción de datos. La máquina fue retirada en 1987 para introducir cambios de diseño.

En esta página

Una máquina que había perdido su red de seguridad

El Therac-25 era un acelerador lineal médico fabricado por Atomic Energy of Canada Limited (AECL). Podía tratar tumores con un haz de electrones o, convirtiendo ese haz, con rayos X. Sus predecesores, el Therac-6 y el Therac-20, usaban el ordenador solo por comodidad: las máquinas subyacentes conservaban los enclavamientos de seguridad por hardware que era estándar en la industria. En el Therac-25 el ordenador tomó el control, y buena parte de la seguridad recaía en el software.

La investigación de Leveson y Turner, publicada en IEEE Computer en 1993, contabiliza once Therac-25 instalados: cinco en EE. UU. y seis en Canadá. Entre junio de 1985 y enero de 1987 hubo seis accidentes conocidos con sobredosis masivas, que los autores describen como la peor serie de accidentes de radiación en los 35 años de historia de los aceleradores médicos. La máquina fue retirada en 1987 para introducir cambios de diseño extensos, incluidas salvaguardas de hardware contra errores de software.

Un análisis de seguridad que dejó fuera el software

AECL hizo un análisis de seguridad en marzo de 1983, en forma de árbol de fallos. Según el artículo, al parecer excluyó el software. Entre sus supuestos figuraba que los errores de programación se habían reducido con pruebas exhaustivas y que el software no se degrada por desgaste. El artículo añade que el Therac-20 tenía problemas de software similares que pasaron desapercibidos, porque sus enclavamientos de hardware evitaban que hicieran daño a nadie.

Seis accidentes

  • Marietta, Georgia, junio de 1985. Un paciente sufrió una sobreexposición grave. El artículo dice que los hechos son imprecisos porque el accidente nunca se investigó a fondo. El físico estimó después una o dos dosis en el rango de 15 000 a 20 000 rad; un tratamiento típico ronda los 200 rad.
  • Hamilton, Ontario, julio de 1985. Un técnico de AECL estimó después que el paciente recibió entre 13 000 y 17 000 rad. La máquina se había apagado repetidamente con un error de inclinación, y AECL sospechó de un microinterruptor defectuoso. El paciente murió de cáncer en noviembre de 1985.
  • Yakima, Washington, diciembre de 1985. Un paciente desarrolló una reacción cutánea en forma de rayas tras un tratamiento. La causa figuró como desconocida, y el personal solo sospechó del Therac-25 en febrero de 1987, después del posterior accidente en Yakima.
  • Tyler, Texas, 21 de marzo de 1986. La operadora vio «Malfunction 54», un mensaje críptico sin explicación en el manual, y una pantalla que indicaba una subdosis. Los operadores estaban acostumbrados a pausas frecuentes e inofensivas, así que ella pulsó la tecla para continuar. El paciente murió cinco meses después por complicaciones de la sobredosis.
  • Tyler, Texas, 11 de abril de 1986. Un segundo paciente murió el 1 de mayo de 1986, tres semanas después del accidente.
  • Yakima, Washington, 17 de enero de 1987. Los investigadores atribuyeron este caso a un contador de un byte que volvía a cero en cada 256.ª pasada, por lo que se omitía una comprobación de posición. El artículo recoge la especulación de que Hamilton tuvo la misma causa, algo que no pudo confirmarse. El paciente murió en abril por complicaciones de la sobredosis, pero ya tenía un cáncer terminal, y sus familiares presentaron una demanda; el caso se resolvió fuera de los tribunales.

El fallo de Tyler

El físico de Tyler, Fritz Hager, reprodujo el fallo. Configurar los imanes de flexión de la máquina lleva unos ocho segundos. Un operador que escribía una prescripción, movía luego el cursor hacia arriba para corregir el modo o la energía y volvía a la línea de comandos en esos ocho segundos, cambiaba lo que mostraba la pantalla, pero no la configuración que tenía el hardware. El software nunca detectó la edición. El fallo estaba en cómo dos tareas compartían estado, la de introducción de datos y la de configuración, que el artículo trata como una condición de carrera.

Qué cambió

La Administración de Alimentos y Medicamentos de Estados Unidos (FDA) declaró defectuoso el Therac-25 y ordenó a AECL notificar a los compradores y presentar un plan de acción correctiva. El plan final tenía más de 20 cambios en el hardware y en el software. Incluía enclavamientos de hardware independientes y la sustitución de los mensajes crípticos por mensajes con sentido.

Por qué importa

El software tenía fallos, como ocurre con cualquier software. La lección duradera es que se permitió que esos fallos fueran la última línea de defensa.

Nuestra opinión: no dejes que una sola capa sea todo el argumento de seguridad. Cuando un fallo puede hacer daño a alguien, mantén una comprobación independiente que no comparta el código, los supuestos ni las personas que están detrás de lo que comprueba.

¿Estás de acuerdo?

Llévalo a Chevlume: escribe tu punto de vista, añade tus fuentes y deja que otros respondan. La alfa cerrada es solo con invitación.

Debatir esto en Chevlume

Sigue leyendo

Fuentes

  1. An Investigation of the Therac-25 Accidents (Leveson and Turner, IEEE Computer, July 1993; MIT 6.033 copy) · IEEE Computer / MIT 6.033 · Consultado el
  2. An Investigation of the Therac-25 Accidents (PDF reprint, UC Berkeley CS 61A) · IEEE Computer / UC Berkeley · Consultado el
Comenta en X