过去十天,CrowdStrike 和微软一直在全力协助受大规模 Windows 蓝屏死机问题影响的用户。该问题是由 CrowdStrike 的一个错误更新引起的。除了提供解决方法外,CrowdStrike 已经发布了关于此次宕机的初步事故后审查报告。根据报告,蓝屏死机是由内存安全问题引起的,CrowdStrike 的 CSagent 驱动程序发生了越界读取访问冲突。
微软发布了对 CrowdStrike 驱动程序导致的此次宕机的详细技术分析。微软的分析证实了 CrowdStrike 的发现,即崩溃是由 CrowdStrike 的 CSagent.sys 驱动程序中的越界内存安全错误引起的。csagent.sys 模块在 Windows 电脑上注册为文件系统过滤器驱动程序,以接收有关文件操作(包括创建或修改文件)的通知,这允许包括 CrowdStrike 在内的安全产品扫描保存到磁盘的任何新文件。
事件发生时,微软因允许第三方软件开发商进行内核级访问受到了大量批评。在博客文章中,微软解释了为何为安全产品提供内核级访问:
-
内核驱动程序允许系统范围内的可见性,并能够在启动过程早期加载,以检测启动套件和根套件等威胁,这些威胁可以在用户模式应用程序之前加载。
-
微软提供系统事件回调、文件过滤器驱动程序等功能。
-
内核驱动程序可为高吞吐量网络活动等情况提供更好的性能。
-
安全解决方案希望确保其软件无法被恶意软件、定向攻击或恶意内部人员禁用,即使这些攻击者具有管理员权限。为此,Windows 在启动早期提供早期启动反恶意软件(ELAM)。
然而,内核驱动程序也需要权衡,因为它们在 Windows 最可信的级别运行,增加了风险。微软还致力于将复杂的 Windows 核心服务从内核模式迁移到用户模式,例如字体文件解析。微软建议安全解决方案提供商在可视性和防篡改需求与内核模式操作风险之间取得平衡。例如,他们可以使用在内核模式下运行的最小传感器进行数据收集和执行,从而限制对可用性问题的暴露。其余功能,如管理更新、解析内容和其他操作,可以在用户模式下隔离进行。
在博客文章中,微软还解释了 Windows 操作系统的内置安全功能。这些安全功能提供了多层保护,防止恶意软件和攻击企图。微软将通过微软病毒计划(MVI)与反恶意软件生态系统合作,利用 Windows 内置安全功能进一步提高安全性和可靠性。
微软目前计划:
-
提供安全部署指南、最佳实践和技术,使安全产品更新更安全。
-
减少内核驱动程序访问重要安全数据的需要。
-
通过最近宣布的 VBS 孤岛等技术提供增强的隔离和防篡改功能。
-
启用零信任方法,如高完整性认证,该方法可根据 Windows 原生安全功能的健康状况确定机器的安全状态。
截至 7 月 25 日,受此问题影响的 Windows 电脑已超过 97% 恢复在线,微软现在正着眼于防止未来出现此类问题。微软 Windows 程序管理副总裁 John Cable 最近发表了一篇关于 CrowdStrike 问题的博客文章,其中提到 Windows 必须优先考虑端到端弹性的变化和创新,这正是客户对微软的期望。