摘要
- 1991 年 2 月 25 日,达兰的一处爱国者导弹连未能跟踪并拦截一枚来袭的伊拉克飞毛腿导弹。美国总审计局(GAO)得出结论,武器控制计算机中的软件问题导致了不准确的跟踪计算,且该问题随着连续运行时间而恶化。飞毛腿导弹击中了一座陆军兵营,GAO 报告称 28 名美国人丧生。
- 技术机制是有限精度的时间转换。系统以十分之一秒为单位计时,并将不断增大的整数时钟值转换为距离门计算所用。其 24 位寄存器限制了转换精度。达兰导弹连连续运行超过 100 小时后,累积时间误差约为 0.3433 秒,预测距离门偏移约 687 米。
- 该误差已在机构层面变得可见。2 月 11 日收到的以色列数据显示,运行 8 小时后距离门显著偏移。2 月 16 日发布了一个补偿性软件修改,2 月 21 日的消息警告用户,极长的运行时间可能导致距离门偏移。然而,警告未定义“极长”的具体含义,官员们假设导弹连不会持续运行足够长的时间以致失效,而修改后的软件于 2 月 26 日才到达达兰——袭击发生一天后。
- 因此,问责范围超越算术本身。它涉及对数值表示、耐力假设、异常分析、运行限制、警告内容、重启权限、软件分发、部队配置以及纠正措施在需要之前送达导弹连的证明的控制。一个小小的计算错误之所以变得灾难性,是因为技术和运行控制系统未能在部署条件下对其进行约束。
达兰将运行时间转变为安全关键状态
软件运行时间常被视为可靠性的证据。一个连续可用数天的系统可能看起来比刚重启的系统更值得信赖。达兰的爱国者故障揭示了相反的可能性:经过时间本身可能成为不断增长的危险。如果内部计算随着时钟值增大而失去精度,持续运行并非中性。即使没有组件明显崩溃,操作员也未看到警报,它也会改变系统状态。
GAO 1992 年 2 月的报告确立了核心事件。1991 年 2 月 25 日,在沙特阿拉伯达兰运行的一套爱国者导弹防御系统未能跟踪并拦截一枚来袭的飞毛腿导弹。导弹击中了一座美国陆军兵营。GAO 报告称 28 名美国人丧生。其审查旨在确定是否涉及软件问题、问题是什么以及已采取哪些纠正措施。
报告的答案直截了当。武器控制计算机中的软件问题导致跟踪计算不准确,且系统运行时间越长,问题越严重。事发时,导弹连已连续运行超过 100 小时。累积的不准确性导致系统在错误的位置寻找来袭目标。
这一描述之所以重要,是因为它区分了该案例与完全断电、显示冻结或常规崩溃。爱国者导弹连仍然是一个运行中的系统。危险的退化存在于用于决定雷达处理下一步应在哪里寻找的计算内部。因此,一个系统在行政意义上可以是可操作的——通电、有人值班且可用——同时在特定安全功能上变得操作上不合适。
问责问题不仅仅是计算机为什么不完美地表示一个分数。二进制机器通常近似无法在固定位数内精确表示的量。更难的问题是,为什么在实弹防御任务中允许近似累积超出安全界限,以及为什么控制软件、操作和现场支持的组织未能将已知的界限转化为对部署部队的保护。
官方记录所确立的内容
GAO 报告应作为达兰软件问题的主要权威依据。它并非由传闻拼凑而成的回顾性课堂轶事。GAO 采访了负责爱国者软件维护的官员,审查了陆军分析,检查了架构和汇编语言材料,分析了与不准确性相关的机器指令,核查了纠正计算,并参与了爱国者软件测试设施的模拟。报告称官员们普遍同意所陈述的事实。
但这并不意味着报告解决了关于海湾战争期间爱国者性能的所有争议。该系统更广泛的拦截记录成为了政治、技术和证据争议的主题。关于其他交战是否摧毁了来袭弹头的说法涉及不同的证据、定义和因果关系问题。这些辩论不应被引入达兰软件案例,仿佛它们可以互换。
对于这一事件,GAO 描述了一个更狭窄且有充分依据的链条。武器控制计算机使用来自雷达的目标信息。一个距离门算法计算了系统接下来应搜索疑似飞毛腿导弹的区域。该计算区域之外的数据被过滤掉,而区域内的信息则支持跟踪、瞄准和拦截。预测依赖于目标速度和上次雷达探测的时间。
系统时钟以十分之一秒为单位作为整数计时。跟踪计算需要将时间和速度表示为实数。由于计算机的寄存器为 24 位长,转换时间值会导致精度损失。这种影响随运行时间和目标速度而增大。延长运行时间会使计算出的距离门偏离目标的实际位置。
GAO 随后将计算与现场结果联系起来。阿尔法导弹连已连续运行超过 100 小时。距离门偏移如此之大,以至于导弹连未能跟踪来袭的飞毛腿导弹,因此也未进行拦截。这是软件故障的官方因果边界。分析可以从中汲取治理教训,但不应捏造额外的战场指令、个人动机或无记录的决策。
每次计算数值误差小,但背景下则很大
该算术问题常被简化为“舍入误差”。这个说法方向正确,但机构层面不完整。它暗示一种无害的十进制偏差或程序员的孤立错误。实际风险来自于表示、累积、目标和持续使用的相互作用。
系统以十分之一秒为单位计时。十分之一在二进制中没有有限的精确表示,就像三分之一在十进制中没有有限的精确表示一样。计算机必须存储一个近似值。爱国者计算机的架构限制了跟踪计算中使用的转换精度。每次转换都接近预期值,但并不完全相同。
经过时间由一个整数表示,该整数随系统运行时间增加而增大。当这个更大的时钟计数值使用有限精度近似进行转换时,计算时间与实际时间之间的绝对差也随之增加。软件并不需要在某个时刻变得不那么谨慎。相同的表示方法产生了更大的操作误差,因为它被应用于一个更大的经过时间值。
GAO 的附录量化了这一进程。一小时后,计算时间约短 0.0034 秒,对应约 7 米的距离门偏移。八小时后,报告列出时间不准确性约为 0.0275 秒,偏移约 55 米。20 小时后,不准确性约为 0.0687 秒,偏移约 137 米。100 小时时,计算时间约短 0.3433 秒,偏移约 687 米。
这些数字显示了为什么“只是零点几秒”是错误的风险框架。零点几秒必须根据目标速度和消耗时间值的逻辑来评估。GAO 描述在此作战背景下飞毛腿导弹的速度约为 5 马赫。快速移动的目标在短时间内会覆盖相当远的距离。距离门的作用是限制雷达处理下一步寻找的位置。一旦预测误差将该门偏移足够远,真正的目标可能落在被视为相关的区域之外。
结果不仅仅是一个不太精确的估计。它改变了系统所能识别的目标。该计算帮助确定一个物体是否被识别、跟踪并被认为在射程内。因此,一个数值近似位于一个决策边界内,对交战产生直接后果。
这是一个反复出现的安全原则。误差幅度不能脱离计算与行动之间的传递函数来评估。一个小的时间误差在工资批次中可能无关紧要,但在碰撞避免、用药剂量、工业控制或导弹跟踪中则可能是灾难性的。工程保证必须将数值误差转化为最可信运行状态下的领域效应。
设计假设成为未声明的运行限制
GAO 报告称,爱国者最初被设计为一种机动防空系统。其早期的作战概念预测了移动和在一个地点仅运行数小时。在海湾战争期间,导弹连被放置在相对永久的位置,以保护资产、人员和平民免受飞毛腿导弹攻击。该系统还被用于对抗未定义其原始任务的目标类别和飞行剖面。
这并非证明适应本身不负责任。部署的系统经常被要求应对变化的威胁。但这是一个证据,表明基于原始运行包线的保证不能安静地跟随系统进入不同的包线。一个预期每几小时重启或移动的机动系统可能包含一些状态变量,其长期行为从未被视为安全关键。一个连续可用数天的导弹连创造了不同的耐力要求。
因此,时钟漂移也是设计假设与战场条令之间的接口失败。软件包含了一个关于经过时间将变得多大的假设。战时实践创造了一个更大的值。单方面不能定义安全。只有当部署的运行模式保持在已验证的包线内,或者在包线扩大之前更改了软件和流程,系统才是安全的。
一个仅隐含在算术中的运行持续时间限制并不是有效的限制。操作员无法遵守从未给出的阈值。指挥官无法围绕一个未被转化为条令的数字来规划轮换、重启窗口或重叠覆盖。后勤团队如果不知道哪些部队正在接近危险状态,就无法优先考虑软件修改。
因此,达兰案例询问谁拥有运行包线。软件维护者控制着计算知识。项目办公室可以分析异常数据并更改代码。作战指挥部门知道导弹连实际如何运行。部署部队在其被赋予的权限和威胁条件下控制即时配置和重启行动。高级陆军领导层控制着分发警告和更新的系统。安全依赖于这些观点的协调。
相关要求不仅仅是“跟踪飞毛腿导弹”。它更接近于“维持战时部署可能要求的最长连续运行期间所需的跟踪精度”。如果这项耐力条件被明确说明,数值误差分析、长期运行测试、现场指示和配置报告就可以针对同一可测量边界进行评估。
以色列数据在攻击前使风险可见
该缺陷并非仅在达兰之后才变得可知。GAO 描述了事件前收到的现场证据。1991 年 2 月 11 日,爱国者项目办公室收到以色列数据,显示连续运行八小时后雷达距离门偏移了 20%。以色列控制的系统使用了外部数据记录器,提供了对陆军分析有用的信息。
项目办公室官员表示,当距离门偏移达到 50%或更多时,系统将无法跟踪飞毛腿导弹。由于偏移与运行时间成正比,八小时的结果可以外推。GAO 报告称,连续使用约 20 小时后,不准确的时间计算变得足够大,以致雷达寻找错误的位置。
这一序列是经典的异常升级测试。证据存在,但证据直到转化为受控决策才能保护系统。最初的 20%偏移可被描述为性能下降而非立即失效。然而,其意义取决于误差的轨迹。一个具有已知失效阈值的增长误差需要预测,而不仅仅是观察。
GAO 报告称,陆军官员最初认为以色列的经验是非典型的。他们假设其他用户不会一次运行系统八小时或更长时间。这一信念是作战假设,但对达兰的阿尔法连而言是错误的。该部队最终连续运行超过 100 小时。
治理失败不在于官员们忽视了所有证据。他们分析了数据,确认了准确性损失,并进行了软件更改。差距在于,在修复程序到达每个暴露单位之前,异常没有产生完整的、可在现场执行的安全响应。GAO 表示,官员们没有利用以色列数据来确定爱国者在计算不准确导致系统失效前可以运行多长时间。
这一区别很重要。纠正性开发和临时风险控制是独立的义务。一旦补丁正在准备中,组织可能认为问题正在解决途中。部署部队在纠正配置安装或有效缓解措施生效之前仍然暴露。从缺陷确认到整个部队安装之间的时间本身就是一个需要管理的危险区间。
警告未说明操作员所需的阈值
2 月 21 日,爱国者项目办公室向用户发送了一条消息,指出极长的运行时间可能使距离门偏移并导致目标偏移。消息还称正在发送软件更改以改进瞄准。GAO 识别出一个决定性的弱点:消息未明确说明何为“极长”。
定性语言可以传达关切,但无法促成行动。“极长”对软件分析师而言可能是八小时,对指挥官而言可能是一天,对在持续威胁下操作的机组人员而言可能是几天。作战警告必须将危险与可测量的状态和所需的响应联系起来。它应说明风险何时变得不可接受,部队必须做什么,谁可以授权行动,以及如何记录合规性。
陆军官员告诉 GAO,他们假定用户不会连续运行导弹连足够长时间以致失效,因此他们认为不需要更详细的指导。这一假设说明了为什么警告设计不能依赖于危险中涉及的同一假设。如果现场实践不确定,警告过程应予以验证。确认应包括部队当前的运行时间、软件版本和计划缓解措施,而不仅仅是确认收到消息。
达兰导弹连的实际状态——连续运行超过 100 小时——并非围绕预计 20 小时丢失跟踪点的微妙边缘。它远远超出了该点。一个能够将警告与部队状态相匹配的控制系统本应将阿尔法连识别为紧急情况。
这就是问责变得基于证据的地方。仅显示总部发送了一条通用消息是不够的。相关证据是暴露的部队是否及时收到一个可理解的限制,理解其后果,拥有行动授权和机会,并报告完成。传输日志仅证明该链条的开始部分。
针对安全关键软件的警告应是版本化的操作指令。它们需要缺陷标识符、受影响的配置、可观察的触发条件、最大安全状态、缓解措施、负责角色、截止期限、接收确认和关闭证据。当阈值依赖于时间时,警告还应要求报告当前运行时间。否则,核心风险变量对于试图控制它的组织而言仍然是不可见的。
重启是一种缓解措施,但并非完整的控制系统
GAO 报告称,每隔几小时重启爱国者系统可以通过将计算机时钟重置为零来消除显著的距离门偏移。它描述重启大约需要 60 到 90 秒。纯技术角度而言,这是对累积经过时间误差的一种简单缓解措施。
在操作上,“只需重启”并非自动执行。防空导弹连的存在是为了提供持续保护。即使是短暂的中断也可能需要根据当前警报、其他导弹连的覆盖范围、指挥权限和机组工作量进行协调。同一份报告指出,安装软件修改需要系统关闭至少一到两个小时,这是一个更长的中断,具有明显的规划意义。
这并不证明在特定时刻重启是不可能的,或操作员拒绝了可用命令。源集中的公开证据不支持这一说法。它说明了为什么缓解措施必须转化为条令才能被视为一种控制。
一个可信的重启控制将识别危险阈值以下的最大运行时间,在该限制接近时发出警告,指定谁下令重启,协调临时覆盖,验证时钟已重置并记录新的启动时间。如果持续保护使得重启不可接受,组织必须提供重叠能力或加速安装纠正软件。不能通过希望现场人员从不精确的警告中推断出程序来管理危险。
技术上容易实现的缓解措施有时会削弱机构响应。决策者可能假设系统附近的某人可以非正式地解决问题。该假设转移了责任,但没有转移指令、权限或证据。在安全案例中,缓解措施仅在操作条件下可行且可证明已实施时才有效。
软件修复在攻击前已存在,但攻击后才到达
在分析以色列数据后,爱国者项目办公室开发了一项软件更改,以补偿不准确的时间计算并允许延长运行时间。GAO 报告称,修改版本于 1991 年 2 月 16 日发布。它于 2 月 26 日——致命袭击发生后的第二天——到达达兰。
陆军官员将分发延迟归因于在战时环境中安排空运和陆运至所有爱国者地点所需的时间。这一背景相关。在战区运送物理软件介质、技术支持或受控配置更改并不等同于分发常规消费者更新。但操作困难并不能消除暴露。它定义了安全过程必须管理的物流要求。
发布与达兰事件之间的九天间隔应被视为一个配置风险窗口。在此期间,一些部队仍在使用已知具有持续时间敏感跟踪问题的软件。一个成熟的过程将维护受影响导弹连的实时清单,包括其软件版本、当前运行时间、任务关键性、更新装运状态和临时缓解措施。
优先级应遵循风险,而不仅仅是标准分发顺序。一个已经超过预计安全运行时间的部队将值得立即关注。如果纠正版本无法快速到达,指挥系统需要强制实施重启计划或其他批准措施。每个部队应经历明确状态:受影响、已警告、已缓解、更新已发送、更新已接收、已安装、功能检查完成和已关闭。
达兰案例出现在现在普遍理解的网络交付软件操作之前,但问责问题仍然存在。供应商或项目办公室可能发布修复程序,而安装基础仍然脆弱。“补丁可用”并不等同于“风险已消除”。负责高后果系统的组织需要最后一英里的证据。
同样的逻辑适用于医院、工业厂房、公共安全网络和关键基础设施。位于总部的纠正代码不能保护远程系统。安全取决于分发时间、地方权限、安装机会、兼容性测试和结果配置的证明。
有限的性能记录削弱了学习
GAO 还描述了一个证据限制。爱国者没有嵌入内部数据记录器来保留详细的性能信息。便携式外部记录器可用,但美国指挥官决定不使用它们,因为担心记录器可能导致意外的系统关机。以色列指挥官使用了记录器并提供了有助于揭示距离门异常的数据。
这一决定体现了真正的安全权衡。向实弹武器系统添加仪表化可能会产生自身风险。可能干扰操作的记录器不能被视为无害。然而,拒绝收集数据也有代价:退化可能保持不可见,异常分析变得缓慢,事后重建变得不太确定。
负责任的工程要求明确做出这一权衡。如果首选的记录器对于常规使用风险太大,则需要另一条证据路径。这可能包括独立验证的被动仪表、定期诊断收集、使用代表性长期状态的实验室回放、选定导弹连的冗余记录,或在不干扰交战的情况下捕获异常数据的正式计划。
重要的一点不是指挥官应始终选择更多遥测。而是适应新目标和新操作模式的高后果系统需要定义的学习系统。在沙漠风暴行动期间,随着操作经验的积累,软件被反复修改。GAO 报告称,从 1990 年 8 月到 1991 年 2 月,进行了六次软件修改。快速适应增加了可信性能证据和配置可追溯性的重要性。
如果没有良好的记录,组织更依赖用户报告、假设和孤立观察。这使得更容易将异常视为非典型而忽略,也更难确定更改是否在整个部队中有效。因此,证据收集是保护系统的一部分,而不仅仅是失败后历史学家的资源。
问责遵循实际控制
没有一个角色单独控制达兰链条中的每一个环节。这正是系统问责模型必要的原因。分布式责任不应变成稀释的责任。
软件和硬件工程控制了表示选择、24 位限制的知识、纠正算法和修改计算的验证。他们的义务并非保证数学完美,而是识别在可信运行范围内的误差界限,并表明跟踪保持在要求的容差内。
爱国者项目办公室控制了异常分析、软件维护以及警告和分发的重要部分。一旦以色列数据显示退化,该办公室就可以将观察结果转化为运行限制、纠正版本和优先现场行动。GAO 的叙述显示,它确实开发了修复程序并传达了警告。问责分析询问为什么这些行动没有在达兰转化为及时的保护。
作战领导层控制了条令和关于导弹连实际如何使用。如果系统连续活跃数天,这一事实需要传达给评估耐力假设的人员。指挥部门还控制是否能够规划重启、更新停机时间和重叠保护。
软件分发和战区支持链控制了修改版本向部署地点的移动。在战时环境中,运输延迟可以理解,但它们仍然是系统风险的一部分。物流绩效应根据危险紧迫性来衡量。
部队领导层和操作员在其可用的命令、信息和权限范围内控制局部行动。他们不应因未能推断出未声明的阈值而被单独指责。相反,安全过程必须定义需要什么级别的证据:运行时间日志、警告确认、重启记录、安装版本和功能检查。
陆军和国防领导层控制了更大的治理系统:战备标准、报告渠道、部署权限、独立审查以及可用性与纠正停机时间之间的平衡。机构问责在这个层面是因为地方团队无法自行创建整个部队的配置可见性或重写警告政策。
制造商的角色也应由证据界定。源记录支持对软件维护和技术纠正的讨论,但并不能证明将一个程序员或公司视为完全原因。操作失败源于技术缺陷与系统架构、变化的任务条件、关于运行时间的假设、不完整的警告内容和纠正措施延迟部署的相互作用。
这种分层分配比命名一个替罪羊更具要求性。它要求每个所有者为其所持有的控制提供证据。工程产生误差分析和测试结果。项目办公室产生危险决策和发布记录。指挥部门产生作战条令和部队状态可见性。物流产生交付证据。部队产生配置和缓解确认。监督部门验证链条在暴露继续之前闭合。
该案例并非对每次爱国者交战的判决
爱国者更广泛的海湾战争效能存在争议。GAO 的证词、技术政策分析和后来的公开报道质疑了官方的成功率声明,并审视了确定弹头杀伤的难度。其他方面则辩护了系统的性能。这些辩论是证据质量的相关背景,但无需用它来夸大达兰时钟漂移的发现。
具体案例有其自己的官方记录:一个导弹连未能跟踪和拦截来袭的飞毛腿导弹,因为不准确的时间计算在延长运行过程中增长。保持边界狭窄有助于问责。它防止一个已记录的软件故障成为关于该武器系统每项声明的修辞代理。
同样的纪律适用于伤亡报告。GAO 的达兰报告指出,飞毛腿导弹击中陆军兵营并造成 28 名美国人死亡。该数字可归因于 GAO。文章不应添加精确的受伤人数、兵营内的详细顺序或个人响应行动的声明,除非同等可靠的证据支持它们。
记录也并未确立故意的不当行为。证据支持关于假设、计算限制、警告具体性和更新时间的发现。它不支持破坏、犯罪行为或故意将部队暴露于已知致命结果的决策的声明。
同样重要的是,不要将每次有限精度计算都描述为缺陷。近似在计算中是固有的。缺陷在于使用一种近似,其累积误差在可信运行条件下超出了系统的容差,且没有有效的检测或控制。
最后,该案例不应简化为操作员错误。GAO 报告称,官员们假设用户不会运行导弹连很长时间,而达兰的现场现实是超过 100 小时的连续运行。这种不匹配是一个机构接口问题。操作员是系统的一部分,但他们无法强制实施工程和指挥部门未明确且可操作的限制。
更强的控制系统需要什么
用操作术语定义数值容差
要求应说明在最长的可信运行时间和最高相关目标速度下允许的最大预测误差。它们应识别距离门不再提供所需跟踪概率的点。位宽决策只有在转化为物理效应时才可审查。
工程师应计算最坏情况下的累积误差,而不仅仅是每次转换的误差。测试应使时钟接近并超过耐力极限。如果软件在多个功能中使用经过时间,每条路径都需要一个误差预算。
明确运行包线
已验证的包线应包括连续运行持续时间、目标特性、重启假设、软件版本和环境条件。当部署从机动、短时间使用变为固定、连续战备时,这一变化应触发正式重新评估。
运行时间限制应属于技术指令、操作员显示、战备仪表板和指挥规划。它不应仅通过后来对汇编指令的分析来发现。
对运行时间和余量进行仪表化
系统应公开安全相关状态。操作员和支持指挥部门需要准确测量连续运行时间,并清晰指示剩余跟踪余量。警告应在限制之前升级,而非在计算变得无效之后。
仪表自身必须经过非干扰测试。如果记录产生不可接受的风险,项目需要另一种经过验证的证据机制。选择不记录不能意味着选择不学习。
将纠正性开发与临时缓解措施分开
当永久性软件更改进行中时,临时危险控制仍需所有者。缓解措施可能是计划重启、减少最大运行时间、重叠覆盖、限制任务模式或另一种工程措施。它需要文档化的可行性和完成证据。
风险在每一个受影响单位受到保护之前保持开放,而不仅仅是代码发布。
使用量化警告
安全消息应将“极长”等短语替换为阈值。它们应识别受影响版本,说明后果,要求具体行动,并指明负责该行动的权威。如果阈值取决于当前状态,单位应在确认时报告该状态。
消息离开总部时并未关闭。关闭需要接收、理解、行动和验证。
保持整个部队的配置可见性
项目和作战领导应了解每个导弹连正在运行的软件版本、上次重启时间、已确认哪些警告,以及纠正更改是否通过了本地功能检查。该清单应足够最新,以便在快速移动的操作中优先处理风险。
配置记录还可防止一种常见故障模式,即组织假设已发布的修复程序已消除所有地方的暴露。
规划安全维护窗口
重启或安装软件可能中断保护。这会产生一个合理的操作问题,而非让危险不受管理的借口。指挥部门应规划重叠覆盖、分阶段维护或其他连续性措施。接受短暂维护风险与不断增长的计算风险的权限应明确。
测试实际执行的任务
耐力测试应反映连续战时操作,而不仅仅是原始概念中设想的较短时段。目标模型应反映系统被指定交战的威胁的速度和行为。测试必须覆盖运行时间、数值表示和距离门逻辑的相互作用。
GAO 报告称,后来进行了一次耐力测试,以确保延长运行时间不会造成其他系统困难。持久的控制是在部署条件暴露极限之前使此类测试成为常规。
保留独立验证
安全关键纠正应针对声明的误差界限和操作场景进行独立检查。GAO 本身在其审查中重新计算了纠正措施。项目不应需要故障后审计来发现长时间算术是否已评估。
独立审查还应评估警告充分性、现场分发和配置关闭。仅靠软件验证无法表明纠正版本已到达暴露系统。
反事实澄清控制,但不重写历史
几个反事实有助于识别缺失的控制。如果时间转换在 100 小时时保持足够的精度,GAO 描述的特定距离门偏移就不会以相同方式发展。如果导弹连在强制安全间隔内重启,内部时钟将归零,累积误差也会减少。如果修改后的软件在 2 月 25 日前到达并安装,补偿计算可能已经解决了已知问题。
这些是以控制为导向的命题,并非声称任何单一更改肯定能防止袭击的每一个后果。拦截是一个复杂的物理和操作过程。公开证据确立了阿尔法连为何未能跟踪并拦截这枚飞毛腿导弹;它不能保证假设性交战的结果。
另一个反事实涉及警告内容。2 月 21 日发布的一个量化指令,与每个受影响单位的当前运行时间相匹配,并由重启权限支持,本可使风险更具可操作性。它是否会在达兰得到执行取决于这里未完全确定的事实。教训是实际的定性警告并未提供操作员所需的阈值。
反事实分析的目的是将每个失败点与一个可测试的控制联系起来。它不应被用来在事后创造确定性或消除战时操作的限制。
现代系统仍会累积不可见的时间风险
GAO 报告中的架构反映了其时代,但风险模式是当代的。长时间运行的系统累积状态:计数器增长、时钟回绕、租约到期、证书老化、偏移漂移、队列加深和数值近似复合。一项服务可能通过短期测试,但在运行数天或数月后仍然失败。
现代硬件提供更宽的寄存器和更高的精度,但仅靠宽度不能保证安全。软件仍然在时间单位、时钟域和数值类型之间转换。分布式系统结合了挂钟、单调时钟和远程时间戳。嵌入式设备可能节省内存或处理能力。安全依赖于分析实际表示和任务持续时间。
操作假设也继续比系统变化更快。为间歇使用设计的平台可能成为持续可用的基础设施。备份工具可能成为主要服务。区域部署可能变为全球部署。为一个工作负载构建的系统可能暴露在更快或更可变的环境中。每个变化都可能使隐含的限制失效。
警告链问题同样当前。安全和安全团队定期发布公告,而远程操作员仍在使用易受攻击的版本。仪表板可能显示补丁存在,但没有证明安装。消息可能定性地描述风险,而不说明截止日期或受影响状态。达兰展示了为什么最后一英里证据很重要。
最深刻的教训是时间必须作为数据来治理。其单位、精度、纪元、最大值、重置行为和转换路径是接口要求。运行时间是安全案例的输入。如果误差随时间增长,每个运行小时都在消耗余量。
向监督和领导层提出的问题
负责高后果软件的领导者应能回答一组紧凑的问题。
最可信的连续运行时间是多少?系统是否已测试超过该时间?哪些计算随着经过时间累积误差?最坏情况误差会导致什么物理或服务影响?最大安全持续时间记录在哪里?
谁从现场接收异常数据?谁决定它是否改变运行包线?当危险确认后,谁在永久修复开发期间拥有临时缓解措施?该人能否下令重启或服务中断?
警告是否包含可测量的阈值、受影响的版本和所需行动?确认是否报告单位的实际状态?是否有证据表明行动已发生?
领导层能否识别每个部署的配置、当前运行时间和更新状态?纠正软件需要多长时间到达最偏远站点?分发优先级是否与暴露程度挂钩?
操作期间收集什么证据?仪表是否已进行非干扰测试?如果直接记录不安全,有什么替代方案支持异常检测和独立重建?
谁独立验证代码更改以及现场关闭?什么条件将状态从“修复已发布”更改为“风险已消除”?
这些问题将一个著名的软件故事转化为一个可问责的操作模型。它们要求工件、所有者和阈值,而非信心声明。
结论
达兰的爱国者故障是由软件定时问题引起的,但“舍入误差”对机构失败的描述过于微小。有限精度产生了随运行时间增长的误差。变化的部署条件将系统推离了官员假设的运行持续时间。现场数据暴露了退化。发布了一个软件纠正,发送了警告,但警告缺乏可用的时间阈值,且纠正版本在袭击后才到达达兰。
GAO 的记录支持有纪律的责任分配。工程拥有数值行为及其验证。项目办公室拥有异常转换、警告和纠正。作战领导层拥有条令和连续使用的可见性。物流拥有更改配置的交付。部署部队需要明确的缓解权限和指令。高级领导层拥有连接这些控制的证据系统。
持久的教训并非计算机必须避免近似。而是组织必须在重要的条件下约束近似。经过时间、软件版本、警告接收和纠正行动必须成为可见的控制对象。在一个保护人类生命的系统中,安全限制不能仍然隐藏在一个分数的二进制展开中。
来源
- https://www.gao.gov/products/imtec-92-26
- https://www.gao.gov/assets/imtec-92-26.pdf
- https://cs.nyu.edu/~exact/resource/mirror/patriot.htm
- https://www.cs.unc.edu/~smp/COMP205/LECTURES/ERROR/lec23/node4.html
- https://gao.justia.com/department-of-defense/1992/2/patriot-missile-defense-imtec-92-26/
- https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/ADA344865.xhtml
- https://www.gao.gov/assets/t-nsiad-92-27.pdf
- https://scienceandglobalsecurity.org/archive/sgs08sullivan.pdf
- https://babel.hathitrust.org/cgi/pt?id=pur1.32754076883812
- https://onlinebooks.library.upenn.edu/webbin/book/lookupid?key=ha011339545
- https://ocwitic.epsem.upc.edu/assignatures/se/recursos/patriot-dharan-skeel-siam.pdf
- https://www-users.cse.umn.edu/~arnold/disasters/Patriot-dharan-skeel-siam.pdf
- https://publikationen.bibliothek.kit.edu/1000181916
- https://publikationen.bibliothek.kit.edu/1000181916/160370039
- https://barrgroup.com/sites/default/files/case-study-patriot-missile-defects.pdf
- https://www.pbs.org/wgbh/pages/frontline/gulf/weapons/patriot.html
- https://gulflink.health.mil/scud_info/scud_info_refs/n41en182/patriot.htm

