当前位置:首页 > 信息安全 > 正文

造谣太容易!揭开Windows蓝屏事件背后真相

揭开Windows蓝屏事件背后真相,造谣太容易

造谣太容易!揭开Windows蓝屏事件背后真相 Windows蓝屏 第1张




7月19日,微软Windows系统发生全球性蓝屏故障。多地的用户也遭遇了电脑崩溃并出现蓝屏的问题,其中包括新西兰、澳大利亚、日本、印度等地区。大量网友在社交媒体上晒出了自己的电脑蓝屏截图,其中许多截图显示了“csagent.sys”错误。



2024年7月19日,微软Windows系统的全球性蓝屏故障引起了广泛关注,该事件迅速登上了微博热搜榜首,成为网络上的热议话题。




造谣太容易!揭开Windows蓝屏事件背后真相 Windows蓝屏 第2张


造谣太容易!揭开Windows蓝屏事件背后真相 Windows蓝屏 第3张


微软官方回应故障原因



根据多个来源的报道,此次Windows系统蓝屏的主要原因被指向了杀毒软件CrowdStrike。CrowdStrike代理(csagent.sys)的更新似乎与“WIN32K_POWER_WATCHDOG_TIMEOUT”错误有关,这一错误最终导致系统崩溃并出现蓝屏。


一些网络工程师和用户通过测试发现,可以通过进入Windows系统安全模式,将系统中的C:\Windows\System32\drivers\CrowdStrike文件夹重命名,然后重启电脑,作为暂时的解决方案。


微软支持中心的客服人员表示,目前了解到大部分蓝屏问题都是由于公司电脑安装了三方杀毒软件之后出现的。微软已经确认是相关的杀毒软件更新导致的蓝屏,如果修改驱动文件名称无效,建议用户联系公司的IT部门进行进一步处理。



作者:李欣宜

链接:https://www.zhihu.com/question/662014968/answer/3568920811

来源:知乎

简单来说,就是CrowdStrike最近更新的代码有某个地方没检查nullptr问题就直接推送生产环境了,

虽然这个错误很低级(review + CI/CD上sanitizer + test 可以避免)但绝大多数软件即使有这样不干净(指unsanitized pointer)但问题,一般破坏力不大,

因为很多kernel上的数据和指令本来就没权限读写,程序会自己结束。而作为杀毒软件它又有访问kernel space的特权,

某个地方返回的指针异常为NULL但没检查和处理,强行计算NULL(0) + 某个offset作为地址(实际上是一个被保护的invalid memory),

某种程度上Windows蓝屏是对强制读写这段地址的一种保护吧,不然可能发生更难说的事(比如在读取后强制cast为指令数据执行什么鬼都不认识的东西)

造谣太容易!揭开Windows蓝屏事件背后真相 Windows蓝屏 第4张

上图来自于X用户Zach Vorhies, 可以看到读取的地址异常的低,绝大多数情况是空指针+offset的数值,另外插嘴多说一句,平时碰到的Windows蓝屏问题很多都来源于nullptr,包括这次也是C++语言+无sanitize处理造成的很典的异常。




https://www.bilibili.com/video/BV1fZ421N76L/?spm_id_from=333.788&vd_source=db9c7fd4ef825ea7af69719cecffed5f