针对近期有“史上最严重IT事故”之称的 Windows 全球大面积蓝屏死机问题,两个直接当事方——微软和 CrowdStrike 均已发布了相关技术报告。
7 月 24 日,CrowdStrike 发布 Windows 大范围蓝屏事件初步审查报告,并表示即将在公开发布的根本原因分析中详细说明全面调查结果。
根据报告,蓝屏死机是由内存安全问题引起的,CrowdStrike 的 CSagent 驱动程序发生了越界读取访问冲突。
初步审查报告显示,UTC 时间 2024 年 7 月 19 日星期五 04:09(北京时间 12:09),作为常规操作的一部分,CrowdStrike 发布了 Windows 传感器的内容配置更新,以收集有关可能的新型威胁技术的遥测数据。
这些更新是 Falcon 平台动态保护机制的常规部分。然而,有问题的快速响应内容配置更新导致了 Windows 系统崩溃,影响的设备包括运行传感器版本 7.11 及更高版本的 Windows 主机。
这些主机在 UTC 时间 2024 年 7 月 19 日星期五 04:09 至 2024 年 7 月 19 日星期五 05:27 期间在线并收到了更新。Mac 和 Linux 主机不受影响。
内容更新中的缺陷已于 UTC 时间 2024 年 7 月 19 日星期五 05:27(北京时间 13:27)修复。在此时间之后上线的系统或在之前的窗口期内未连接更新的系统不受影响。
CrowdStrike 通过两种方式向传感器提供安全内容配置更新:直接随传感器附带的内容,以及快速响应内容更新。周五的问题涉及快速响应内容更新,其中存在未检测到的错误。
当传感器接收并加载到内容解释器中时,有问题的内容导致内存读取越界,从而触发异常。无法妥善处理此意外异常,导致 Windows 操作系统崩溃(BSOD)。
CrowdStrike 官方也发布了补救措施,共包括三大部分:
1、软件弹性和测试
通过使用以下测试类型改进快速响应内容测试:
- 本地开发人员测试
- 内容更新和回滚测试
- 压力测试、模糊测试和故障注入
- 稳定性测试
- 内容接口测试
向内容验证器添加其他验证检查,以实现快速响应内容。正在进行一项新的检查,以防止将来部署此类有问题的内容。
增强 Content Interpreter 中的现有错误处理。
2、快速响应内容部署
- 对快速响应内容实施交错部署策略,其中更新逐渐部署到传感器库的较大部分,从 Canary 部署开始。
- 改进对传感器和系统性能的监控,在快速响应内容部署期间收集反馈,以指导分阶段推出。
- 通过允许精细选择部署这些更新的时间和位置,使客户能够更好地控制快速响应内容更新的交付。
- 通过发行说明提供内容更新详细信息,客户可以订阅这些说明。
3、第三方验证
- 进行多个独立的第三方安全代码审查。
- 对从开发到部署的端到端质量流程进行独立审查。
7 月 28 日,微软发布了因 CrowdStrike 驱动程序导致此次宕机的详细技术分析。
微软的分析证实了 CrowdStrike 的发现,即崩溃是由 CrowdStrike 的CSagent.sys驱动程序中的越界内存安全错误引起的。csagent.sys模块在 Windows 电脑上注册为文件系统过滤器驱动程序,以接收有关文件操作(包括创建或修改文件)的通知,这允许包括 CrowdStrike 在内的安全产品扫描保存到磁盘的任何新文件。
事件发生时,微软因允许第三方软件开发商进行内核级访问受到了大量批评。在博客文章中,微软解释了为何为安全产品提供内核级访问:
- 内核驱动程序允许系统范围内的可见性,并能够在启动过程早期加载,以检测启动套件和根套件等威胁,这些威胁可以在用户模式应用程序之前加载。
- 微软提供系统事件回调、文件过滤器驱动程序等功能。
- 内核驱动程序可为高吞吐量网络活动等情况提供更好的性能。
- 安全解决方案希望确保其软件无法被恶意软件、定向攻击或恶意内部人员禁用,即使这些攻击者具有管理员权限。为此,Windows 在启动早期提供早期启动反恶意软件(ELAM)。
然而,内核驱动程序也需要权衡,因为它们在 Windows 最可信的级别运行,增加了风险。微软还致力于将复杂的 Windows 核心服务从内核模式迁移到用户模式,例如字体文件解析。
微软建议安全解决方案提供商在可视性和防篡改需求与内核模式操作风险之间取得平衡。例如,他们可以使用在内核模式下运行的最小传感器进行数据收集和执行,从而限制对可用性问题的暴露。其余功能,如管理更新、解析内容和其他操作,可以在用户模式下隔离进行。
微软还解释了 Windows 操作系统的内置安全功能。这些安全功能提供了多层保护,防止恶意软件和攻击企图。微软将通过微软病毒计划(MVI)与反恶意软件生态系统合作,利用 Windows 内置安全功能进一步提高安全性和可靠性。
微软目前计划:
- 提供安全部署指南、最佳实践和技术,使安全产品更新更安全。
- 减少内核驱动程序访问重要安全数据的需要。
- 通过最近宣布的 VBS 孤岛等技术提供增强的隔离和防篡改功能。
- 启用零信任方法,如高完整性认证,该方法可根据 Windows 原生安全功能的健康状况确定机器的安全状态。
截至 7 月 25 日,受此问题影响的 Windows 电脑已超过 97% 恢复在线,微软现在正着眼于防止未来出现此类问题。