Aislando la ejecución de binarios sospechosos en Linux

Una nueva funcionalidad de SELinux llamada Sandbox permite aislar completamente el proceso de un ejecutable sospechoso de ser malware.

 

 

Guillem Alsina ([email protected]) – Una nueva funcionalidad de seguridad ha sido implementada en SELinux por dos desarrolladores del kernel del sistema operativo del pingüino. Se trata de la posibilidad de ejecutar completamente un proceso de usuario (un fichero ejecutable) en una área de memoria estanca (lo que técnicamente se llama sandbox), confinándolo de esta forma y aislándolo del resto del sistema. El objetivo es poder ejecutar programas no confiables en un espacio en el que no afecte a la seguridad, estabilidad e integridad del sistema operativo ni al resto de las aplicaciones en ejecución.

SELinux consiste en un conjunto de modificaciones que pueden realizarse en un sistema operativo tipo Unix (lo que incluye entre otros a GNU/Linux, las distintas ramas de BSD y, teóricamente, Mac OS X). En el sistema del pingüino, estas modificaciones pueden aplicarse a cualquier distribución, independientemente de su origen (ya sea comercial o un proyecto basado en la comunidad) y, de hecho, muchas distros las incluyen por defecto. Entre estos casos se cuentan Fedora y openSUSE. La génesis de SELinux se encuentra en la NSA (National Security Agency), agencia gubernamental norteamericana encargada de velar por la seguridad en las comunicaciones y ayudar en el espionaje a las comunicaciones procedentes de enemigos o potenciales enemigos de los Estados Unidos (o, por lo menos, esa es su misión oficial...).

Hasta ahora, SELinux podía aislar completamente (ejecutar en una sandbox) la ejecución de servicios del sistema, pero no se habían creado las herramientas necesarias para poder confinar completamente un proceso de usuario con todos los recursos que este necesita como acceso a la red o gestión de ficheros.

Las utilidades que puede tener esta funcionalidad son múltiples: desde probar un programa que debemos instalar en nuestro sistema pero del cual no nos fiamos por cualquier motivo (procedencia, sospechar de que se haya inyectado código antes de la compilación, dudas sobre si provocará inestabilidad en el sistema,...) hasta ejecutar programas de forma segura y aislada del resto del entorno. Por ejemplo, para hacer una compra online, podríamos ejecutar una instancia de nuestro navegador web de forma segura, de manera que desde el resto del sistema no se tuviera acceso a la caché del navegador y, por lo tanto, a datos sensibles como el número de tarjeta de crédito o nombres de usuario y contraseñas.

El desarrollo ha sido llevado a cabo por dos desarrolladores del kernel Linux y, probablemente, aún quedan muchas posibilidades para explotar con él.

Copyleft 2009 www.imatica.org
Esta obra se encuentra sujeta a la siguiente licencia:
La difusión, reproducción y traducción de este texto se permite libremente en cualquier medio o soporte con las únicas obligaciones de mantener la presente licencia e incluir un enlace o referencia a la página en la que se encuentra el original dentro del servidor
www.imatica.org . En medios audiovisuales se requiere la cita al medio www.imatica.org

[tags]Distribuciones Linux,Seguridad Linux,SELinux,Sandbox[/tags]