Articulo de referencia

Escudo ejecutivo

Exec Shield es un proyecto que Red Hat , Inc. inició a finales de 2002 con el objetivo de reducir el riesgo de gusanos u otros ataques remotos automatizados en sistemas Linux. E...

Exec Shield es un proyecto que Red Hat , Inc. inició a finales de 2002 con el objetivo de reducir el riesgo de gusanos u otros ataques remotos automatizados en sistemas Linux. El primer resultado del proyecto fue un parche de seguridad para el kernel de Linux que emula un bit NX en las CPU x86 que carecen de una implementación nativa de NX en hardware. Si bien el proyecto Exec Shield ha tenido muchos otros componentes, algunos se refieren a este primer parche como Exec Shield.

El primer parche de Exec Shield intenta marcar la memoria de datos como no ejecutable y la memoria de programa como no modificable. Esto suprime muchas vulnerabilidades de seguridad , como las derivadas de desbordamientos de búfer y otras técnicas que se basan en sobrescribir datos e insertar código en esas estructuras. Exec Shield también proporciona cierta aleatorización del espacio de direcciones para mmap () y la base del montón.

Además, este parche dificulta la inserción y ejecución de shellcode , lo que hace que la mayoría de los exploits sean ineficaces. No es necesario recompilar ninguna aplicación para aprovechar al máximo exec-shield, aunque algunas aplicaciones ( Mono , Wine , XEmacs , Mplayer ) no son totalmente compatibles.

Otras características surgidas del proyecto Exec Shield fueron los ejecutables independientes de la posición (PIE), el parche de aleatorización del espacio de direcciones para los núcleos de Linux, un amplio conjunto de comprobaciones de seguridad internas de glibc que hacen que las vulnerabilidades de la pila y las cadenas de formato sean prácticamente imposibles, la función Fortify Source de GCC y la adaptación y fusión de la función stack-protector de GCC .

Implementación

Exec Shield funciona en todas las CPU x86 que utilizan el límite de segmento de código. Debido a su funcionamiento, Exec Shield es muy ligero; sin embargo, no protege completamente las configuraciones arbitrarias de memoria virtual . Si se aumenta el límite de CS, por ejemplo, llamando a mprotect() para que la memoria superior sea ejecutable, las protecciones se pierden por debajo de ese límite. Ingo Molnar lo señala en una conversación por correo electrónico. La mayoría de las aplicaciones son bastante sensatas en este aspecto; la pila (la parte importante) al menos termina por encima de cualquier biblioteca mapeada, por lo que no se vuelve ejecutable excepto mediante llamadas explícitas de la aplicación.

Hasta agosto de 2004, ninguno de los proyectos de Exec Shield intentaba imponer protecciones de memoria restringiendo mprotect () en ninguna arquitectura; aunque la memoria puede no ser ejecutable inicialmente, puede volverse ejecutable más adelante, por lo que el kernel permitirá que una aplicación marque páginas de memoria como escribibles y ejecutables simultáneamente. Sin embargo, en colaboración con el proyecto Security-Enhanced Linux (SELinux), la política estándar de la distribución Fedora Core prohíbe este comportamiento para la mayoría de los ejecutables, con solo algunas excepciones por motivos de compatibilidad.

Historia

Exec Shield fue desarrollado por varias personas en Red Hat; el primer parche fue publicado por Ingo Molnar de Red Hat en mayo de 2003. Forma parte de Fedora Core 1 a 6 y de Red Hat Enterprise Linux desde la versión 3. [ 1 ] [ 2 ] Otras personas involucradas incluyen a Jakub Jelínek, Ulrich Drepper , Richard Henderson y Arjan van de Ven.

Molnar comentó en 2007 en LWN.net que "partes de [exec-shield] subieron al flujo principal, pero una buena parte no". [ 3 ]

Véase también

Referencias

  1. "Notas de la versión Fedora Core 1" . Red Hat, Inc. Noviembre de 2003. Archivado del original el 2 de diciembre de 2003. Consultado el 18 de octubre de 2007 .
  2. van de Ven, Arjan (agosto de 2004). "Nuevas mejoras de seguridad en Red Hat Enterprise Linux v.3, actualización 3" (PDF) . Red Hat, Inc. Archivado del original (PDF) el 12 de mayo de 2005. Recuperado el 18 de octubre de 2007 .
  3. "tiempo que se tarda en incorporar un proyecto al kernel principal [ LWN.net ] " . lwn.net .
  • La página web del parche Exec Shield de Ingo Molnar se archivó el 4 de marzo de 2016 en la Wayback Machine e incluye documentación en el archivo ANNOUNCE-exec-shield, archivado el 5 de agosto de 2004 en la Wayback Machine.
  • Artículo destacado de Newsforge
  • Artículo destacado/de proyecto de la revista Red Hat
  • Problemas de seguridad negativos con ExecShield