罕见木质外壳苹果1电脑,拍卖价远超预期
阅读全文

锤刻创思寰宇网
软件漏洞可能引发巨大的焦虑、带来诸多不便,并耗费宝贵时间,但值得庆幸的是,它们很少致命。然而,早在1985年,一款名为Therac-25的放射治疗机却开启了它的致命连环事故。其软件中存在一个漏洞,导致了一种致命的竞态条件,致使至少六名不幸的患者接受了超出正常强度100倍的辐射剂量。其中三人因此丧生。
Therac-25推出时,对医疗机构而言颇具吸引力,因为它在一台紧凑的设备中提供了革命性的双重治疗模式。它可用于电子束治疗,以处理浅表组织问题,如皮肤癌。其另一种操作模式是兆伏X射线治疗,利用高电流电子束靶向深部组织问题。你绝不会想混淆这两种模式……
Therac-25带来的一项创新是转向了纯软件控制。早期的机器配备有机电硬件互锁装置,旨在防止此类设备运行期间发生辐射事故。例如,据称Therac-20与Therac-25存在相同的软件漏洞,但其硬件会阻止任何不安全的操作条件,即使软件出现故障也是如此。
加州公立大学计算机科学硕士生安妮·玛丽·波雷洛(Anne Marie Porrello)发表的一篇论文详细阐述了在六个已知案例中该漏洞/事故的性质。通常,要让这个致命漏洞显现,Therac-25的操作员会错误地选择了错误的操作模式,并迅速尝试纠正错误。经验丰富的操作员可以非常快地编辑治疗参数,以至于由于输入处理程序和辐射束逻辑之间的“竞态条件”,软件跳过了安全检查。
关键在于,Therac-25改变辐射束模式大约需要8秒钟,而快速的操作员可能在此时间窗口内通过输入操作使软件产生混乱。有记录的首起此类事故发生在1985年6月,最后一起发生在1987年1月。Therac-25的制造商AECL在数月内一直拒绝承认其系统存在任何过错,直到1986年春季才升级为全面调查。彼时,美国食品药品监督管理局(FDA)也已介入调查这些事故。
在Therac-25的连环事故之后,业界呼吁对所有医疗软件进行形式化验证、严格测试并改进文档记录。Therac-25的问题已成为计算机科学研究中经常被引用的警示案例。