因安全研究遭封禁
2020年11月25日
本文观点仅代表个人立场,与雇主及同事无关,所有研究均在个人时间完成
一周前,动视公司因我尝试研究《使命召唤:现代战争/战区》(2019)的网络通信代码安全性而封禁了我的账号。作为用户,我认为当自身可能面临风险时,应当有权进行漏洞研究。多人在线游戏涉及大量网络通信,包括用户与厂商之间(如获取统计数据或用户配置)以及用户之间(创建私人房间或语音聊天)的交互。玩家理应相信正常游戏不会导致安全威胁。
初步调研显示,已有安全研究人员通过逆向工程发现并报告了该游戏前代版本的漏洞[1,2,3,4],这既证明了安全风险的客观存在,也表明动视曾接受漏洞报告的先例。
技术研究过程
为开展研究,我需要逆向分析游戏可执行文件中的网络通信代码以审查内存破坏漏洞。但由于程序被严重混淆,IDA无法正常分析,我不得不从运行中的游戏进程内存转储未混淆的代码——这可能是开发者将我标记为疑似作弊者的关键节点。
为避免影响其他玩家,我在游戏主菜单界面尝试了两种内存读取方法:
- 首先附加WinDbg调试器,游戏立即退出(可能触发封禁)
- 随后尝试暂停进程进行内存转储,仅获取主菜单状态的内存镜像后正常退出
经过数日分析,我因二进制文件体积庞大且结构复杂决定暂缓项目。但一个月后账号仍遭封禁,导致疫情期间通过游戏与亲友建立的联系及一年多的游戏进度全部丢失。
行业对比与反思
此前我在CTF比赛中对《CS:GO》进行逆向工程和模糊测试时从未面临封禁风险。Valve不仅常规接收漏洞报告,还曾向研究者支付18,000美元漏洞奖金。游戏作弊确实是破坏玩家体验的首要威胁,开发者需要综合多种信号检测作弊行为。但动视可能因缺乏安全研究先例,将任何逆向工程尝试都视为恶意行为——普通玩家确实不会附加调试器,因此开发者可能认为无需更多证据即可封禁。
需要明确的是:我从未试图开发或使用作弊工具,也从未为自身或他人篡改游戏数据。至今我仍不清楚具体触发封禁的原因,且没有申诉渠道。更令人担忧的是,这种机制可能导致日常工作需要使用逆向工具的安全人员被误判。
建议与展望
希望动视能解封我的账号,更重要的是建立安全研究豁免机制:包括明确安全研究的合法边界、设置漏洞报告联系渠道(甚至漏洞赏金计划)。随着PC平台反作弊工作的难度和争议性日益增加,动视应当效仿Valve等厂商,与安全研究者建立共生而非对立的关系。通过协作,我们才能共同抵御作弊者和恶意用户的威胁。