是否可以编辑“/dev/random”设备以使我的计算机上的 RNG 可预测?

是否可以编辑“/dev/random”设备以使我的计算机上的 RNG 可预测?

是否可以通过超级用户访问权限来编辑我的/dev/random/dev/urandom以某种方式使操作系统生成的随机数可预测?

我想知道如果我将一个可执行文件(例如游戏)发送给依赖系统 RNG 的人,他们是否可以操纵他们自己的程序/dev/random来破解我的程序,以便他们可以预测程序的随机输出?

答案1

/dev/random工作方式/dev/urandom是调用内核代码来计算下一个字节。

您可以用自己的代码替换此代码,重新编译内核,重新启动,并得到可预测的顺序。使用超级用户访问权限,您还可以实时修补现有内核以达到相同的效果(前提是您清楚系统上使用哪个内核)。

是的,这是可以做到的,但是需要付出相当大的努力。

了解如果我将一个可执行文件(例如游戏)发送给依赖系统 RNG 的人,他们是否可以操纵自己的 /dev/random 来破解我的程序,以便他们可以预测程序的随机输出?

是的,他们可以。现在 XY 问题是你想用你的程序做什么,以便其他人可以利用它。

一般情况下,请记住,其他人可以对您的程序的汇编代码进行逆向工程,并进行任何他们想要的更改。与其摆弄内核,不如简单地查看程序中您从 读取的位置/dev/random,并将这些读取更改为始终返回零(或类似值)。

因此,无论您想用什么方法向他人隐瞒秘密,都不太可能奏效。但我们不知道,除非您告诉我们您的 Y 的 X(“您想实现什么目标?”)。

相关内容