首页 >科技周边 >IT业界 >Therac-25:当不良软件杀死时

Therac-25:当不良软件杀死时

William Shakespeare
William Shakespeare原创
2025-02-20 10:09:09250浏览

Therac-25: When Bad Software Kills

Therac-25: When Bad Software Kills

图片来自维基百科用户 Ivrienen,图片名称:“Dahshur 的 Snefru 弯曲金字塔”。

这就是著名的“弯曲金字塔”——一座4600年前的工程失败的纪念碑。从底部看,它的侧面以惊人的54度倾角向上延伸,然后在大约中途突然变为较缓和的43度倾角。人们认为,在距此南方约60公里的迈杜姆金字塔(另一座陡峭的金字塔)灾难性坍塌后,该金字塔的设计在施工过程中进行了修改。当然,很难责怪古代的金字塔建造者。他们实际上是在发明工程学,而不是学习它。有一点从那时起就没有改变:当结构工程师犯错时,人们会受伤。我们无法确定,但似乎迈杜姆金字塔的坍塌不太可能没有造成人员伤亡。相比之下,“软件工程师”似乎是工程科学中一种比较轻松的职业。一个错误可能会阻止用户访问他们的帐户或输入信息,但这肯定不会危及生命?没有人会受伤,对吧?或者这就是我们认为的。事实是,每年我们的系统——从电力到交通,从农业到紧急服务——都越来越依赖我们所有人创建高质量的软件来支持它们。而当我们失败时——就像那些古埃及人一样——人们实际上会受伤。令人惊讶的是,正如Therac-25的悲剧案例向我们展示的那样,这甚至不是21世纪的问题。

软件可以杀人

到20世纪70年代末,加拿大原子能有限公司(AECL)在建造放射治疗机方面赢得了良好的声誉。这些机器使用定向电子束来攻击患者体内的肿瘤。毫无疑问,这些射线强度很高,并且具有潜在的致命性。AECL之前凭借其Therac-6和Therac-20型号取得了巨大的成功。这些装置需要由经过培训的操作员手动控制,并使用机械开关和硬接线电路来确保高水平的安全。Therac-25将是他们的“梦想机器”。

Therac-25: When Bad Software Kills

这款新型机器比其前身更小、更便宜,但效率更高,它结合了两种不同的射束技术——X射线和高能电子束。不同的射束允许操作员在不损伤附近健康组织的情况下,以不同的深度靶向肿瘤。Therac-25既雄心勃勃又复杂——并且这是第一次所有这些硬件都由软件层控制。不幸的是,尽管AECL的意图良好,但他们的软件设计却糟糕透顶,包含一系列可怕的设计缺陷。后来的调查仔细记录了这些缺陷,它们至今读起来仍然令人不寒而栗。在一个例子中,在一台机器的治疗过程中,机器不断自行关闭,每次都报告一个神秘的“H-tilt”和“no dose”错误消息。困惑的操作员尝试了六次才放弃治疗。直到后来才确定,机器每次实际上都输送了全剂量——这是灾难性的过量剂量。从1982年推出到1986年撤回,有六名患者因Therac-25治疗而最终遭受了致命伤害。当你考虑到这些可怜的人本来就已经生病了,这尤其令人震惊。如今,AECL不再是一家公司,而是我们所有人一个悲惨的教科书案例,说明设计不良且未经测试的软件如何影响人们的生活。直到今天,Therac-25悲剧仍然影响着我们对系统设计和安全测试的许多想法。

Therac-25: When Bad Software Kills

图片:kmf164

即使你是一名前端设计师,并且不认为自己是一个“严肃的工程师”,Therac-25 也有重要的教训。虽然一些缺陷是由编码不良的过程造成的,但至少同样多的损害是由文件不足、无用的反馈和难以理解的错误消息造成的。这些都是每个人——设计师、编码员、经理、用户体验人员和测试人员——都应该发挥影响力的领域。回顾那些古埃及人,很明显他们从早期的错误中吸取了教训,并继续建造了一些有史以来最令人叹为观止的建筑。软件工程仍然是一个相对年轻的领域——让我们希望我们已经建造了我们的弯曲金字塔。最初发表于SitePoint设计通讯1月29日刊。在此订阅。

关于Therac-25的常见问题

Therac-25事故的主要原因是什么?

Therac-25事故的主要原因是软件错误和安全机制不足的结合。软件的设计方式使得它可以覆盖硬件安全机制,导致输送致命的辐射剂量。缺乏独立的安全检查以及依赖软件进行安全功能是重要的促成因素。

有多少人受到Therac-25事故的影响?

六起已知的Therac-25事故导致患者接受了大量的辐射过量。这些事故导致了严重的伤害,至少三人死亡。然而,受影响的人数可能更高,因为一些案例可能没有被报告或识别。

Therac-25事故对Therac-25制造商有何影响?

制造商加拿大原子能有限公司(AECL)在事故发生后面临着巨大的反弹。他们因反应迟缓、缺乏透明度以及未能立即采取纠正措施而受到批评。这些事故导致公司失去信任,并造成重大的法律和经济影响。

Therac-25事故如何影响医疗和软件行业?

Therac-25事故对医疗和软件行业都产生了深远的影响。它们突出了严重依赖软件执行安全关键功能的潜在危险。因此,它们导致对医疗设备的审查和监管更加严格,并更加重视软件安全性和可靠性。

为防止将来发生类似事件采取了哪些措施?

针对Therac-25事故,采取了几项措施来提高医疗设备的安全性。这些措施包括更严格的法规、更严格的软件测试和验证以及独立安全系统的实施。这些事故还导致更加重视此类设备操作员的培训。

Therac-25的设计缺陷是什么?

Therac-25存在几个设计缺陷,包括依赖软件执行安全功能、缺乏独立的安全检查以及软件能够覆盖硬件安全机制。此外,用户界面没有提供清晰和及时的反馈,这本来可以提醒操作员注意问题。

Therac-25事故是如何曝光的?

在几名患者在治疗后报告辐射过量暴露症状后,Therac-25事故曝光了。对这些事件的调查表明,由于Therac-25机器的错误,患者接受了大量的辐射过量。

从Therac-25事故中吸取了哪些教训?

Therac-25事故突出了严格测试和验证软件的重要性,尤其是在安全关键系统中。它们还强调需要进行独立的安全检查以及来自用户界面的清晰、及时的反馈。此外,它们还证明了过度依赖软件执行安全功能的潜在危险。

医疗界对Therac-25事故的反应如何?

医疗界对Therac-25事故感到震惊和担忧。这些事件导致对医疗设备的审查更加严格,并更加重视安全。许多医院和诊所审查了他们的程序,并实施了额外的安全措施以防止类似事件发生。

Therac-25事故如何影响软件安全标准的制定?

Therac-25事故在塑造软件安全标准方面发挥了重要作用。它们突出了严格测试和验证软件的必要性,尤其是在安全关键系统中。因此,它们导致制定了更严格的软件安全法规和标准。

以上是Therac-25:当不良软件杀死时的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn