Seccomp
seccomp | ||
---|---|---|
Información general | ||
Tipo de programa | Aislamiento de procesos | |
Autor | Andrea Arcangeli[1] | |
Lanzamiento inicial | 4 de julio de 2004 | |
Licencia | LGPL-2.1 | |
Estado actual | En desarrollo | |
Información técnica | ||
Programado en | C | |
Plataformas admitidas | x86, x86_64 , x32, arm, aarch64, mips, mipsel, mips64, mipsel64, mips64n32, mipsel64n32, parisc, parisc64, ppc, ppc64, ppc64le, s390, s390x, riscv64.[2] | |
Versiones | ||
Última versión estable | 2.5.1 (info) ( 20 de octubre de 2020) | |
Enlaces | ||
Secure Computing mode, abreviado en seccomp, es una facilidad del kernel Linux que permite limitar las llamadas al sistema que un proceso puede realizar.[1]
Motivación
[editar]Puede ser dañino permitir a un proceso realizar cualquier llamada al sistema.[3] Por ejemplo, si un proceso es comprometido, es habitual que el atacante ejecute código que lance llamadas al sistema que el proceso no lanzaría en una ejecución normal.[3] Por tanto reducir las llamadas al sistema que proceso puede realizar es útil.[3]
Modos de funcionamiento
[editar]Inicialmente seccomp se propuso como una forma para que un proceso se ejecute de forma que solo se pueden realizar las llamadas al sistema exit()
, sigreturn()
y sobre ficheros ya abiertos realizar read()
y write()
.[1] Cualquier otra llamada al sistema realizada por el proceso daría como resultado un SIGKILL.[4] Esta forma de operar, llamada el modo restringido, provee un fuerte aislamiento pero es poco útil por ser demasiado limitante.[1] Por eso posteriormente se introdujo el modo filtro de seccomp que introduce flexibilidad permitiendo a los procesos definir la política de filtrado de llamadas del sistema que utiliza y añadir un nuevo programa de filtrado al kernel para aplicarselo.[1][3] El filtrado de las llamadas se expresa con un lenguaje extensión del clásico Berkeley Packet Filter (BPF), usado en filtros de socket, en el que los datos sobre los que se opera están relacionados con las llamadas al sistema que se están realizando: Número de llamada del sistema y argumentos de la llamada al sistema.[3][5][6] Por eso a este modo de funcionamiento también se le llama seccomp-BPF.[6]
Referencias
[editar]- ↑ a b c d e Linux Security Modules (LSMs) vs Secure Computing Mode (seccomp). Shaun Ruffell. 18 de marzo de 2020
- ↑ libseccomp
- ↑ a b c d e Anatomy of the seccomp. 4 de febrero de 2019
- ↑ A seccomp overview. Jake Edge. 2 de septiembre de 2015
- ↑ The Linux Kernel 4.16.0. Seccomp BPF (SECure COMPuting with filters). kernel.org
- ↑ a b Linux Seccomp Filters. BrookeYang(杨阳). 12 de diciembre de 2019
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.