Кіріспе
Linux ядросының секомп үшін құмдық қоршау (қауіпсіз есептеудің қысқаша атауы) - Linux ядросындағы компьютерлік қауіпсіздік құралы. seccomp процеске бір жолды "қауіпсіз" күйге ауысуға мүмкіндік береді, онда ол жүйелік шақыруларды жасай алмайды, тек шығу, қайтару, оқуға және жазуға ғана рұқсат береді. Егер ол басқа жүйелік шақыруларды жасауға тырысса, ядро оқиғаны тіркейді немесе процессті SIGKILL немесе SIGSYS арқылы тоқтатады. Осы мағынада, ол жүйенің ресурстарын виртуалды емес, процестерді олардан толығымен оқшаулайды. seccomp режімі PR SET SECCOMP аргументін пайдалана отырып, жүйелік шақыру арқылы немесе (Linux ядросы 3.17-ден бастап) жүйелік шақыру арқылы іске қосылады. seccomp режімі файлға жазу арқылы іске қосылатын, /proc/self/seccomp, бірақ бұл әдіс prctl пайдасына алынып тасталды. Кейбір өзек нұсқаларында seccomp RDTSC x86 нұсқаулығын өшіреді, ол қуаттандырылғаннан бері өткен процессор циклдерінің санын қайтарады, ол жоғары дәлдікті уақыт белгілеу үшін қолданылады. seccomp bpf - бұл Berkeley Packet Filter ережелерін қолдана отырып, конфигурацияланатын саясатты қолдана отырып, жүйелік шақыруларды сүзгілеуге мүмкіндік беретін seccomp кеңейтуі. OpenSSH оны қолданады (Бұл жағынан seccomp bpf Linux үшін қолдау таппаған ескі systrace-ге ұқсас функционалдылыққа қол жеткізеді, бірақ көбірек икемділік пен жоғары өнімділікпен). Кейбіреулер seccomp-ті OpenBSD pledge және FreeBSD capsicum-пен салыстыруға болады деп санайды.
seccomp (short for secure computing) is a computer security facility in the Linux kernel. seccomp allows a process to make a one way transition into a "secure" state where it cannot make any system calls except exit , sigreturn , read and write to already open file descriptors. Should it attempt any other system calls, the kernel will either just log the event or terminate the process with SIGKILL or SIGSYS. In this sense, it does not virtualize the system's resources but isolates the process from them entirely. seccomp mode is enabled via the system call using the PR SET SECCOMP argument, or (since Linux kernel 3.17) via the system call. seccomp mode used to be enabled by writing to a file, /proc/self/seccomp, but this method was removed in favor of prctl In some kernel versions, seccomp disables the RDTSC x86 instruction, which returns the number of elapsed processor cycles since power on, used for high precision timing. seccomp bpf is an extension to seccomp that allows filtering of system calls using a configurable policy implemented using Berkeley Packet Filter rules. It is used by OpenSSH (In this regard seccomp bpf achieves similar functionality, but with more flexibility and higher performance, to the older systrace—which seems to be no longer supported for Linux.) Some consider seccomp comparable to OpenBSD pledge(2) and FreeBSD capsicum(4).
Тарих
seccomp алғаш рет 2005 жылдың қаңтарында Andrea Arcangeli-мен қоғамдық желілік есептеулерде пайдалану үшін әзірленді және бастапқыда сенімді емес есептеулерге байланысты бағдарламаларды қауіпсіз орындау құралы ретінде қарастырылды. Ол 2005 жылы 8 наурызда шыққан 2.6.12 kernel нұсқасында Linux ядросының негізгі желісіне біріктірілді.