knownsec内部ctf-2023-06-wp
Seccomp(全称securecomputing mode)是linux kernel支持的一种安全机制。在Linux系统里,大量的系统调用(systemcall)直接暴露给用户态程序。但是,并不是所有的系统调用都被需要,而且不安全的代码滥用系统调用会对系统造成安全威胁。通过seccomp,我们限制程序使用某些系统调用,这样可以减少系统的暴露面,同时是程序进入一种“安全”的状态。 2005年,Linux 2.6.12中的引入了第一个版本的seccomp,通过向`/proc/PID/seccomp`接口中写入“1”来启用过滤器,最初只有一个模式:严格模式(strict mode),该模式下只允许被限制的进程使用4种系统调用: *read()* , *write()* , *_exit()* , 和 *sigreturn()* ,需要注意的是,`open()`系统调用也是被禁止的,这就意味着在进入严格模式之前必须先打开文件。一旦为程序施加了严格模式的seccomp,对于其他的所有系统调用的调用,都会触发 `SIGKILL`并立即终止进程。