Seccomp和系统调用过滤
December 8th, 2009
Seccomp v1
Seccomp是2005年Andrea Arcangeli在Linux内核加的一个功能,为了给*Grid计算中的应用*提供sandbox模型。运行在Seccomp模式下的进程,只能执行下面几个系统调用:
read(), write(), exit(), sigreturn()
通过Seccomp沙箱,和4个api的限制,保证进程不会影响到其他进程。
Seccomp v2
2009年的时候,Ingo Molnar扩展了Seccomp的实现,让其支持更加全面的系统调用过滤(syscall filtering)的功能。Google Chrome Browser好像用的沙箱模型就是类似Seccomp的系统调用过滤。
Filter的规则是一个数组,每个元素包括两个字段,分别是系统调用名和过滤规则:
{ { "sys_read", "fd == 0" }, { "sys_write", "fd == 1" }, { "sys_sigreturn", "1" }, { "sys_gettimeofday", "tz == NULL" }
上面的第一条规则要求进程只能以fd = 0这个参数,调用sys_read。
参考资料
[1] Seccomp Wiki http://en.wikipedia.org/wiki/Seccomp
[2] Seccomp and sandboxing http://lwn.net/Articles/332974/
[3] seccomp: Add bitmask of allowed system calls http://lwn.net/Articles/332987/
小李贼你好,还是我,请教你一个问题.
请问怎么样自己编译一个GDI++的二进制副本?
我目前只想知道 怎么编译出gdi++.dll这个文件就够了.
它都需要哪些源文件?
请说的详细点.
麻烦你了,如果有时间 就发我邮箱里,没时间就算了.
还有 有没有办法修改源代码不用ATL库?