一种思路,闲时想的,不太可能实现,仅供YY 一种利用windows Virtualization-based security机制防范游戏外挂的方法。 简述:GREEN ZONE 计划 若一个用户的windows系统内活跃的驱动和pcie设备均在白名单范围内,那么我们可以认为此用户是一个clean system user,没有使用游戏外挂。我们把此用户在本地和后台标识为clean system user。然后把这个标识信息实时共享给 游戏运营商,他们根据此信息将所有的clean system user玩家匹配在一起游玩。这样就为这些玩家提供了一个绿色的安全环境GREEN ZONE,免受外挂影响。此方案不会拦截驱动或设备,仅做标识。外挂用户依然用它的外挂,丝毫不受影响。 此方案优点: 1)Virtualization-based security vtl1 攻破难度极高,形成游戏外挂不可攻破的技术壁垒 2)游戏外挂没有驱动的辅助,只靠ring3的能力,根本打不过游戏反作弊软件。 3)除了一种外挂无法打击“旁路或串接显卡输出信号,对信号进行AI识图处理”,其他的均能有很好的效果。 4) windows系统借助已有的VBS功能,只需增加驱动加载时的白名单比对,以及硬件设备的监控,标识的维护,整体代码实现代价可控。 5)后台服务器、带宽以及白名单后期维护 代价可控。 6)正面积极收益高。
整体方案如下: 在Virtualization-based security的VTL1层内置一个驱动签名白名单,此白名单仅包含windows自身的驱动,主流主板/网卡/显卡/声卡驱动,常用办公软件驱动,主流游戏相关驱动,要求这些驱动100%不包含游戏外挂功能。(若白名单过多,可考虑云白名单) 在VTL1层定义一个标识 clean system user,具有两种状态,Y或N。它将以RSA公钥加密(防止上传过程中被篡改)保存在受保护的内存里,并受Credential Guard保护。 在用户登录系统后,将满足以下两个条件的系统在VTL1层将clean system user标识置为Y 1)当前已加载的驱动仅为白名单的驱动 2)主板pcie插槽上有且仅有一张显卡(规避dma外挂) 此标识会根据加载的驱动或安装的设备实时动态变化,确保此标识能正确反映当前系统是否符合clean system user的条件。系统将定时或随机间隔将加密的标识上传到后台。 后台将维护此用户的clean system user状态,并根据前面的上传间隔时间定义clean system user/Y的失效时间;但是 clean system user/N的失效时间要尽量长,可以设置成几十小时,在此期间即使收到clean system user/Y标识也不再更新成 clean system user/Y状态。失效时间的设计是为了避免通过卡时间或阻断标识上传通信而恶意绕过。
然后将 clean system user标识信息共享给steam等平台和游戏运营商,游戏运营商可以在为游戏开局分配队伍时,实时查询用户是否为clean system user, 并将这些用户分配到一起,这样就能保证clean system user有一个绿色的游戏环境。 随着白名单的不断运营与优化,以及 GREEN ZONE概念深入人心,会有越来越多的用户主动成为clean system user, 以及更多的游戏运营商加入,受游戏外挂影响的用户会越来越少,游戏环境会越来越好。