杀毒软件本该清理威胁,结果却把威胁“送货上门”

安全圈这些年见过太多离谱漏洞,但 RedSun 还是属于那种会让研究员先愣两秒、再忍不住笑出来的类型。GitHub 用户 Nightmare-Eclipse 公开了一个名为 RedSun 的漏洞仓库,描述非常直接,甚至带点嘲讽意味:Windows Defender 在发现一个恶意文件带有“cloud tag”后,出于某种诡异的处理逻辑,竟然会把这个文件重新写回它原来的位置。研究者给出的 PoC 利用的正是这个行为,目标是覆盖系统文件,并进一步拿到管理员权限。

这件事之所以格外扎眼,是因为它挑战了普通用户对安全软件最朴素的理解。大家默认杀毒软件的职责是“删除、隔离、阻止”,哪怕误报,也通常是把文件关进小黑屋,而不是像搬家公司一样,确认一下这是危险品,然后认真把它搬回原处。RedSun 最荒诞的地方正在这里:保护机制并不是简单地失效,而是疑似在某种特定条件下,反过来成了攻击链的一部分。

从 GitHub 页面披露的信息来看,这个仓库目前相当简洁,只有 README、一个 C++ PoC 文件以及配图。它没有堆砌长篇技术说明,而是把核心机制说得非常直白:恶意文件、云标签、重写原路径、覆盖系统文件、提权。信息量不算多,但足够让懂行的人意识到严重性——这是典型的本地提权问题,而且如果逻辑成立,触发点恰好落在 Defender 这种装机量极高、默认启用的系统级组件上,影响面不会小。

“云标签”为什么会变成危险开关

要理解这个漏洞为何重要,得先聊聊现代杀毒软件这几年是怎么工作的。传统杀毒依赖本地特征库,像拿一本厚厚的黑名单手册对照扫描;而今天的大部分安全产品,尤其是 Defender 这类系统级产品,越来越依赖云端信誉、样本回传、实时判定。简单说,电脑发现一个可疑文件,不一定马上本地拍板,而是可能去云端问一句:这玩意儿你们认识吗?风险高不高?

问题就出在这里。云查杀本身不是坏事,恰恰相反,它是今天大规模安全防护的核心能力之一。没有云端,特征库更新速度根本追不上攻击样本变种的速度。可一旦“云端判定”与“本地修复动作”之间的衔接设计得不严密,就可能出现非常反直觉的结果:某个本该被删除或隔离的对象,因为元数据、标签状态、回滚逻辑或者恢复流程,被系统重新放回了一个本不该去的位置。

RedSun 指向的正是这种安全产品内部状态机的缝隙。它未必是某一行代码写错那么简单,更像是多个安全功能叠在一起之后,出现了意料之外的化学反应。云标签、文件修复、检测后处理、权限边界,这些模块单独看可能都“合理”,但组合起来却成了问题。安全领域最怕的往往就是这种“设计层面的误会”——每个零件都自认为在尽责,拼起来却把门锁装反了。

更微妙的一点是,Defender 不是普通第三方软件。它深度绑定 Windows,权限高、覆盖广、默认存在。也就是说,一旦这类组件出现能被稳定利用的提权缺陷,其风险远高于某个冷门工具出问题。攻击者不需要说服用户安装额外安全软件,也不需要等待企业采购部署,目标系统大概率已经自带了“舞台”和“道具”。

这不是第一次:安全软件出错,后果往往比普通软件更重

如果你长期关注安全新闻,会发现一个略显讽刺的规律:最容易制造系统级事故的,常常正是那些号称负责“系统安全”的组件。原因不复杂,安全软件为了拦住攻击,通常需要深度介入系统,监控文件、挂钩进程、注入驱动、接管扫描流程。它拿到的权力越大,一旦逻辑出问题,破坏力也越大。

历史上类似案例并不少见。无论是杀毒引擎的解压模块被恶意压缩包打穿,还是 EDR 产品因为驱动级缺陷导致本地提权,抑或浏览器、办公软件的“保护模式”被绕过,教训都很一致:防护软件不是站在系统外面挥哨子的保安,它其实是拿着总钥匙住在机房里的人。一旦这把钥匙被利用,攻击者往往能走得更深。

这也是为什么 RedSun 虽然从形式上看只是一个 PoC 仓库,却很容易引发安全圈高度关注。它提醒我们,安全产品并非天然正义、天然可靠,它们只是更高权限的软件而已。高权限软件需要更苛刻的审计、更保守的设计,以及更强的“失败时降级”能力。说白了,普通应用出 bug,可能是闪退;安全引擎出 bug,可能就是系统文件被覆盖、权限边界被抹平。

从行业竞争角度看,这件事对微软也有一点象征意义。Windows Defender 这些年口碑提升很快,已经从“系统附送凑合能用”变成很多机构默认接受的基础防护方案。微软在安全业务上的投入也越来越大,产品线横跨终端、身份、云、威胁情报。但越是成为默认选项,越要接受更高标准的审视。因为默认开启的软件,不只是功能入口,更是信任入口。

真正值得追问的,是默认安全还能不能继续靠“黑箱”运行

RedSun 带来的讨论,不该停在“微软会不会修”这一层。更值得追问的是:当终端安全越来越依赖云判定、自动修复和复杂策略联动时,用户和管理员是否还看得清它到底做了什么?很多现代安全产品都像一个高度自动化的黑箱,平时安静运行,遇到问题弹个提示框,背后的决策链条却几乎不可见。

这种黑箱化在大多数时候提高了使用门槛的友好度,但在出事时也制造了巨大的理解障碍。企业安全团队经常遇到的现实是,某个文件被拦了,为什么被拦不知道;某个进程被终止了,依据是什么不透明;更糟的是,某个对象被“恢复”或“修复”到了哪里,日志可能都不够直观。对于普通用户来说,安全产品像医生;可对专业管理员来说,它更像一台自动手术机器人,手很稳,但内部路径最好别是谜语。

这正是 RedSun 让人不安的地方。它提醒行业,自动化防护做得越聪明,越要把可解释性、审计日志、最小权限和回滚边界做好。否则,今天是“重写恶意文件”,明天就可能是“错误恢复敏感对象”,后天甚至是某个云策略误触发大面积故障。过去几年,从供应链攻击到终端安全平台误更新导致的全球 IT 混乱,行业已经见过太多“安全系统出事,波及比攻击本身还大”的场面。

另外还有一个争议点也值得讨论:PoC 公开到什么程度才合适?研究者显然觉得这个漏洞“过于好笑”,所以不想只丢结论,干脆放出验证代码。支持者会说,公开 PoC 能迫使厂商更快响应,也方便独立研究者验证;反对者则担心,本地提权一旦门槛不高,公开细节可能会被恶意样本迅速吸收。这个问题没有标准答案,但每次类似事件出现,都会再次拷问漏洞披露的边界感。

接下来会怎样:补丁会来,但信任修复没那么快

从经验看,这类公开仓库一旦引发传播,厂商通常会迅速介入复现、评估和修补。尤其当问题涉及系统默认组件、还能实现提权时,响应优先级一般不会低。对普通 Windows 用户来说,最现实的建议很朴素:及时安装系统和 Defender 平台更新,不要因为“这是微软自家的安全组件”就掉以轻心;对企业管理员来说,则要尽快关注相关公告、检测异常文件恢复行为、审查高价值主机上的 Defender 日志和权限变更痕迹。

但补丁能修的是漏洞,未必能立刻修复信任。因为 RedSun 暴露的不只是一个具体缺陷,还包括一种系统性焦虑:当防护软件越来越复杂,我们到底是在获得更可靠的保护,还是在不断把更多关键路径交给一个普通人看不见、管理员也未必说得清的自动化系统?这不是微软一家的问题,几乎所有终端安全厂商都绕不开。

技术行业最爱讲“默认安全”,听上去像一个完美口号。可真正成熟的默认安全,不应该只是默认开启、默认扫描、默认上传云端判定,它还应该默认可审计、默认可解释、默认在出错时尽量少伤害系统。否则,防护能力越强,用户越像坐在一辆密封性很好的装甲车里——很安心,但也不知道方向盘到底在谁手里。

RedSun 之所以会火,不是因为它名字起得好,也不只是因为 README 写得辛辣,而是因为它精准戳中了现代安全产品最尴尬的一面:有时候,最危险的不是门外的攻击者,而是门内那个权限太大、动作太快、又不太愿意解释自己的“守卫”。