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

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
定制电信软件的好处定制电信软件的好处May 11, 2025 am 08:28 AM

定制电信软件开发无疑是一项相当大的投资。然而,从长远来看,您可能会意识到,这样的项目可能更具成本效益,因为它可以像市场上任何现成的解决方案一样提高您的生产力。了解构建定制电信系统的最重要优势。 获取您所需的确切功能 您可以购买的现成电信软件有两个潜在问题。有些缺乏可能显着改善您工作效率的有用功能。有时您可以通过一些外部集成来增强它们,但这并不总是足以使它们变得出色。 其他软件功能过多,使用起来过于复杂。您可能不会使用其中的一些(永远不会!)。大量的功能通常还会增加价格。 基于您的需求

CNCF触发了ARM64和X86的平台平等突破CNCF触发了ARM64和X86的平台平等突破May 11, 2025 am 08:27 AM

Arm64 架构开源软件的 CI/CD 难题与解决方案 在 Arm64 架构上部署开源软件需要一个强大的 CI/CD 环境。然而,Arm64 和传统 x86 处理器架构的支持水平之间存在差异,Arm64 通常处于劣势。面向多种架构的基础设施组件开发人员对工作环境有一定的期望: 一致性:跨平台使用的工具和方法保持一致,避免因采用不太流行的平台而需要改变开发流程。 性能:平台和支持机制具有良好的性能,确保在支持多个平台时部署方案不会因速度不足而受影响。 测试覆盖率:对所有平台同时进行效率、合规性和

21个开发人员新闻通讯将在2025年订阅21个开发人员新闻通讯将在2025年订阅Apr 24, 2025 am 08:28 AM

与这些顶级开发人员新闻通讯有关最新技术趋势的了解! 这个精选的清单为每个人提供了一些东西,从AI爱好者到经验丰富的后端和前端开发人员。 选择您的收藏夹并节省时间搜索REL

使用AWS ECS和LAMBDA的无服务器图像处理管道使用AWS ECS和LAMBDA的无服务器图像处理管道Apr 18, 2025 am 08:28 AM

该教程通过使用AWS服务来指导您通过构建无服务器图像处理管道。 我们将创建一个部署在ECS Fargate群集上的next.js前端,与API网关,Lambda函数,S3桶和DynamoDB进行交互。 Th

CNCF ARM64飞行员:影响和见解CNCF ARM64飞行员:影响和见解Apr 15, 2025 am 08:27 AM

该试点程序是CNCF(云本机计算基础),安培计算,Equinix金属和驱动的合作,简化了CNCF GitHub项目的ARM64 CI/CD。 该计划解决了安全问题和绩效

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具