使用WinAPI挂钩对程序进行沙盒处理

时间:2011-01-02 21:40:50

标签: security winapi hook sandbox native-code

我想沙箱化本机代码并使用挂钩的WinAPI和系统函数阻止或允许此程序执行某些操作,如读/写文件,修改Windows注册表,使用Internet连接。这样做是否是一种安全可靠的方法?该程序绕过这样的安全层有多难?

3 个答案:

答案 0 :(得分:3)

我已经检查了你的问题并且它们都与从一开始看似无效的任务有关,这就是为什么:你正在尝试保护一个应用程序并且你已经准备好为此重新发明轮子了。有几种方法(和许多现成的解决方案)来解决您的问题。因此,您需要查看现有解决方案,而不是编码。

方法是:

  1. 使用Windows权限进行限制 访问您的应用程序 资源
  2. 采取VMWare或Parallels或 其他虚拟化平台和 在那里运行你的程序
  3. 采取沙盒SDK(如 BoxedApp)并“包装”你的 应用

答案 1 :(得分:1)

防病毒应用尝试解决几乎相同的问题,但没有取得多大成功。
1。你永远不会知道甚至可以使用最常见的操作。
2。有系统调用,所以程序根本不必使用winapi。

答案 2 :(得分:1)

+1汉斯,但如果你真的喜欢它,那么我可以推荐Easyhook。我亲自在Win XP,Vista和7中成功使用过它。我不知道它是多么可绕过但是其他替代方案确实存在 - madSHI钩子,如果你想以官方的方式,试试微软的Detours。