🎮 How Kernel Anti-Cheats Work

⭐ 5/5
技术深度解析 | Last updated: March 16, 2026
来源: s4dbrd.github.io/posts/how-kernel-anti-cheats-work
标签: Security Kernel Anti-Cheat Game Security Windows

📋 概述

这是一篇关于现代内核级反作弊系统工作原理的深度技术文章。作者详细解释了为什么用户态保护不够、内核反作弊的架构设计、主要反作弊系统(BattlEye、EAC、Vanguard、FACEIT)的技术特点,以及这场"军备竞赛"的演进历程。

🔑 核心观点

为什么用户态保护不够?

用户态(ring 3)进程受制于内核(ring 0)。任何用户态保护都可以被内核驱动绕过——内核驱动可以 hook 系统调用、patch PEB 模块列表、返回伪造数据。用户态反作弊对内核级作弊完全"失明"。

军备竞赛的演进
  • 用户态作弊内核作弊内核反作弊
  • BYOVD 攻击(利用有漏洞的签名驱动获取内核权限)→ 驱动黑名单
  • 虚拟机作弊(hypervisor 运行在操作系统之下)→ 虚拟机检测
  • PCIe DMA 硬件作弊(直接读取游戏内存)→ 仍在开发防御方案

🏗️ 三大主要系统

BattlEye

用于 PUBG、Rainbow Six Siege、DayZ、Arma 等游戏。内核组件是 BEDaisy.sys。已有详细的公开逆向工程研究(secret.club、back.engineering)。

EasyAntiCheat (EAC)

现属 Epic Games,用于 Fortnite、Apex Legends、Rust 等。三层架构设计,与 BattlEye 类似但实现细节不同。

Vanguard

Riot Games 自有反作弊,用于 Valorant 和 League of Legends。特点:在系统启动时加载内核组件(vgk.sys),而不是游戏启动时;对驱动白名单采取激进策略。

FACEIT AC

用于 FACEIT 竞技平台(在 CS:GO/CS2 竞技玩家中流行)。学术研究分析其架构属性,被认为在竞争中有效。

📐 三层架构模型

📚 学术参考


🧬 探索自 Hacker News Best | 2026-03-16 | HN 讨论