Исходный автор (ы) | Андреа Арканджели |
---|---|
Первоначальный выпуск | 8 марта 2005 г.; 15 лет назад (2005-03-08) |
Написано в | C |
Операционной системе | Linux |
Тип | Песочница |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | код.google.com / archive / p / seccompsandbox / wikis / overview.wiki |
В компьютерной безопасности, seccomp (сокращение от безопасный режим вычислений ) - это средство в ядре Linux. seccomp позволяет процессу выполнять односторонний переход в «безопасное» состояние, когда он не может выполнять какие-либо системные вызовы , кроме exit ()
, sigreturn ()
, read ()
и write ()
для уже открытых файловых дескрипторов. Если оно попытается выполнить какие-либо другие системные вызовы, ядро завершит процесс с помощью SIGKILL или SIGSYS. В этом смысле он не виртуализирует ресурсы системы, а полностью изолирует процесс от них.
режим seccomp включается с помощью системного вызова prctl(2)
с использованием аргумента PR_SET_SECCOMP
или (начиная с ядра Linux 3.17) через seccomp(2)
системный вызов. Режим seccomp раньше включался записью в файл / proc / self / seccomp
, но этот метод был удален в пользу prctl ()
. В некоторых версиях ядра seccomp отключает инструкцию RDTSC
x86, которая возвращает количество циклов процессора, прошедших с момента включения питания, используемых для высокоточного отсчета времени.
seccomp-bpf - это расширение seccomp, которое позволяет фильтровать системные вызовы с помощью настраиваемой политики, реализованной с использованием правил Berkeley Packet Filter. Он используется OpenSSH и vsftpd, а также веб-браузерами Google Chrome / Chromium в Chrome OS и Linux. (В этом отношении seccomp-bpf обеспечивает аналогичную функциональность, но с большей гибкостью и более высокой производительностью, чем более старая systrace - которая, похоже, больше не поддерживается для Linux.)
seccomp был впервые разработан Андреа Арканджели в январе 2005 года для использования в общедоступных грид-вычислениях и изначально задумывался как средство безопасного выполнения программ с привязкой к вычислениям. Он был объединен с основной веткой ядра Linux в версии ядра 2.6.12, выпущенной 8 марта 2005 г.
--sandbox
--security-opt
.