写点什么

Windows 全球宕机造成百亿损失,肇事者却仅给出 10 美元赔偿? 微软 Azure CTO 借机力推 Rust 上位!

  • 2024-07-25
    北京
  • 本文字数:3272 字

    阅读完需:约 11 分钟

大小:1.47M时长:08:32
Windows 全球宕机造成百亿损失,肇事者却仅给出 10 美元赔偿? 微软 Azure CTO 借机力推 Rust 上位!

上周,网络安全公司 CrowdStrike 因一次配置更新出错,导致全球数百万台采用 Windows 系统的计算机崩溃。此番宕机被广泛视为有史以来影响最大的灾难,导致阿姆斯特丹、柏林、迪拜、伦敦和美国各地的机场航班延误,还导致数家医院停止手术,全球无数企业陷入瘫痪。


日前,据几位消息人士透露,他们收到了 CrowdStrike 发来的一封电子邮件,该公司将向其合作伙伴提供一张 Uber Eats 礼品卡作为道歉,因为其认识到了“7 月 19 日事故所带来的额外工作”。


根据消息人士分享的截图,邮件中写道:“为此,我们衷心感谢并对给您带来的不便表示歉意……为了表达我们的感激之情,您的下一杯咖啡或夜宵由我们请客!”其他人也在 X 上发布了同一封邮件。



7 月 19 日事件发生后 CrowdStrike 向合作伙伴发送的电子邮件截图。


该电子邮件是由 CrowdStrike 的一个电子邮件地址以该公司首席商务官丹 Daniel Bernard 的名义发送的。根据 X 上的一篇帖子,在英国,这张代金券价值 7.75 英镑,按今天的汇率约合 10 美元。


一些发布礼品卡帖子的人表示,当他们去兑换优惠券时,收到了一条错误消息,称礼品卡“已被发行方取消,不再有效”。但 CrowdStrike 发言人 Kevin Benacci 向媒体证实该公司确实发送了礼品卡。



“我们确实将这些发送给了一直在帮助客户渡过难关的队友和合作伙伴。Uber 将其标记为欺诈行为,因为使用率很高,”Benacci 在一封电子邮件中说道。


“CrowdStrike 的所有人都明白此事的严重性和影响。”CrowdStrike 还公布了其首席执行官 George Kurtz 以及首席安全官 Shawn Henry 的道歉信。 Henry 在领英上写道:“让你们失望了,对此我深感抱歉。”


Kurtz 在公司网站上发布的一条消息中说道,“没有什么比我们的客户和合作伙伴对 CrowdStrike 的信任和信心更重要。在解决这一事件的过程中,我承诺将完全透明地说明事情发生的原因以及我们为防止类似事件再次发生而采取的措施。”


一名网友打趣道:“CrowdStrike 以‘我错了’这种理由向所有人发放 UberEats 积分,这太 Z 世代了。”还有一些人嘲笑道, CrowdStrike 给出的赔偿数目仅仅“够开一场披萨派对!”

CrowdStrike 造成了多少损失

此次 CrowdStrike 安全软件的错误更新引发的整个故障事件,扰乱了全球的互联网服务,影响了航空、银行和医疗保健等众多行业。


据保险公司 Parametrix 称,银行和医疗保健行业以及主要航空公司预计将受到最严重的打击,全球经济损失总计可能达到 150 亿美元左右。


但根据网络安全公司的条款和条件,CrowdStrike 除了简单的退款外,无需支付任何费用,其 Falcon 安全软件(全球各地的公司和政府机构都在使用)的条款将责任限制在“已支付的费用”内。 这意味着,如果一家公司向 CrowdStrike 索赔其业务损失或收入,那么它最多能收回的只是它向 CrowdStrike 支付的金额。


为承担处理 CrowdStrike 故障后果所产生的所有费用——包括雇用 IT 人员安装另一个更新来修复 Windows 机器上的问题、员工生产力损失、为客户解决问题以及需要向投资者提交相关证券报告的上市公司可能产生的法律费用,大多数公司将不得不求助于网络保险公司。


Parametrix 在一份声明中表示,全球保险损失总计可能达到 15-30 亿美元左右,其中给财富 500 强公司的总保险损失可能在 5.4 亿美元至 10.8 亿美元之间。


据悉,现在一些受此次网络故障影响的公司已经在向保险公司寻求赔偿。全球最大的保险经纪公司 Marsh 的一位高管表示,在此次网络安全危机发生后,已有超过 75 名客户准备提出索赔。


需要注意的是,对于提出索赔的公司来说,赔偿金不会立即到账,企业可能无法收回因网络中断而损失的资金。网络保险风险平台 Cyberwrite 首席执行官 Nir Perry 表示,某些网络保险政策包括对非恶意事件的承保,受影响的企业在提出索赔之前必须考虑某些变量,例如免赔额和等待期。

宕机事件敲响警钟:Rust 优于 C/C++ ?

微软宕机事件发生后,微软 Azure 部门 CTO Mark Russinovich 提醒开发者应当关注更好的编码实践,借此提高系统可靠性,最终降低系统崩溃和发生蓝屏死机的可能性。


上周六,Russinovich 转了一条发布于 2022 年的推文,称“是时候停止在任何新项目中使用 C/C++了,而且在一切非 GC(垃圾回收)语言场景下都应使用 Rust。出于安全和可靠性的考虑,业界应该正式宣布弃用 C/C++这类语言。”虽然没有实证,但人们猜测这条推文应该是跟 CrowdStriek 引爆全球的更新错误有所关联。



引发蓝屏死机的原因多种多样,包括内存错误、驱动程序问题和 Windows 中的进程问题等等,而这一切都依赖于用 C/C++编写的内核。曾在谷歌工作的程序员 Zack Vorhies 表示,此次中断就是由 C/C++代码错误所造成。但谷歌研究员 Tavis Ormandy 驳斥了这种说法。



Vorhies 将大规模宕机归咎于空指针,即代码中指向无效内存位置的特定行。根据他的说法,“空指针来自不具备内存安全特性的 C++语言”。Ormandy 对 Vorhies 的观点予以驳斥,CrowdStrike 方面则回应称“这与 Channel File 291 或者任何其他 Channel File 中包含的空字节无关。”

微软的 Rust 应用史

多年以来,微软一直对 Rust 表示支持,而且也不断在内部推动代码迁移工作。但该公司也很清楚,从 C/C++迁往 Rust 的工程绝不可能一蹴而就。 Russinovich 在最近一条推文中表示,“我们正在努力。Azure 中已经包含不少 Rust 代码,Windows 中也有 Rust 的成果存在。” 微软面向 Rust 的迁移方法也是经过认真规划的:第一步是创建原型应用程序,证明 Rust 代码与 Windows 系统的兼容性。此外,微软还陆续将保护系统硬件的外围应用程序迁移至 Rust。


据了解,微软在 Rust 工具开发方面投入了约 1000 万美元。

Azure 中的 Rust

Azure 作为首选应用目标,微软在其 Azure 云中广泛应用 Rust 语言。该公司正在部署一套使用 Rust 编写的虚拟机管理器,用以管理 Azure 环境中的 Hyper-V。 Rust 还在 Azure Boost 中得到应用,Weston 称其为“Azure 的未来架构”。 “我们将陆续把 Azure 主机上的更多性能密集型负载移交至专用卡(例如智能网卡及/或 FPGA)来运行。”该公司还希望为 Rust 建立一套类似于 Linux 操作系统的长期支持版本。

运用 Rust 保护硬件设备

微软企业和操作系统安全副总裁 Dave Weston 表示,微软正在部署基于 Rust 构建的安全固件实现保护效果的自主开发硬件。


该公司的 Secured-core 计划包括为 Surface 和 Windows PC 提供稳定且安全的启动环境。微软方面已经将大量组件从 C 语言转换为 Rust,借此增强系统稳定性并降低系统漏洞暴露在黑客面前的可能性。


微软正围绕 Rust 为其 Surface 硬件打造安全启动模块。UEFI(统一可扩展固件接口)中包含从系统启动到运行 Windows 操作系统的固件代码。UEFI 代码通常位于主板之上,并在计算机启动的同时接受访问。


UEFI 固件会被加载在内存当中,而 Rust 负责提供内存安全机制,以防止系统崩溃或遭到利用。以往不少硬件漏洞和安全问题都与计算机内存有着莫大关联。


美国政府下辖的主要安全机构——网络安全与基础设施安全局(CISA)就在去年 12 月呼吁企业改用内存安全技术。CISA 在咨询报告中表示,“除了 C/C++之外,大多数现代编程语言都已经具备内存安全属性。内存安全编程语言能够管理计算机内存,确保程序员无法引入内存安全漏洞。”


微软还为其安全处理器 Pluton 开发了一套完全由 Rust 编写的实时操作系统。Pluton 包含一个可信平台模块(TPM),用于存储生物特征数据等关键安全信息。


Weston 解释称,“微软致力于通过设计切实提高安全水平。这也是我们内部原研安全处理器,而没有坐等行业发展所带来的优势之一。我们将转向 Rust……这种语言在安全领域相较传统原生语言有着巨大优势。”


参考链接: https://thenewstack.io/microsofts-it-outage-reminder-rust-is-better-than-c-c/


https://techcrunch.com/2024/07/24/crowdstrike-offers-a-10-apology-gift-card-to-say-sorry-for-outage/


https://www.reuters.com/technology/fortune-500-firms-see-54-bln-crowdstrike-losses-says-insurer-parametrix-2024-07-24/


https://www.businessinsider.com/businesses-claiming-losses-crowdstrike-outage-insurance-billions-losses-cyber-policies-2024-7

2024-07-25 17:349079

评论

发布
暂无评论
发现更多内容

一个通用即时通讯(IM)系统的设计

OpenIM

IOS技术分享| any自习室场景实现

anyRTC开发者

音视频 在线教育 移动开发 ios技术分享

Java中级笔试题百度文库,基础+进阶+高级,

Java 程序员 后端

java中间件、数据库与spring框架,Java性能优化最佳实践,

Java 程序员 后端

Java中高级面试必知必会,高级Java开发面试解答之线程篇,

Java 程序员 后端

大一 PingCAP、大二 JetBrains,专访 00 后开发者:千里冰封

郭旭东

开发者 采访 大学生

火爆全网的Spring Security手册及源码笔记,在Github上标星103K

编程 架构 面试 程序人生 金九银十

新思科技:部署数据安全战略,加强安全管理和隐私保护

InfoQ_434670063458

数据安全 新思科技

数据库为何又如何走向分布式?

多颗糖

MySQL 数据库 分布式 raft TiDB

一行Java代码实现游戏中交换装备

华为云开发者联盟

Java 线程 游戏 Exchanger JDK 1.5

Python中如何优雅的使用assert断言

wangkx

Python assert

华为云首席产品官方国伟:没有人拥有看到未来的水晶球,云上突围之路如何走?

华为云开发者联盟

云计算 云原生 数字化转型 华为云 伙伴云

update 没有索引导致业务崩了,老板骂了一个小时

华为云开发者联盟

数据库 innodb 事务 索引 update 语句

云随想二:云时代,你如何采购软件?

FLASH

云原生 采购软件

ECIC演讲精华|如何构建云原生应用下的高性能持久化存储?

焱融科技

技术 分布式 云原生 高性能 存储技术

SaaS 102 | 做 SaaS 产品应该如何做决策?

Teddy Chan

创业 数据 SaaS 决策 电商SaaS

教你实现一个朴实的Canvas时钟效果

华为云开发者联盟

标签 函数 canvas 时钟

FunTester抄代码之路

FunTester

Jmeter 测试框架 HttpClient FunTester ngrinder

Java中高级岗面试为何越来越难,学习Java开发的步骤,

Java 程序员 后端

5个非常重要的数据Oceanbase,TiDB,Cassandra,RocksDB,MemDB

hanaper

小白也能看懂的dubbo3应用级服务发现详解

捉虫大师

dubbo 服务发现 Dubbo3

Compose 中的图形

Changing Lin

9月日更

阿里云内部 WebRTC 研究分享| 内容合集

阿里云CloudImagine

阿里云 音视频 WebRTC 视频云 技术专题合集

计算机操作系统学习笔记 | 进程

Regan Yue

操作系统 进程 9月日更

Java中级开发笔试题及答案,成功入职腾讯月薪45K,

Java 程序员 后端

李沐亚马逊资深首席科学家 - 动手学深度学习 易筋 ARTS 打卡 Week 64

John(易筋)

ARTS 打卡计划

源码解读Dubbo分层设计思想

vivo互联网技术

Apache dubbo 服务器 spi

视频剪辑软件对比之:会声会影与剪映

懒得勤快

移动端短语音消息音频格式选择

轻口味

android 音视频 9月日更

Java中高级岗面试为何越来越难,都2021年了,还不会Redis?

Java 程序员 后端

Java中级开发面试题,只需一篇文章吃透Java多线程技术,

Java 程序员 后端

Windows 全球宕机造成百亿损失,肇事者却仅给出 10 美元赔偿? 微软 Azure CTO 借机力推 Rust 上位!_生成式 AI_华卫_InfoQ精选文章