Systrace es una utilidad de seguridad informática que limita el acceso de una aplicación al sistema mediante la aplicación de políticas de acceso para las llamadas al sistema . Esto puede mitigar los efectos de los desbordamientos de búfer y otras vulnerabilidades de seguridad. Fue desarrollado por Niels Provos y se ejecuta en varios sistemas operativos tipo Unix .
Systrace resulta especialmente útil al ejecutar aplicaciones no confiables o exclusivamente binarias, ya que proporciona herramientas para elevar privilegios mediante llamadas al sistema, lo que ayuda a eliminar la necesidad de programas setuid potencialmente peligrosos . Además, incluye funciones interactivas y de generación automática de políticas para facilitar la creación de una política base para una aplicación.
Systrace solía estar integrado en OpenBSD , pero se eliminó en abril de 2016 [ 1 ] [ 2 ] (en favor de pledge post OpenBSD 5.9 [ 3 ] [ 4 ] ). Está disponible para Linux y Mac OS X , aunque la versión para OS X actualmente no recibe mantenimiento. Se eliminó de NetBSD a finales de 2007 debido a varios problemas de implementación sin resolver. A partir de la versión 1.6f, Systrace admite Linux 2.6.1 de 64 bits mediante un parche del kernel.
Características
Systrace admite las siguientes funciones:
- Restringe las aplicaciones binarias no confiables : Una aplicación solo puede realizar las llamadas al sistema especificadas como permitidas en la política. Si la aplicación intenta ejecutar una llamada al sistema que no está explícitamente permitida, se activa una alarma.
- Generación interactiva de políticas con interfaz gráfica de usuario : Las políticas se pueden generar de forma interactiva mediante una interfaz gráfica para Systrace. Esta interfaz muestra las llamadas al sistema y sus parámetros que no están cubiertos por la política actual y permite al usuario refinarla hasta que funcione como se espera.
- Admite diferentes emulaciones : Linux, BSDI, etc.
- Aplicación de políticas no interactiva : Una vez configurada una política, se puede utilizar la aplicación automática para denegar todas las llamadas al sistema que no estén cubiertas por la política actual. Todas las infracciones se registran en Syslog. Este modo es útil para proteger servicios del sistema, como un servidor web.
- Monitorización remota y detección de intrusiones : Systrace admite múltiples interfaces mediante el uso de una interfaz que aprovecha la red, lo que permite funciones muy avanzadas.
- Elevación de privilegios : Usando el modo de elevación de privilegios de Systrace, es posible deshacerse de los binarios setuid . Una declaración de política especial permite que ciertas llamadas al sistema se ejecuten con privilegios más altos, por ejemplo, creando un socket sin procesar .
Historial de vulnerabilidades
Systrace ha tenido algunas vulnerabilidades en el pasado, entre ellas:
- Explotación de vulnerabilidades de concurrencia en envoltorios de llamadas al sistema. Artículo de Robert Watson del Primer Taller USENIX sobre Tecnologías Ofensivas (WOOT07) que analiza trazas de envoltorios de llamadas al sistema en varias plataformas de envoltorios, incluyendo systrace.
- Google Security descubre una escalada de privilegios local en Systrace.
- Explotación de root local en NetBSD
- Vulnerabilidades en systrace
Véase también
Referencias
- ↑ Unangst, Ted (25 de abril de 2016). "boom goes the dynamite" . openbsd-cvs (Lista de correo) . Recuperado el 17 de mayo de 2016 .
- ↑ Unangst, Ted (25 de abril de 2016). "eliminar systrace" . openbsd-cvs (lista de correo) . Consultado el 17 de mayo de 2016 .
- ↑ "Innovaciones de OpenBSD" . OpenBSD . 14 de agosto de 2018. Consultado el 26 de febrero de 2019.
systrace(4), systrace(1): Iniciado por Niels Provos. Importado el 4 de junio de 2002 y publicado por primera vez con OpenBSD 3.2. Eliminado después de OpenBSD 5.9 porque pledge(2) es aún mejor.
- ^ Nicolás Marriott; Theo de Raadt (14 de febrero de 2019). "sys/kern/kern_pledge.c" . Referencia cruzada de BSD . OpenBSD . Consultado el 26 de febrero de 2019 .
Enlaces externos
- Software BSD
- OpenBSD
- Software relacionado con la seguridad de Unix