"La educación no es una caridad es una inversión y es la mejor herramienta para erradicar la pobreza de nuestro pais". Shakira


El ataque de la señora de la limpieza

Publicado por fjukja 6.1.10



Con este simpático nombre han bautizado los chicos de PING Labs a un ataque que afecta a Ubuntu y Debian –y posiblemente a muchas otras distribuciones de GNU/Linux. Este ataque permitiría acceder sin problemas a las sesiones bloqueadas con un salvapantallas.

El nombre del ataque se debe a la facilidad con la que se puede ejecutar, cualquiera que pase por delante del ordenador puede hacerlo. Basta con pulsar las teclas «Alt+PetSis+F». Eso sí, la probabilidad de que el ataque concluya con éxito es más bien nula.

¿A qué se debe esta vulnerabilidad? El núcleo Linux captura algunas combinaciones de teclas, todas activadas mediante «Alt+petSis», para realizar ciertas funciones de emergencia. La vulnerabilidad se debe a una de esas funciones: la conocida como OOM Killer.

¿Qué es y cómo funciona el OOM Killer?

Esta función sirve para liberar memoria de forma automática. Resulta muy útil cuando el sistema se ha quedado sin memoria y acceder a él se torna muy complicado. Mediante esta combinación, el núcleo decide qué proceso puede matar para que así se libere memoria y puedas retomar el control del sistema.

El problema llega cuando el núcleo decide que el proceso que debe morir es el del salvapantallas: éste se cierra y la señora de la limpieza (o cualquiera con muy mala virgen que pase por allí) puede acceder a nuestro escritorio.

¿Debemos preocuparnos por esta vulnerabilidad?

No. Que el núcleo seleccione al salvapantallas es muy poco probable.

La selección del proceso que debe morir se realiza de forma muy cuidadosa, mediante un algoritmo público que establece una puntuación a cada proceso. Una vez ha obtenida la puntuación para todos los procesos, matará al que la tenga más alta. A grandes rasgos, la puntuación será más alta cuanta más memoria consuma y cuanto más reciente sea el proceso.

Un proceso como el del salvapantallas no es un candidato que vaya a cumplir ninguna de las dos máximas que comentamos, ya que su consumo de memoria es más bien escaso, y se ejecuta desde el inicio de la sesión del usuario.

¿Este problema tiene solución?

Sí y muy sencilla. Los procesos pueden ser inmunes a esta característica. Basta con que el sistema establezca el valor de /proc/PID/oom_adj para el proceso que deseen inmunizar a OOM_DISABLE –una constante que, según la documentación, equivale a -17).

El salvapantallas debería tener establecida esa variable con ese valor para asegurar al 100% que esa situación no se va a producir nunca, algo que seguramente se encargarán de revisar en próximas actualizaciones.

En el caso de que vuestro entorno de trabajo sea tan hostil que intenten acceder a vuestra sesión de esta forma, lo más seguro es que acaben matando al resto de aplicaciones antes que al propio salvapantallas, de forma que se cierre la propia sesión antes de que consigan acceder a ella. He intentado reproducir este ataque varias veces y no he conseguido acceder a la sesión en ninguna ocasión.