Seccomp (Secure Computing Mode)
Последнее изменение этой страницы: 13:39, 24 декабря 2015.
Seccomp (сокращённо от secure computing mode) средство безопасности компьютера, который предоставляет механизм изолирования приложений в ядре Linux; Он был объединён в ядро Linux, магистраль в версии ядра 2.6.12, который был выпущен в Марте, 8, 2005.[1] seccomp разрешает процессу односторонний переход в «безопасные» состояние, где он не может делать каких-либо системные вызовы, за исключением exit(), sigreturn(), read() and write() для уже открытых файлов дескрипторов. Как только он пытается вызвать другие процессы, ядро завершит процесс с сигналом SIGKILL. В этом смысле он не виртуализирует системные ресурсы, но полностью изолирует процесс от них. Seccomp режим включен через вызов системы с помощью PR_SET_SECCOMP аргумента, или (с версии Linux kernel 3.17[2]) через системный вызов.[3] seccomp режим использовался для записи в файл,/proc/self/seccomp, но этот метод был удалён в пользу prctl().[4] В некоторых версиях ядра, seccomp отключает RDTSC x 86 инструкции. [5]
Содержание
seccomp-bpf
seccomp-bpf это дополнение к seccomp[6], которое позволяет фильтровать вызовы системы, используя настраиваемые политики, реализованные с помощью Berkeley-правил фильтрования пакетов. Он используется OpenSSH и vsftpd так же как и Google Chrome/Chromium веб-браузер в Chrome OS и Линуксе.[7]
Использование
- seccomp был впервые разработан Андреа Арканджели в январе 2005 года для использования в общественной сетке и первоначально был задуман как средство безопасно запущенные ненадежных вычислительных программ.\
- CPUShare Арканджели было единственным известным пользователем этой фичи.[8] Writing in February 2009, Linus Torvalds expresses doubt whether seccomp is actually used by anyone.[9] However, a Google engineer replied that Google is exploring using seccomp for sandboxing its Chrome web browser.[10][11]
- Как версия для Chrome20, seccomp-bpf использовалась, чтобы изолировать Adobe Flash Player.[12]
- Как версия для Chrome, seccomp-bpf использовалась, чтобы изолировать отрисовщики.[13]
- Vsftpd использует виртулизацию seccomp-bpf как версию 3.0.0.[14]
- OpenSSH поддерживал seccomp-bpf с версии 6.0.[15]
- Mbox использует ptrace одновременно с seccomp-bpf, чтобы создать защищённую песочницу с меньшими издержками, чем ptrace только [16]
- LXD, который является "Низкоуровневой оболочой" для контейнеров[17][18]
- Firefox и FirefoxOS используют seccomp-bnf песочницу для дочерних процессов и некоторых плагинов[19][20]
- Cjdns использует seccomp БНФ как один из ее механизмов песочнице, фильтрация системных вызовов, которую он выполняет в системе Linux и строго ограничить его доступ к внешнему миру.[21]
Ссылки
- ↑ PATCH seccomp: безопасная поддержка вычислений
- ↑ Linux kernel 3.17, Section 11. Security
- ↑ Seccomp: add "seccomp" syscall |work=kernel/git/torvalds/linux.git - Linux kernel source tree
- ↑ title =PATCH 1 of 2 move seccomp from /proc to a prctl
- ↑ Счетчик временной метки отключает странности в ядре Linux
- ↑ Ещё один один новый подход к seccomp
- ↑ Безопаснее площадка для вашего Chrome ОС Linux и визуализации
- ↑ Re: stable PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole
- ↑ Re: PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole
- ↑ Re: PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole
- ↑ Re: PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole
- ↑ Chrome 20 on Linux and Flash sandboxing
- ↑ Introducing Chrome's next-generation Linux sandbox
- ↑ vsftpd-3.0.0 and seccomp filter sandboxing is here!
- ↑ Openssh 6.0 выпущенные заметки
- ↑ MBOX
- ↑ LXD an "hypervisor" for containers (based on liblxc)
- ↑ Where We're Going With LXD
- ↑ Firefox Seccomp песочница
- ↑ Firefox Seccomp песочница
- ↑ Добавлена SECCOMP «песочница» и новый вызов администратора API для проверки, если правильно удаляются разрешения
Источники
- Официальный сайт
- Google's Chromium изолирование, LWN.net, August 2009, by Jake Edge
- seccomp-nurse, изолирование фреймворка, основанном на seccomp
- Documentation/prctl/seccomp_filter.txt, часть документации ядра Линукс
- Безопасность в глубине для ПО Линукса: Предотвращение и смягчение ошибок безопасности
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.