stringtranslate.com

Seccomp

seccomp (abreviatura de secure computing [1] ) es una función de seguridad informática del núcleo Linux . seccomp permite que un proceso realice una transición unidireccional a un estado "seguro" en el que no puede realizar ninguna llamada al sistema excepto exit(), sigreturn(), read()y a descriptores de archivoswrite() ya abiertos . Si intenta realizar cualquier otra llamada al sistema, el núcleo simplemente registrará el evento o finalizará el proceso con SIGKILL o SIGSYS . [2] [3] En este sentido, no virtualiza los recursos del sistema, sino que aísla el proceso de ellos por completo.

El modo seccomp se habilita a través de la prctl(2)llamada al sistema usando el PR_SET_SECCOMPargumento, o (desde el kernel de Linux 3.17 [4] ) a través de la seccomp(2)llamada al sistema. [5] El modo seccomp solía habilitarse escribiendo en un archivo, /proc/self/seccomppero este método fue eliminado a favor de prctl(). [6] En algunas versiones del kernel, seccomp deshabilita la instrucción RDTSC x86 , que devuelve el número de ciclos de procesador transcurridos desde el encendido, utilizado para una temporización de alta precisión. [7]

seccomp-bpf es una extensión de seccomp [8] que permite filtrar llamadas del sistema utilizando una política configurable implementada utilizando reglas de Berkeley Packet Filter . Lo utilizan OpenSSH [9] y vsftpd , así como los navegadores web Google Chrome/Chromium en ChromeOS y Linux. [10] (En este sentido, seccomp-bpf logra una funcionalidad similar, pero con más flexibilidad y mayor rendimiento, al antiguo systrace , que parece que ya no es compatible con Linux ).

Algunos consideran que seccomp es comparable a OpenBSD Promesa (2) y FreeBSD Capsicum (4) [ cita requerida ] .

Historia

Seccomp fue ideado por primera vez por Andrea Arcangeli en enero de 2005 para su uso en computación en red pública y originalmente estaba pensado como un medio para ejecutar de forma segura programas no confiables. Se fusionó con la línea principal del núcleo Linux en la versión 2.6.12 del núcleo, que se lanzó el 8 de marzo de 2005. [11]

Software que utiliza seccomp o seccomp-bpf

Referencias

  1. ^ seccomp(2) : "La llamada al sistema seccomp() opera en el estado de Computación Segura (seccomp)" –  Manual del programador de Linux – Llamadas al sistema
  2. ^ Corbet, Jonathan (2 de septiembre de 2015). "Una visión general de la seccomp". lwn . Consultado el 5 de octubre de 2017 .
  3. ^ "Documentación/prctl/seccomp_filter.txt" . Consultado el 5 de octubre de 2017 .
  4. ^ "Núcleo Linux 3.17, Sección 11. Seguridad". kernelnewbies.org . 2013-10-05 . Consultado el 2015-03-31 .
  5. ^ "seccomp: add "seccomp" syscall". kernel/git/torvalds/linux.git - Árbol de fuentes del kernel de Linux . kernel.org . 2014-06-25 . Consultado el 2014-08-22 .
  6. ^ Arcangeli, Andrea (14 de junio de 2007). "[PARCHE 1 de 2] mover seccomp de /proc a prctl" . Consultado el 2 de agosto de 2013 .
  7. ^ Tinnes, Julien (28 de mayo de 2009). "El contador de marca de tiempo desactiva rarezas en el núcleo de Linux". cr0 blog . Consultado el 2 de agosto de 2013 .
  8. ^ Corbet, Jonathan (11 de enero de 2012). "Otro nuevo enfoque para la seccomp". lwn . Consultado el 2 de agosto de 2013 .
  9. ^ ab "Notas de la versión de OpenSSH 6.0" . Consultado el 14 de octubre de 2013 .
  10. ^ Tinnes, Julien (19 de noviembre de 2012). "Un espacio de juego más seguro para los renderizadores de Linux y Chrome OS". The Chromium Blog . Consultado el 2 de agosto de 2013 .
  11. ^ "[PATCH] seccomp: soporte informático seguro". Historial del kernel de Linux . Repositorios git de Kernel.org. 2005-03-08. Archivado desde el original el 2013-04-15 . Consultado el 2013-08-02 .
  12. ^ "Filtro Seccomp en Android O". Blog de desarrolladores de Android .
  13. ^ "systemd.exec — Configuración del entorno de ejecución". freedesktop.org . Consultado el 14 de octubre de 2017 .
  14. ^ Otubo, Eduardo (15 de septiembre de 2017). "Solicitud de incorporación de nuevo modelo de Sandboxing de QEMU". Archivo de la lista de correo qemu-devel .
  15. ^ van de Ven, Arjan (28 de febrero de 2009). "Re: [stable] [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole". Lista de correo del kernel de Linux . Consultado el 2 de agosto de 2013 .
  16. ^ Torvalds, Linus (28 de febrero de 2009). "Re: [PATCH 2/2] x86-64: seccomp: arreglo de un agujero en la llamada al sistema 32/64". Lista de correo del kernel de Linux . Consultado el 2 de agosto de 2013 .
  17. ^ Gutschke, Markus (6 de mayo de 2009). "Re: [PARCHE 2/2] x86-64: seccomp: soluciona el problema de la falla en llamadas al sistema 32/64" . Consultado el 2 de agosto de 2013 .
  18. ^ Gutschke, Markus (6 de mayo de 2009). "Re: [PATCH 2/2] x86-64: seccomp: soluciona el problema de la llamada al sistema 32/64". Lista de correo del kernel de Linux . Consultado el 2 de agosto de 2013 .
  19. ^ "Firejail". Firejail . Consultado el 26 de noviembre de 2016 .
  20. ^ Evans, Chris (4 de julio de 2012). «Chrome 20 en Linux y Flash sandboxing» . Consultado el 2 de agosto de 2013 .
  21. ^ Tinnes, Julien (6 de septiembre de 2012). "Presentación del sandbox Linux de próxima generación de Chrome". cr0 blog . Consultado el 2 de agosto de 2013 .
  22. ^ "Política de seguridad de Snap". Archivado desde el original el 4 de febrero de 2017. Consultado el 3 de febrero de 2017 .
  23. ^ Evans, Chris (9 de abril de 2012). "¡El sandbox de filtros vsftpd-3.0.0 y seccomp ya está aquí!" . Consultado el 2 de agosto de 2013 .
  24. ^ "MBOX" . Consultado el 20 de mayo de 2014 .
  25. ^ "LXD, un "hipervisor" para contenedores (basado en liblxc)". 4 de noviembre de 2014. Consultado el 8 de noviembre de 2014 .
  26. ^ "Hacia dónde vamos con LXD" . Consultado el 8 de noviembre de 2014 .
  27. ^ Destuynder, Guillaume (13 de septiembre de 2012). «Firefox Seccomp sandbox». Mozilla Bugzilla . Consultado el 13 de enero de 2015 .
  28. ^ Destuynder, Guillaume (13 de septiembre de 2012). «Firefox Seccomp Sandbox». Wiki de Mozilla . Consultado el 13 de enero de 2015 .
  29. ^ "Registro de cambios de Tor".
  30. ^ "Compresión de imágenes Lepton: ahorro del 22 % sin pérdida de imágenes a 15 MB/s". Blog tecnológico de Dropbox . Consultado el 15 de julio de 2016 .
  31. ^ "Kafel: un lenguaje y una biblioteca para especificar políticas de filtrado de llamadas al sistema".
  32. ^ "Subgraph OS". Subgraph . Consultado el 18 de diciembre de 2016 .
  33. ^ "LoganCIJ16: El futuro de los sistemas operativos". YouTube . Archivado desde el original el 2021-12-21 . Consultado el 2016-12-18 .
  34. ^ "El modelo de seguridad flatpak – parte 1: Los conceptos básicos" . Consultado el 21 de enero de 2017 .
  35. ^ "plástico de burbujas" . Consultado el 14 de abril de 2018 .
  36. ^ "Sandboxing de Chromium OS: los proyectos de Chromium".
  37. ^ "Minijail [LWN.net]". lwn.net . Consultado el 11 de abril de 2017 .
  38. ^ "core/trace/use_seccomp". dev.exherbo.org . Consultado el 31 de mayo de 2021 .
  39. ^ "Aplicación de archivos en Sandbox". GitHub .
  40. ^ "Implementación de seccomp de Zathura".
  41. ^ "Implementación de seccomp del rastreador Gnome".

Enlaces externos