|  站内搜索:
网站首页 > 环球聚焦 > 深度评析 > 阅读信息
对昨天“史上最严重的”IT事故的分析!
点击:  作者: Benjamine    来源:OSINT网络情报微信号  发布时间:2024-07-23 10:44:32

 

2024719日,澳大利亚出现了BSOD的报道,随后英国、美国、印度、德国和其他国家也出现了类似的中断。5000多个航班被取消,银行业务暂停,医疗服务中断,零售交易受阻。境外媒体称此次事件是史上最严重的”IT事故。本文分析了这次事件的原因及给人类带来的教训。

 

 

2024719日,一场重大事件在全球IT基础设施中掀起了冲击波,影响了数百万用户,并扰乱了多个部门的重要服务。这一前所未有的事件是由网络安全公司CrowdStrike的一个有缺陷的软件更新引起的,导致全球微软Windows系统出现灾难性的蓝屏死机(BSOD,即Blue Screen of Death的缩写)循环。影响深远:5000多个航班被取消,银行业务暂停,医疗服务中断,零售交易受阻。本文深入研究了该事件的技术复杂性、广泛的影响以及从中获得的宝贵经验教训。

 

 

事件

 

问题始于CrowdStrike Falcon传感器更新,无意中导致Windows系统进入蓝屏死机(BSOD)循环。具体的错误消息“DRIVER_OVERRAN_STACK_BUFFER”表明驱动程序中存在严重缺陷,导致系统反复崩溃,使受影响的机器无法操作。这个问题主要影响运行Windows 1011的系统,这些系统使用CrowdStrike的端点安全软件(EDR)来抵御网络威胁。错误的更新触发了驱动程序中的缓冲区溢出条件,其中多余的数据被写入缓冲区边界之外,损坏相邻的内存。这种损坏破坏了正常的执行流,导致系统崩溃并进入BSOD状态。BSOD循环阻止受影响的机器正常启动,而是迫使它们进入一个连续的崩溃和重新启动的循环。

 

来自CrowdStrike和第三方研究人员的技术分析

 

CrowdStrike很快发现问题的根本原因是他们的Falcon传感器内核驱动程序存在缺陷。CrowdStrike首席执行官George Kurtz证实,该缺陷导致传感器故障,导致缓冲区溢出和随后的系统崩溃。他强调,这不是安全漏洞,而是在最新更新中引入的软件缺陷。“猎鹰”(Falcon)传感器更新包括旨在增强系统性能和安全性的更改。然而,不充分的测试导致部署了一个具有严重缺陷的驱动程序。根据网络安全研究员Kevin Beaumont的说法,该更新包含了一个错误配置的内核驱动文件,该文件的格式不正确,导致Windows每次试图加载驱动程序时都会崩溃。这突出了与没有在不同环境中进行全面测试的更新部署相关的风险。CrowdStrike的工程师在公司论坛和社交媒体上发帖,提供技术细节和解决方案。他们解释说,有问题的驱动程序文件,标识为“C-00000291.SYS。需要从受影响的系统中手动删除,以停止BSOD循环。他们提供了详细的说明来指导IT管理员完成恢复过程,包括启动到安全模式,导航到CrowdStrike目录,并删除有故障的驱动程序文件。

 

安全研究员的见解

 

著名安全研究人员奥桑达·贾亚蒂萨(Osanda Jayathissa)CrowdStrike的崩溃进行了详细分析:

 

这是我对CrowdStrike崩溃的分析。几家大公司使用该软件作为EDR(端点检测与响应)解决方案。在每台Windows PC中,将安装此代理来监视恶意活动。然而,昨天他们推出了一个更新和一个名为csagent的驱动程序文件。系统导致了这次崩溃。

 

驱动程序被写入环0ring 0)或内核,你的应用程序和Windows运行在环3ring 3)即用户区。在内核态(ring 0)没有异常处理,如果你的程序有任何类型的错误,结果将是一个蓝屏死机(BSOD)。您还可以访问这里的任何内存,因为这里没有操作系统来分配虚拟内存。

 

Windows调试器时,写一个无效地址看起来像是新手犯的错误。目前CrowdStrike在客户门户网站上发布了一个解决方案,它需要在安全模式或恢复模式下启动。我不认为一旦电脑在每次重启时都造成蓝屏,你可以改变设置以安全模式启动。对于恢复模式,这里的问题是,我不认为人们可以在公司这样做,因为有密码来防止用户这样做。

 

假设他们有一个补丁,如果机器每次重启都在BSOD屏幕上,他们怎么能推送补丁呢?这将是最大的灾难之一。微软让所有的驱动程序都在代码审查后签名,因为在内核驱动程序开发中,权力越大责任越大,我不认为开发人员会认真对待这一点。CrowdStrike的股价正在走下跌。

 

 

事件发生后,CrowdStrike的股价大幅下跌Jayathissa的分析强调了内核级驱动程序开发的关键性质,以及严格测试以防止此类灾难性故障的重要性。

 

影响范围

 

其影响是巨大而直接的。澳大利亚出现了BSOD的报道,随后英国、美国、印度、德国和其他国家也出现了类似的中断。该事件影响了全球的关键基础设施和服务,凸显了现代IT系统的相互依赖性。

 

 

航空公司:包括联合航空、达美航空和美国航空在内的主要航空公司发布了全球地面停靠令,导致全球5000多个航班取消。机场面临着严重的混乱,乘客经历了长时间的延误和取消。金融机构:像摩根大通这样的银行面临着处理交易的延迟,因为员工无法访问他们的系统。支付系统中断,导致零售交易和自动取款机出现问题。医疗保健:医院不得不取消非关键手术,并且在访问患者记录方面面临挑战。在某些情况下,911等紧急服务受到影响,延迟了响应时间,使关键操作复杂化。零售和公共服务:超市,包括英国的莫里森和维特罗斯,都经历了支付系统的中断。广播网络等公共服务中断,影响正常运营和通信。政府和公共基础设施:包括机场和火车站在内的政府服务受到影响,导致航班延误和取消。该事件还影响了伦敦证券交易所(London Stock Exchange)等关键基础设施,尽管受到干扰,但交易仍在继续。

 

社交媒体反应

 

这一事件迅速成为社交媒体平台上的热门话题,用户们分享了他们的经历和沮丧。推特、Reddit和其他平台上充斥着关于这种情况的表情包和幽默。#CrowdStrikeBSOD的标签开始流行起来,用户发布了他们的蓝屏截图,自嘲给自己带来的麻烦,批评CrowdStrike的更新程序。

 

与微软的关系

 

CrowdStrike引发BSOD事件的同时,微软也在处理自己的Azure云服务中断问题。虽然最初被认为是相关的,但微软证实这两起事件没有联系。Azure的中断独立地影响了各种服务,增加了当天事件的总体混乱和复杂性。微软的Azure云服务是许多组织的关键支柱,提供一系列基于云的服务,包括计算、分析、存储和网络。Azure的中断中断了对这些服务的访问,使那些已经在努力解决由CrowdStrike引起的BSOD问题的组织面临的挑战更加复杂。这种同时发生的故障凸显了全球IT基础设施的脆弱性和相互关联性。

 

CrowdStrike的反应

 

CrowdStrike的首席执行官George Kurtz承认了这个问题,并表示公司已经隔离了这个缺陷,并部署了修复程序。然而,他警告说,由于许多系统需要人工干预,恢复可能需要时间。微软还与CrowdStrike合作,帮助受影响的客户恢复系统。

 

缓解和解决办法

 

对于受影响的用户,CrowdStrike提供了详细的补救计划。主要的解决方法包括将系统启动到安全模式,导航到CrowdStrike目录,并删除有问题的驱动程序文件(C-00000291*.sys)。这允许系统绕过BSOD并正常启动。此外,CrowdStrike发布了关于在其高级事件搜索平台中使用特定查询识别和隔离受影响主机的更新指南。

 

方案1

从受影响的虚拟服务器上卸载操作系统磁盘卷

创建磁盘卷的快照或备份,然后再继续操作,以防止意外更改

将磁盘卷挂载到一个新的虚拟服务器上

导航到%WINDIR%\System32\drivers\CrowdStrike目录

找到匹配“C-00000291*”的文件。,并删除。

从新的虚拟服务器上卸载卷

将固定卷重新连接到受影响的虚拟服务器

 

方案2

回滚到UTC时间0409之前的快照。

 

识别受影响的主机

 

CrowdStrike发布了一份名为“如何识别可能受Windows崩溃影响的主机”的综合指南,以帮助用户检测和减轻错误更新的影响。该程序包括几个步骤,以准确有效地识别受影响的宿主设备。

 

循序渐进的过程:

 

确定受影响的通道文件(Channel File):在高级事件搜索中运行查询,搜索窗口设置为7天。该查询识别受更新影响的特定通道文件版本:

 

#event_simpleName=ConfigStateUpdate event_platform=Win
| regex("\|1,123,(?<CFVersion>.*?)\|", field=ConfigStateData, strict=
false
| parseInt(CFVersion, radix=
16)
| groupBy([cid], 
function=([max(CFVersion, as=GoodChannel)]))
| ImpactedChannel:=GoodChannel
-1
join(query={#data_source_name=cid_name | groupBy([cid], function=selectLast(name), limit=max)}, field=[cid], include=name, mode=left)

 

执行查询以识别受影响的系统:使用上一步中受影响的通道文件号(channel file number)来运行另一个查询。此查询检查在影响窗口期间在线并进行了有问题的更新的系统:

 

#event_simpleName=/^(ConfigStateUpdate|SensorHeartbeat)$/
event_platform=Win
case{
    #event_simpleName=ConfigStateUpdate | regex("\|1,123,(?<CFVersion>.*?)\|", field=ConfigStateData, strict=
false) | parseInt(CFVersion, radix=16);
    #event_simpleName=SensorHeartbeat | rename([[
@timestamp, LastSeen]]);
}
case{
    #event_simpleName=ConfigStateUpdate | 
@timestamp>1721362140000 AND @timestamp < 1721366820000 | CSUcounter:=1;
    #event_simpleName=SensorHeartbeat | LastSeen>
1721362140000 AND LastSeen<1721366820000 | SHBcounter:=1;
    *;
}
default(value="0", field=[CSUcounter, SHBcounter])
| selfJoinFilter(field=[cid, aid, ComputerName], 
where=[{ConfigStateUpdate}, {SensorHeartbeat}])
| groupBy([cid, aid], 
function=([{selectFromMax(field="@timestamp", include=[CFVersion])}, {selectFromMax(field="@timestamp", include=[@timestamp]) | rename(field="@timestamp", as="LastSeen")}, max(CSUcounter, as=CSUcounter), max(SHBcounter, as=SHBcounter)]), limit=max)
in(field="CFVersion", values=[0,31])
| LastSeenDelta:=now()-LastSeen
| LastSeenDelta>
3600000
| LastSeenDelta:=formatDuration("LastSeenDelta", 
precision=2)
| LastSeen:=formatTime(format="%F %T", field="LastSeen")
| aid=~
match(file="aid_master_main.csv", column=[aid])
| aid=~
match(file="aid_master_details.csv", column=[aid], include=[FalconGroupingTags, SensorGroupingTags])
| FirstSeen:=formatTime(format="%F %T", field="FirstSeen")
| $falcon/helper:enrich(field=ProductType)
drop([Time])
default(value="-", field=[MachineDomain, OU, SiteName, FalconGroupingTags, SensorGroupingTags], replaceEmpty=true)
case{
    LastSeenDelta>
3600000          | Details:="OK: Endpoint seen in past

 

经验教训

 

严格的测试:该事件强调了彻底测试的重要性,特别是对于安全软件更新。部署前测试应该包括各种操作环境,以捕获潜在问题。

分阶段推出:实现分阶段推出可以减轻大范围的中断。通过最初向一小部分用户部署更新,公司可以在全面部署之前识别和解决问题。

事件响应:有效的事故响应协议至关重要。CrowdStrike的快速承认和随后的修复对于管理危机至关重要,但人工干预的需求突出了需要改进的领域。

沟通:与受影响的各方进行透明和及时的沟通是必不可少的。CrowdStrike和微软都提供了持续的更新,这有助于管理用户的期望和行动。

 

结论

 

CrowdStrike引发的BSOD事件提醒我们,互联的数字基础设施存在固有的漏洞。随着网络安全威胁的不断发展,旨在抵御这些威胁的系统的稳健性和弹性也必须提高。这一事件无疑将促使对最新部署战略进行重新评估,并加强对全面测试和快速反应机制的迫切需要。

 

**本文借鉴了来自各种可靠来源的详细信息和见解,包括最近CrowdStrike更新事件带来的重大技术和运营挑战。

 

作者:Benjamine;来源: OSINT网络情报微信号

责任编辑:向太阳
特别申明:

1、本文只代表作者个人观点,不代表本站观点,仅供大家学习参考;

2、本站属于非营利性网站,如涉及版权和名誉问题,请及时与本站联系,我们将及时做相应处理;

3、欢迎各位网友光临阅览,文明上网,依法守规,IP可查。

昆仑专题

高端精神

国策建言

热点排行
  • 一周
  • 一月
  • 半年
  • 建言点赞
  • 一周
  • 一月
  • 半年
  • 友情链接
  • 人民网
  • 央视网
  • 新华网
  • 求是
  • 中国军网
  • 中国经济网
  • 中国社会科学网
  • 中国科技网
  • 中国共产党历史和文献网
  • 红色文化网
  • 观察者网
  • 参考消息
  • 环球网
  • 毛泽东思想旗帜网
  • 红旗文稿
  • 红歌会
  • 红旗网
  • 乌有之乡
  • 橘子洲头
  • 四月网
  • 新法家
  • 中红网
  • 激流网
  • 宣讲家网
  • 中共党史网
  • 国史网
  • 全国党建网
  • 中国集体经济网
  • 中国延安精神研究会
  • 西北革命历史网
  • 善之渊
  • 俄罗斯卫星通讯社
  • 赵晓鲁律师事务所
  • 烽火HOME
  • 备案/许可证编号:京ICP备15015626号-1 昆仑策研究院 版权所有 举报邮箱:[email protected]