Explotación de reubicación de texto y SELinux

7

Se me asignó la tarea de adoptar e implementar cierta solución de software de respaldo para nuestra granja de GNU / Linux.
De acuerdo con los requisitos definidos por mi departamento, esta solución debería ser compatible con los sistemas habilitados por SELinux. Después de una investigación no demasiado profunda, fue bastante obvio que este producto no era compatible con SELinux , o necesitaba que el administrador del sistema haga un agujero en la política de SELinux porque algunas bibliotecas tenían que realizar reubicaciones de texto para poder operar (sin mencionar la corrección, o la falta de ellas) de los comandos sugeridos en su base de conocimiento).

No es nuevo que se haya comprobado que SELinux expone errores , pero mi preocupación aquí era poder explicarlo La gestión en qué medida denegar las reubicaciones de texto es una característica importante de seguridad .

La gerencia contrarresta mi razonamiento alegando que no se publican CVE para este producto específico relacionado con su necesidad de realizar reubicaciones de texto.

¿La necesidad de realizar reubicaciones de texto es lo suficientemente explotable como para representar una vulnerabilidad elegible por CVE?

    
pregunta dawud 14.04.2013 - 19:28
fuente

2 respuestas

1

Hay dos puntos principales que hacer. La primera es que una de las principales ventajas de la política de SELinux es evitar la explotación de vulnerabilidades desconocidas . Dado que son desconocidos, no existirá un CVE.

La segunda es que permitir la reubicación de texto también permite que un exploit escriba y ejecute cualquier código que quiera ejecutar, o le permite modificar el código existente en la memoria. Usted hace referencia a la breve reseña de Ulrich, que también contiene su artículo "solucionando el problema"; Ambos son excelentes y explican el problema.

La "necesidad de realizar reubicaciones de texto" no es en sí misma una vulnerabilidad; simplemente hace que algunas vulnerabilidades en el programa o las bibliotecas sean fáciles de explotar.

    
respondido por el user24941 18.04.2013 - 21:55
fuente
1

La inexistencia de un CVE es una horrible justificación para no implementar una medida de seguridad. El objetivo principal de este juego es mantenerse a la vanguardia de sus atacantes, y si los atacantes hipotéticos solo usan vulnerabilidades de gran difusión y públicas, realmente no son muy buenos en lo que hacen.

Las reubicaciones de texto son "malas" porque son un caso especial de código de automutación, lo que significa que potencialmente un atacante podría inducir al programa a modificar su texto de alguna otra manera. Si se requieren reubicaciones, significa que se puede escribir en el programa .text (código).

Sin una vulnerabilidad real que le permita a un atacante manipular el proceso de reubicación de texto o escribir directamente en .text , esto no es un problema total. Básicamente, esto requeriría que puedan agregar módulos cargables, si esa es la razón por la cual se requiere la reubicación, o si no, modificar archivos arbitrarios en el sistema bajo ataque; En cualquier caso tienes problemas mucho más grandes. El caso de poder escribir cosas arbitrarias en .text como atacante es un error de seguridad bastante grande en sí mismo.

Esencialmente, cuando permites esto, renuncias al beneficio de la protección W ^ X. Ese es el gran problema.

Por supuesto, no sabes que no existe una vulnerabilidad que le permita a un atacante hacer estas cosas. Estaría más seguro si no pudiera otorgar este permiso a la aplicación, pero si la funcionalidad lo requiere honestamente, debería permitirlo mientras grita en voz alta al proveedor de software.

    
respondido por el Falcon Momot 01.10.2013 - 09:26
fuente

Lea otras preguntas en las etiquetas