¿Por qué los parches de seguridad no están incluidos en Vanilla Kernel?

22

¿Cuáles son las razones por las cuales los grsecurityparches (o las características de seguridad que trae) no están incluidos en el núcleo de forma predeterminada? Al observar los beneficios para la seguridad, parece que el núcleo de vainilla es bastante inseguro.

Si esto es una compensación (algunas aplicaciones en las que desea evitar las medidas de seguridad), parece que grsecuritypodría ser una opción para habilitar en el núcleo de vainilla.

Con tantas cosas en el núcleo de vainilla convencional, me cuesta entender las razones por las que la comunidad no quiere incluir grsecurity.

humanidad y paz
fuente
Parece ser un problema político. Parece que Torvalds piensa que algunos de sus parches son basura. Consulte también el Aviso de seguridad de Qualys : las vulnerabilidades Stack Clash y más CONFIG_VMAP_STACK, refcount_t UAF y un método ignorado de arranque seguro / rootkit en la lista de correo OSS-Security.
A partir de sugerencias anteriores sobre las listas de correo de criptografía del núcleo, yo y otros hemos sido colocados en el cubo de las etiquetas de Torvalds "demente". Entonces, no es solo la gente de gresecurity quien enfrenta el problema. Ver también al azar: las advertencias del compilador silencio y la raza del arreglo . El hilo es una discusión sobre cómo proporcionar un dmesg para los controladores que usan {u} random antes de que esté listo. (Puede que no lo sepas, pero varios controladores usan los dispositivos antes de que se

Respuestas:

23

(Soy un desarrollador de seguridad).

La respuesta de jsbillings se basa en una publicación de correo electrónico discutida en un artículo de LWN .

El contexto importante aquí es que ni la seguridad ni los desarrolladores de PaX estuvieron involucrados en esa discusión de la lista de correo. El comentario del equipo de PaX al artículo de LWN aclara esto. Nunca hemos enviado los parches para su inclusión en la línea principal. Una razón simple es que somos nosotros los que tenemos las ideas y las implementaciones, que la solución no resolvería. Además, tendríamos que entablar discusiones pesadas en la lista de correo con un grupo de desarrolladores que son muy anti-seguridad (ver mi presentación H2HC 2012)para más discusión sobre esto). Tenemos tiempo y recursos limitados, por lo que elegimos gastarlo de la manera más efectiva posible: crear la tecnología de seguridad del mañana y ponerla a disposición de todos de forma gratuita. Como el equipo de PaX menciona en su comentario, tenemos una visión particular de la seguridad y, por lo tanto, tampoco creemos que haya mucho mérito en la división y la transmisión de características individuales.

Brad Spengler
fuente
Me gustó el enlace al interesante artículo de LWN. Gracias. Todavía estoy en un estado de confusión al leer la opinión de que un grupo de desarrolladores de Kernel sería "muy anti-seguridad". Por supuesto, no tengo ningún tipo de información, pero esto parece preocupante :(. La confusión es que supongo que la seguridad es uno de los "argumentos más fuertes" para OpenSource y Linux. En este momento me siento bastante amenazado en mi sistema basado en ubuntu. siendo un poco dejado atrás con, lo que sería "más ojos se ven" -security de OS werth si fuéramos ignorantes me gusta grsecurity todos modos, gracias por ello?.
humanityANDpeace
10

Parece que los desarrolladores de grsecurity han tenido problemas en el pasado para convencer a Linus de aceptar cambios en el kernel. Los problemas parecen ser:

  1. Enviar un blob gigante de código y no romperlo en pedazos
  2. Linus considera que muchos de los cambios son "locos", lo que probablemente es la forma en que Linus dice que no funciona con sus planes para el desarrollo futuro.
jsbillings
fuente
Estos son algunos puntos interesantes. Todavía estoy aprendiendo: ni siquiera estaba al tanto del BLOB (eso es algo de datos binarios, claro, algo que no es de código abierto, supongo). Bueno, la información es buena. Si las razones indicadas son ciertas, sigue siendo una pena. Me gusta la idea de la mejora de seguridad relacionada con el parche de grsecurity.
humanityANDpeace
1
@humanityANDpeace "blob" puede significar "objeto binario grande" (generalmente en el sentido de la base de datos, pero a veces también en otros lugares), o puede ser argot para "gran parte de lo que sea". En este caso, supongo que jsbillings significaba esto último: una gran porción de código fuente que no se subdivide. Siendo yo mismo un programador, sé exactamente lo frustrante que puede ser trabajar con ellos, y mucho menos revisar.
un CVn