刊于《经济日报》,2024年8月10日

第三方风险致命 标准化集体应用需防

许佳龙

科大商学院署理院长;信息、商业统计及营运学系讲座教授;

艾礼文家族商学教授

全球约有850万台使用微软窗口(Microsoft Windows)操作系统的设备于7月 19日突然死机,微软云服务也告瘫痪,导致欧美、亚洲多国和地区的航空、金融、广播、医疗保健等行业的运作大受打击;零售支付终端服务亦无法操作,事故经济损失估计超过 10亿美元,市民的日常生活亦大受影响。事故后进行检讨,实在很有需要。

这起事故并不是网络攻击,但波及范围甚广,并带出了两个网络保安问题,而这两个问题也一直是笔者进行研究的课题。

其一,是「第三方风险 」。今次事故把第三方风险的严重性和脆弱性表露无遗。微软窗口操作系统用户的计算机之所以死机,是因为微软采用了一家外判商的一些服务——网络安全公司CrowdStrike提供的软件服务,而肇因为CrowdStrike软件进行更新,但更新的部分显然存在缺陷,所以当CrowdStrike向微软推送的软件更新出现问题,有缺陷的软件也跟着被嵌进全球数以万计微软用户的系统中。

第三方风险须高度警惕

很显然,微软采用CrowdStrike提供的第三方服务,是引入了额外的风险。事实上,在信息网络保安上,系统的相互依赖性,往往为系统本身带来额外的的安全风险。值得强调的是,目前大部分企业在系统保安上,通常只聚焦于本身系统的安全性,如安全措施是否足够,网络系统是否存在漏洞,集中围绕公司自身业务范畴所提供的服务系统,而忽略了「从外进内」的第三方服务供货商带来的潜在风险威胁和危机。第三方的风险源头可能是顾客,甚至往往是其业务或合作伙伴,而这些第三方从外而来的风险往往防不胜防,无法主动控制,因而不容易将之纳入到自身系统的安全计算之中,相信微软也没意料到,CrowdStrike所作的一次更新,会造成全球性网络事故,震动世界。

同一标准应用藏集体性风险

其二,是一个更为重大的安全问题,即当计算机系统世界都采用同一标准系统时,所潜藏的风险,其影响性和破坏性是广泛和巨大的。以今次事故为例,微软在全球作为主要或基础性的操作系统,一旦这个系统出现问题,影响便无远弗届,波及欧美和亚洲多国和地区的机场,殃及使用同一操作系统的不同行业,包括航空公司、金融机构、医疗保健、零售等企业;市民日常生活也受到严重影响,把过度依頼单一软件系统的脆弱性表露无遗。归根究柢,使用同一标准系统,无异于把全世界的风险集中到这个系统之上。一旦这个「风险点」爆破,影响范围之广,破坏性之大可以想象。

在今天的科技时代,大家相信计算机系统的能力甚高,很多工作由这个系统有效完成,表面看,这个系统「很厉害」,但内里其实有不少脆弱之处,而这种脆弱性包括上述这两个因素,即第三方风险,以及由大规模「网络效应 」所形成采用同一套系统设计与标准的集体性风险,今次事故正好把这两个风险因素影响的广泛性和巨大破坏性,彻底暴露在全世界公众眼前。可以说,这两个往住为人忽视的因素都会把网络风险大大 提高。因此,无论是机构或政府要确保基础建设运作的安全性,必须针对这两点风险作出相应的网络保安部署、反应和规管。事实上,下一轮的网络安全规管,有必要对这两项风险源头作出有效防治。

备用系统不宜缺

再看深一层,计算机软件世界的操作系统有两类,即「封闭系统」和 「开源系统」。「封闭系统」并不公开透明,如微软的窗口和苹果的 IOS操作系统,大家无法知道软件里的构成,或当中一些特殊的程序;而「开源系统」如Android和Linux,顾名思义,系统的程序代码是开放的,大家都看到个中的程序,坏处是也给黑客 「一目了然」,相对容易从其弱点中发起攻击,但其好处是大家都可以看到其弱点纰漏,从而进行补漏和优化,那一类系统更好,至今并无定论,然而,从今次事故中,一旦不公开透明的封闭操作系统程序出现问题,用户便显得很被动,因而需要有高度防患于未然的意识。

对于网络保安,用户自保之道,是保证所采用的系统有一个后备可以运作系统,供出现事故紧急应用。在今次事故中,香港的机场出现混乱,旅客登记系统无法运作,要用人手办理登机手续和告示,情况很不理想,所以,无论大小机构,在防范意外事故上,像预习走火警那样,预先作出警示,若有一天计算机系统运作不正常,有一个备用系统能够保证最低程度的服务供应,而这个备用系统同当前所采用系统的风险运作相关性不宜高,此举虽然增加了成本,但能够确保安全。

损失归责合理分配

在CrowdStrike事件中,还有一个值得讨论的问题。由于CrowdStrike在推送更新缺乏了严谨而全面的检查,导令微软窗口用户死机。为了防止这类「人为疏忽」造成的风险事故重演,事故损失的「责任分担」显然需要有一个合理的分配。以香港政府对电力公司供电服务监管,以确保电力供应安全可靠为例,若供电发生不稳定,甚或出现供应中断故障,在《管制计划协议》下,电力公司会受到惩罚,对其准许利润作出罚款「赔偿」。

借镜这种监管的 「惩罚制度」,在一些基础设备上,包括计算机系统服务供货商需要对事故损失作出「责任分担」,这种归责的分配可以提供更大诱因,令计算机软件系统供货商,甚至其外包供货商,在软件的设计和更新上,有更严谨的安全把关意识和需要。

笔者过去提出和分析「第三方风险」、计算机系统采用同一标准引起的集体性事故风险,以及对事故「责任分担」不明确的弊端,在今次CrowdStrike事故中,以全球性大规模形式表露无遗,因而值得各持份方认真对这三方面的风险和问题,作出应对方案的全面思考。再者,我们采用的一些看似简单的操作系统,以为不会出乱子,但微软窗口死机事故无疑反映计算机系统的脆弱性,大家需要认真警惕和留意相关风险,制订好预防性防治方案!

Read Article