ZSRL
管理员
你能保证吗? /tk
“万无一失”是可能的。可靠性到 99.995%,不就是万无一失吗。人类可以做到四个九。但 100% 是不可能的。这个宇宙里就没有 100% 的可靠性。
这次 CrowdStrike Falcon 的事情,当然可以在软件质量管理、运营体系建设之类的层面找一找问题,总结总结经验。但想杜绝类似问题再次发生也是不可能的,无非是下一次在五年后还是十年后。微软最近两年开始用 Rust 重写内核,也号召大家用 Rust 写驱动。我们实验室试了一下,Rust 固然不容易产生 C/C++ 的那些问题,但 Rust 有自己的问题,该蓝屏还是蓝屏。
那么我们能从事故中学到些什么呢?
首先,美国赶走了俄罗斯的卡巴斯基,用美国“自主可控”的安全软件 CrowdStrike 加上美国“自主可控”的操作系统 Windows,也还是发生了这样的事情。“自主可控”有很多意义,比如不用担心别人“卡脖子”。但“自主可控”和软件质量、事故率之间没有必然关系。不能因为“自主可控”了,就对宇宙的熵增失去了敬畏之心。
软件故障和运营事故年年有,为什么这次会闹这么大呢?只能说因为 CrowdStrike 生意做的太好了,微软的生意做的太好了。因为生意做的太好,客户众多,以至于运行 Windows 的机器和运行 CrowdStrike 的机器重叠部分都有 850 万之多,而且分布于全球。机器多了,分布广了,自然影响就大。如果是用户比较少的厂商出问题,影响面自然也没这么大。但应该因此限制企业服务的客户数量吗?如果这么做,带来的负面影响可能比一两次事故要大得多。
再一个原因就是 CrowdStrike 是 SaaS 模式的。SaaS 在用的时候很敏捷,导致故障的时候自然也很敏捷。但这并不意味着 SaaS 不好,只是甘蔗没有两头甜。对此能做的可能也就是让 SaaS 稍微不那么敏捷一点,做个 Trade Off。比如给用户一个开关,每次更新规则的时候给用户发邮件,让用户自己按按钮。再比如设置不同的更新通道,追求稳定可靠就可以选慢通道,追求第一时间防御最新威胁可以选快通道。这并不能避免问题发生,但可以减轻影响。
短期内中国可能不会出现类似性质、规模的事情。这并不是因为我们的产品更可靠,而是因为中国安全行业还没有达到这样用户规模的产品,更不用说覆盖全球了。另外,中国的政企用户不喜欢 SaaS。所以,即便中国有用户量很大的产品,也是以私有化部署为主,不太容易出现这种一下子爆发的情况。
这件事之后,国内的 SaaS 厂商恐怕也需要更新一下售前材料,讲一讲自己为什么不涉及此类问题,或者为防范此类事情做了哪些努力。
从用户这一侧看,能做的可能也就是关键系统要异构。比如某业务有 10 台服务器,是不是可以 5 台用 Windows,另外 5 台用 Linux?至少装的终端安全软件是不是分别用两家的?这样一家出了问题还能剩 50% 可用性。但异构也并不是新话题。只是做异构就意味着增加人力和财力的投入。高可靠和低成本不可兼得。就看怎么算账了。
不过决策链上的老板们被这个事情一吓,没准就愿意多投点资源了。大家要抓住这个找老板批预算的窗口期。
- 下载图片
- 复制图片
2024-07-22
浏览11
登录后评论
点赞
评论
分享