限制Linux应用程序的系统调用访问权限

问题描述 投票:4回答:4

假设具有两种不同操作模式的Linux二进制文件foobar:>

  • 模式A:行为良好的模式,其中使用了系统调用abc
  • 模式B:使用系统调用abcd的错误模式。
  • [系统调用abc是无害的,而系统调用d则具有潜在的危险,可能导致机器不稳定。

进一步假设应用程序在两种模式中的哪一个是随机的:应用程序以模式A(概率为95%)和模式B(概率为5%)运行。该应用程序没有源代码,因此无法修改,只能按原样运行。

我想确保应用程序无法执行系统调用d。当执行系统调用d时,结果应为NOOP或应用程序立即终止。

如何在Linux环境中实现?

假设Linux二进制foobar具有两种不同的操作模式:模式A:行为良好的模式,在其中使用syscall a,b和c。模式B:一种出错的模式,在该模式下,系统调用a,b,c ...

linux security linux-kernel hook system-calls
4个回答
7
投票

应用程序是否静态链接?


6
投票

systrace似乎完全可以满足您的需求。从Wikipedia page


3
投票

[这是sandboxing的一种可能的应用(特别是基于规则的执行)。一种流行的实现是SELinux


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.