检测弱点/漏洞(在游戏中)。科学论文/教程?

逆向工程 视窗 C Python 爪哇 漏洞分析
2021-07-11 10:16:23

我是一名信息学专业的学生,​​另外还有游戏工程。我目前有一个关于逆向代码工程的项目。我的主要任务是收集有关“使用 RCE 检测弱点/漏洞”主题的信息并撰写相关内容。收集信息是很容易的部分,因为通过一些谷歌学者搜索和论文中的参考,我想出了广泛的论文调色板。“程序切片”、“污点分析”、“模糊测试”、“符号执行”……

现在除了收集资料和写论文,我还要做一点儿实现。我的实现究竟做了什么,我必须自己决定。它可以是任何东西,只要它与通过逆向代码工程检测弱点和漏洞有关。现在我的问题是:我实际上从未做过任何逆向代码工程。我不知道我可以做出什么“实现”(以我对 RCE 的一点(没有)实践知识)。我和我的导师讨论了检测游戏中的漏洞,因为我的研究与游戏工程有关,而游戏对我来说是一个有趣的话题。但是,在搜索有关检测游戏漏洞的科学论文时,我一无所获。scholar 中的大部分搜索结果与法律事务有关,其余与 RCE 中的任何内容有关,但游戏。同样使用普通的谷歌搜索,我找不到任何有用的东西(论文/教程),但只有一般的 RCE 新闻或描述等等。我尝试了几种不同词的组合,例如“游戏”、“漏洞”、“弱点”、“逆向代码工程”。

现在我不知道是不是我的搜索方式错误,或者我搜索的东西真的很难(不可能?)找到。

这就是为什么我来这里问你,如果你知道任何好的消息来源。有关检测游戏漏洞的教程和/或科学论文?

也许互联网上没有相关信息。也许(我不知道这一点)甚至可能是,检测游戏漏洞的任务对于几乎没有 RCE 知识的人来说要求太高了,我什至不应该尝试这样做。然后我将不得不编程其他东西(更容易)。但话又说回来,我不知道该怎么办。程序切片算法?我不知道某些实现的难度级别。因此,如果您能就其他(除了游戏)的实施方式给我任何提示,我将不胜感激。此外,有关实施替代方案的优秀教程的链接会很好。

我在 Windows 上工作(99% 的时间)并且我能够使用 Java、C++、C、C#、Python 和 Haskell。

我非常感谢您能提供的任何帮助。

2个回答

在游戏中查找安全漏洞的方法与在其他应用程序中查找安全漏洞的方法没有什么不同。

正如此处所讨论的,“闭源产品中的大多数漏洞都是通过模糊测试和静态逆向工程发现的......通常您不需要分析整个程序,而只需分析用户输入的入口点。”

在游戏环境中,入口点通常是网络数据(服务器到客户端、客户端到客户端,如果您有权访问服务器二进制文件,则为客户端到服务器(如果支持,则为服务器到服务器) )、保存的游戏文件、不可执行的模组,如“皮肤”等。

例如,这是我几年前发现并报告的一个游戏漏洞:

尽管开发该漏洞需要 RCE,但在没有 RCE 的情况下发现了该漏洞。尽管如此,您可以将其视为包含安全漏洞的游戏示例。

关于寻找闭源产品中的漏洞,有无数的论文、教程和书籍可供使用。Shellcoder's Handbook是我想到的一本。

这是一本很好的(也许开始显示它的时代)书Exploiting Online Games: Cheating Massively Distributed Systems

它有关于游戏黑客的一般介绍,关于逆向和利用的部分。你会在那里找到你需要的一切。您似乎不需要为您的项目进行二进制反转。听起来任何关于弄清楚客户端或服务器如何工作的项目都可以做 - 即使它们在 Lua 中 :)