假设一个 Linux 二进制文件foobar
有两种不同的操作模式:
- 模式 A:一种行为良好的模式,其中
a
使用b
和系统调用c
。 a
模式 B:使用系统调用、b
和c
的出错模式d
。
Syscalla
和是无害的,b
而c
syscalld
具有潜在危险,可能导致机器不稳定。
进一步假设应用程序运行的两种模式中的哪一种是随机的:应用程序以模式 A 运行的概率为 95%,而模式 B 的运行概率为 5%。该应用程序没有源代码,因此无法修改,只能按原样运行。
我想确保应用程序无法执行 syscall d
。执行系统调用时d
,结果应该是 NOOP 或应用程序立即终止。
如何在 Linux 环境中实现这一点?