Skeletons Hidden in the Linux Closet: r00ting your Linux Desktop for Fun and Profit

Hola,

Como habréis notado he respetado el título original del artículo ya que creo que cualquier intento de traducción estropearía un titular que me parece -además de divertido- adecuado.

Os dejo este interesante paper de Rafal Wojtczuk de Invisible Things Lab, y lo hago por tres razones: la primera es ilustrar cómo un problema serio puede ser resuelto de una manera rápida, consensuada y al gusto de todos los implicados. El 17 de Junio Rafal notificó el problema al equipo de X.org. Tres días más tarde se decide que el problema debe ser discutido con los desarrolladores del kernel de Linux, ya que la manera adecuada de solucionar el problema pasa por parchear el núcleo. El 13 de Agosto Linus Torvalds resuelve le problema con el correspondiente parche, y ayer día 17 de Agosto se publicó este documento.

La segunda razón es dar a conocer el problema. Se trata de una vulnerabilidad descubierta accidentalmente y que al menos está presente desde la introducción hace unos 5 años de la rama 2.6 del núcleo de Linux. Es un problema con consecuencias extremadamente graves, ya que permite la elevación de privilegios a root desde procesos sin privilegiar que tengan acceso al servidor X, si bien no se explota problema alguno en X.

El problema puede ser explotado si un atacante modifica maliciosamente una aplicación que haga uso del servidor (cualquier aplicación con frontend gráfico, por tanto) siendo posible que se logren sobrepasar los mecanismos de seguridad provocando que el proceso corra como root, lo que técnicamente es un compromiso total del sistema. Según se explica en el documento, mediante este ataque es posible escapar incluso del afamado sandbox -X de SeLinux. Casi nada.

El problema se puede solucionar bien parcheando el núcleo (2.6.35.2 y 2.6.34.4 están libres del problema), bien deshabilitando la extensión de intercambio de datos de imágenes entre el cliente y servidor empleando la memoria compartida (MIT-SHM). Tenéis más información de este interesante caso en el blog de Joanna Rutkowska y los detalles del problema están narrados con detalle en el documento Exploiting large memory management vulnerabilities in Xorg server running on Linux.

Sí, efectivamente, tienes razón: eran tres las razones, y me he reservado la última para el final. El tercer motivo es pensar sobre cuántas vulnerabilidades similares a esta estarán aletargadas entre las millones de líneas del código de Linux. Probablemente muchas, y probablemente la mayoría no están siendo explotadas activamente, si bien tener certeza de esto es imposible. Aunque Linux es un sistema extremadamente eficiente, estable y seguro, no sólo hay esqueletos en los armarios de Redmond. Sirva este ejemplo para ilustrarlo.

Un saludo,

Full disclosure. ¿Sí o no?

Hola,

Uno de los debates más longevos en el mundo de la seguridad es aquel que dirime si las vulnerabilidades deben ser publicadas con todo lujo de detalles sin contar con los fabricantes, o si por el contrario los problemas deben resueltos colaborando en privado con los afectados sin que trascienda ningún tipo de detalle hasta que las medidas correctoras estén disponibles.

Esta misma semana Tavis Ormandy lanzó a la lista de Full Disclosure detalles de un problema de seguridad en el centro de ayuda de Microsoft Windows en el que se describe con todo lujo de detalles el procesado incorrecto de secuencias de escape malformadas en el componente afectado, lo que a la postre puede facilitar el compromiso de sistemas Windows en una gama tan amplia que se inicia en XP Home Edition y que acaba en Microsoft Windows Server 2003 Datacenter Edition. Poco tiempo después Microsoft respondió al anuncio de Ormandy con un artículo publicado en su centro de respuesta ante incidentes, en el que la compañía se queja del escaso tiempo que Ormandy les ha dado para resolver el problema (apenas 4 días) lo que, en opinión de Microsoft, incrementa el riesgo de ataques y coloca en situación de riesgo a sus clientes.

Microsoft tiene todo el derecho del mundo a pensar que cuatro días no son suficientes y a posicionarse en contra del full disclosure, como ha hecho en su artículo. También cualquier lector tiene el derecho a pensar que Microsoft comete un error importante al hablar constantemente de un investigador de Google, cuando Ormandy ha realizado el aviso a título particular y no representando a su empleador, como también Ormandy tiene libertad para escoger los plazos y los métodos para avisar de sus descubrimientos. Es precisamente esta rica libertad de opinión y manobra lo que hace que la resolución de problemas de seguridad sea un campo en el que nunca llueve a gusto de todos.

Esta no es ni será la única vez en la que veremos en lo alto del tapete un debate sobre la conveniencia del full disclosure. La razón subyacente es la dispersión de opinión y su enorme variabilidad, desde claramente posicionada en los extremos hasta alineada con las múltiples posiciones intermedias de la enorme amalgama de opinión existente entre la desaprobación y el apoyo incondicional a la liberación pública y detallada de los problemas de seguridad.

En lo que a mí respecta quizás me encuentre en una posición intermedia, aquella que defiende la liberación controlada de vulnerabilidades resueltas con el fabricante siempre y cuando el fabricante responda de una manera continuada en el tiempo en tiempo y forma, sin demorar innecesariamente la resolución de los problemas. Para estos casos es posible que la única manera de espolear el proceso de resolución sea lanzar las vulnerabilidades al público, por mal que le pese al fabricante afectado, entendiendo como errónea la visión en la que el full disclosure sólo implica la puesta en riesgo de los clientes, ya que el conocimiento público de los problemas provoca habitualmente la comunicación pública de medidas de mitigación que de otro modo no serían conocidas por los clientes hasta que los problemas hayan sido resueltos, pero que sí podrían estar siendo aprovechados por los atacantes que hayan logrado conocer los detalles durante el proceso de resolución, o incluso anteriormente.

Independientemente de mis preferencias, que no dejan de ser estrictamente personales, comprendo y respeto otras posiciones, y no dejo de pensar que la existencia de opiniones contrapuestas es una constante en cualquier campo de actividad profesional que debemos aprovechar para enriquecer nuestro conocimiento fomentado los debates sanos y productivos.

Un saludo,