标题中提到的侏罗纪公园场景因对那些有技术知识的人来说听起来多么荒谬而臭名昭著。但它也说明了在我看来,网络安全存在一个巨大的漏洞,尤其是物联网设备——一旦攻击者发现服务器、摄像头或婴儿监视器正在运行 linux,他们就会立即知道它是如何工作的。他们知道像这样的命令sudo
是多汁的大目标,他们知道 shell 访问将带来大量有用的工具,如ls
和cat
.
那么为什么操作系统混淆不是更多的事情呢? 我不是在谈论只是将版本隐藏在网络标题中。与 JavaScript 缩小或混淆类似,我说的是在操作系统本身中更改二进制文件和文件路径的名称。如果操作系统有ha7TrUO
andRRI6e29
命令而不是sudo
and ,那么整个攻击类别是否实际上是无用的ls
?想象一下,一个黑客以某种方式获得了远程 root 访问权限——如果他们不知道任何命令,他们甚至会做什么?
对于编译器来说,实现将相当容易。以“重命名此函数及其所有调用”为例。您可以为操作系统编译器和应用程序编译器指定相同的随机名称,并且它们可以相互通信。但是即使应用程序的安全性很差并且容易受到 bash 注入,这种攻击也是徒劳的。
显然,这种技术不能在所有场景中都使用。撇开人工系统管理员维护的服务器等场景不谈,在我看来,任何由自动化管理的设备或服务器都是这种防御的主要候选者。
我想问题需要更具体一点:
- 描述的操作系统混淆是否被广泛使用而我只是没有遇到过?
- 如果没有广泛使用,使用的实际或技术障碍是什么?