40年前的全球首个致命软件Bug 至少三人因100倍强辐射身亡

2025年09月22日 12:10 次阅读 稿源:快科技 条评论

软件Bug虽然会造成许多不便,但好在几乎不会致命,但在40年前的1985年,一款名为Therac-25的放射治疗机,就出现了通常被认为是世界上第一个致命的软件Bug。这款机器因软件中的一个Bug引发了致命的竞态条件,导致至少六人遭受了辐射剂量高达正常值100倍的照射,其中三人因此丧生。

Therac-25刚推出时,因其将两种治疗模式集于一身而备受医疗机构青睐,它既能用于电子束疗法治疗浅层组织问题,如皮肤癌;也能用高电流电子束进行兆伏X射线疗法,针对深层组织问题,然而这两种模式一旦混淆,后果不堪设想。

该机器的一个创新之处在于采用纯软件控制,而早期机器则有电磁机械硬件联锁装置来防止此类辐射事故,例如Therac-20虽与Therac-25有共同的Bug,但其硬件会在软件故障时阻止不安全操作。

据加州公立大学计算机科学硕士生安妮·玛丽·波雷洛发表的论文,这一致命漏洞在六起已知事故中均有体现。

通常情况下操作员误选了错误的模式后迅速试图纠正,经验丰富的操作员修改治疗参数速度过快,从而导致Bug的出现。

关键在于,Therac-25改变辐射束模式需要约8秒,而操作员在这一时间窗口内的快速输入会混淆软件。

首起事故发生在1985年6月,最后一起在1987年1月,制造商AECL最初拒绝承认系统存在过错,直到1986年春才开始彻底调查,此时美国FDA也已介入。

Therac-25的悲剧引发了对所有医疗软件进行形式验证、严格测试和改善文档的呼声,如今它已成为计算机科学领域常被提及的警示案例。

对文章打分

40年前的全球首个致命软件Bug 至少三人因100倍强辐射身亡

1 (50%)
已有 条意见

    最新资讯

    加载中...

    编辑精选

    加载中...

    热门评论

      招聘

      created by ceallan