
7月19日,一场前所未有的IT灾难震撼全球————全球近千万台适用Windows系统的设备齐齐宕机,导致航空公司、银行、媒体、医疗等多个行业陷入混乱。该事件的起因是,一家为微软提供安全服务的第三方公司CrowdStrick对软件进行更新时出现bug,导致包括微软操作系统Windows在内的重要系统平台宕机,出现了蓝屏的状况。受此次事故影响,美国、日本、荷兰等国部分航空公司出现航班延误或机场服务中断,其中美国就有超过2000架次航班被取消,超5300架次航班延误,预计给全球航空业造成数十亿美元的损失。多国的银行、酒店、医院等公共服务系统也受到影响,就连美国拉斯维加斯赌场里的老虎机也瘫痪了。此次故障波及范围之广、影响程度之深,被业界誉为史诗级IT灾难。

这次事故的发生也给我们上了一课:在人工智能时代下,面对未来,我们该如何不被系统绑架?针对此次事件,华南理工大学软件学院黄翰教授受邀接受SFC观点财经的采访,并
出了以下十个值得关注的问题。
微软的升级以及部署工作是否按照规范操作?
升级部署的操作人员是否具备相应得体的技能素质以及称职的能力?
软件在完成更新和部署之前是否进行充分的测试?一个软件在上线之前,一定要通过充分的测试检验。这和产品上市前需进行的品质检测相似。然而,这个工作的细节非常容易被大家忽略。
一些公司的相关技术落后。这导致在应对一些新型需求的更新和升级部署时没有跟上节奏,才出现这样的问题。
测试过程中程序路径覆盖不全面。在软件行业里,白盒测试技术中有一个常见的概念——程序路径的覆盖问题。我们可以把软件从输入到输出的终端看成很多程序的路径,好比一个入口有很多的路径可以到达出口。那么软件正常使用的时候,通过较多的往往是几个常规的路径。然而出现问题的,往往是通过频率不高的路径。因此,在测试的阶段有必要通过一些测试自动化的手段,对这些程序路径进行测试。
部分安全软件性能不佳。倘若安全软件没有做好,就成了不安全的软件。相当于本应负责保障安全保安,由于一些原因,成了不安全的因素,非但不能守护居民安全,其自身反而对居民构成了巨大的威胁,那么后果将不堪设想。所以对于安全软件的测试、质量把控、上线前的监控以及测试的工作,一定要比一般的软件级别要求更高。
微软未做好容错处理。除了第三方以外,在本次事件中,微软也难辞其咎。在发现系统出现bug时,微软作为一家世界级的软件公司,应当有捕捉这个bug能力的程序预设,及时作出一些容错性的处理。然而,微软方在此方面表现欠佳。在应对类似情况时,最简单的方式就是及时捕捉错误,立即进行提示,并且停用一些功能。还有一种简单但是代价高的方式,叫做双工系统,即准备一套未进行更新且能正常运行的备用系统,以及一套更新过的系统。当更新过的系统出现问题的时候,我们要及时启用未进行更新的备用系统来进行容错应急处理。
本土自主软件对安全问题的重视不足。我们不能把核心关键的节点全部放在一个操作系统上,而应当放在有双备份的独立运行的操作系统上。这次事件最大的问题,就是机场、医疗等行业的软件将很多核心的部件放在了微软的操作系统上;所以一旦微软的操作系统出现问题,这些自主软件的很多功能便无法正常运行。
应当加大对软件质量的重视。我们不应该等到用户发现问题,甚至引起社会事件的时候才进行反思。在日常工作中,便应当加大测试投入,重视测试的第三方认证,重视过程性测试,确保软件质量。
树立软件的保险机制。我们应当未雨绸缪,提前做好预案。这样,在软件出现bug引起的灾难的时候,我们能够有一些风险分担的机制,尽量减少损失。
以上是对黄翰教授观点的概述,具体内容请观看采访视频(链接:https://www.ixigua.com/7394734256670444840?logTag=a9819402247affcd4d06)。
总编:黄翰
责任编辑:雷墨鹥兮
文字:邓淇
图片:邓淇
校稿:陈嘉慧
时间:2024年10月21日