【发布时间】:2011-01-09 21:41:49
【问题描述】:
假设一个 Linux 二进制文件 foobar 有两种不同的操作模式:
- 模式 A:使用系统调用
a、b和c的行为良好的模式。 - 模式 B:使用系统调用
a、b、c和d的错误模式。
系统调用a、b 和c 是无害的,而系统调用d 具有潜在危险,可能导致机器不稳定。
进一步假设应用程序运行的两种模式中的哪一种是随机的:应用程序以 95% 的概率以模式 A 运行,以 5% 的概率以模式 B 运行。该应用程序没有源代码,因此无法修改,只能按原样运行。
我想确保应用程序无法执行系统调用d。执行 syscall d 时,结果应该是 NOOP 或应用程序立即终止。
如何在 Linux 环境中实现这一点?
【问题讨论】:
-
您能否澄清一下您的问题中“概率”的含义,以防有什么误解?
-
帕斯卡:当然!帖子已编辑并进行了澄清。对于这个问题,“模式选择”是随机的。
标签: linux security linux-kernel hook system-calls