Utilidad de seguridad informática
Systrace es una utilidad de seguridad informática que limita el acceso de una aplicación al sistema al aplicar políticas de acceso para las llamadas del 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 es particularmente útil cuando se ejecutan aplicaciones que no son de confianza o que solo contienen archivos binarios y ofrece funciones para la elevación de privilegios en función de las llamadas del sistema, lo que ayuda a eliminar la necesidad de programas setuid potencialmente peligrosos . También incluye funciones de generación de políticas interactivas y automáticas para ayudar en la creación de una política base para una aplicación.
Systrace solía estar integrado en OpenBSD , pero fue eliminado en abril de 2016 [1] [2] (a favor de la promesa posterior a OpenBSD 5.9 [3] [4] ). Está disponible para Linux y Mac OS X , aunque el puerto OS X actualmente no se mantiene. Fue eliminado de NetBSD a fines de 2007 debido a varios problemas de implementación sin solucionar. A partir de la versión 1.6f, Systrace admite Linux 2.6.1 de 64 bits mediante un parche de kernel.
Características
Systrace admite las siguientes funciones:
- Limita las aplicaciones binarias que no son de confianza : 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 de políticas interactivas con interfaz gráfica de usuario : las políticas se pueden generar de forma interactiva a través de una interfaz gráfica de usuario para Systrace. La interfaz muestra las llamadas del sistema y sus parámetros que actualmente no están cubiertos por la política y permite al usuario refinar la política hasta que funcione como se espera.
- Admite diferentes emulaciones : Linux, BSDI, etc.
- Aplicación de políticas no interactiva : una vez que se ha entrenado una política, se puede utilizar la aplicación automática de políticas para rechazar todas las llamadas del sistema que no estén contempladas en la política actual. Todas las infracciones se registran en Syslog. Este modo es útil para proteger servicios del sistema, como un servidor web.
- Monitoreo remoto y detección de intrusiones : Systrace admite múltiples frontends mediante el uso de un frontend que hace uso de la red, lo que permite contar con funciones muy avanzadas.
- Elevación de privilegios : con 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 las llamadas del sistema seleccionadas se ejecuten con privilegios más altos, por ejemplo, creando un socket sin formato .
Historial de vulnerabilidades
Systrace ha tenido algunas vulnerabilidades en el pasado, entre ellas:
- Explotación de vulnerabilidades de concurrencia en envoltorios de llamadas del sistema Documento de Robert Watson del primer taller USENIX sobre tecnologías ofensivas (WOOT07) en el que se analizan los rastros de envoltorios de llamadas del sistema en varias plataformas, incluida systrace
- Google Security descubre una escalada de privilegios locales en Systrace
- Exploit 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) . Consultado 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 . 2018-08-14 . Consultado el 2019-02-26 .
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 promise(2) es incluso 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