23 oct. 2016

Dirty Cow: vulnerabilidad de 9 años en el Kernel de Linux

Cada poco tiempo, expertos de seguridad descubren nuevos fallos y problemas de seguridad en el software más utilizado, especialmente de cara a Internet y, además, la mayoría de estas fallos han estado presentes en dichas aplicaciones, aunque ocultos, incluso más de 9 años, como es el caso de la recién descubierta vulnerabilidad en Linux Dirty Cow.

Sigue la moda de poner nombres a vulnerabilidades. En este caso Cow hace referencia al uso de la técnica "copy-on-write" que es donde reside el fallo. Nada mejor que un buen nombre, una web rebosante de ironía (https://dirtycow.ninja/) y, por supuesto, un logo atractivo, para que la vulnerabilidad destaque como no lo haría de otra forma. En esta ocasión incluso podemos hablar de… ¡una vulnerabilidad con Twitter!

Esta vulnerabilidad ha sido registrada bajo el código CVE-2016-5195, aunque los expertos de seguridad y los administradores de sistemas de refieren a ella como Dirty Cow (copy-on-write). Según el informe oficial de Linux, este fallo lleva presente en el sistema operativo desde el año 2007, es decir, lleva entre nosotros 9 años, aunque no había sido detectado hasta ahora, al menos por los expertos de seguridad de Red Hat. El fallo se encuentra desde la versión 2.6.22 (de 2007) y ha sido corregida el 18 de Oct, 2016. 

Dirty Cow se genera debido a que determinadas tareas se ejecutan en un orden incorrecto dentro del sistema. Por ello, la memoria del Kernel almacena una copia de las páginas de memoria con datos privados en esta en vez de borrarlas una vez procesadas. Aprovechando este fallo, se puede llegar a ser capaz de elevar sus permisos dentro del sistema hasta llegar al máximo nivel, root. Además, este fallo puede llegar a permitir al atacante modificar los binarios o configurarlos con sus propios permisos.

Aunque no hay evidencias de que este esta vulnerabilidad haya sido explotada desde su introducción en 2007, los expertos de seguridad sí que han visto un exploit circulando por la red que buscaba aprovecharse precisamente de él, siendo esto lo que, en realidad, ha activado las alarmas y ha dado lugar al descubrimiento del fallo.

A pesar de que este fallo no ha sido considerado como "crítico" por los investigadores ni por el propio Linus Torvalds, los expertos de seguridad que la han descubierto aseguran que debemos tomarla en serio ya que se trata de un fallo real, y serio, que, además, al existir un exploit, puede estar siendo explotado por piratas informáticos a través de Internet.

Linus lo describe como un error meramente "teórico" en ese entonces pero que ha terminado por ser perfectamente práctico:
"Se trata de un antiguo error que en realidad se trató de corregir una vez (mal) por mí hace once años [...], pero que entonces se deshechó debido a problemas en el s390 ... Lo que era una condición de carrera puramente teórica en ese entonces se ha convertido en más fácil de desencadenar".
Todas las vulnerabilidades de los distintos sistemas operativos deben ser tomadas muy en serio, no solo aquellas a las que se las asigne la etiqueta de "crítica". Por ello, es recomendable que todos los usuarios de Linux, especialmente aquellos responsables de un servidor conectado a Internet, lo actualicen lo antes posible para implementar el nuevo parche y asegurarse así de que ningún pirata informático se aprovecha de Dirty Cow para ganar permisos en su sistema.

Existe prueba de concepto disponible y también se ha encontrado un exploit que aprovecha la vulnerabilidad, sin embargo no está claro si se está empleando de forma activa. Hay que tener claro que se trata de una vulnerabilidad de elevación de privilegios, por lo que para poder explotarla es necesario tener un acceso local, con privilegios restringidos, en el sistema afectado.

Ya se han publicado una actualización del kernel de Linux que soluciona el problema:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619

Listado de PoCs (https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs)
Por otra parte las principales distribuciones como Red Hat, Debian, Ubuntu o SUSE ya han publicado actualizaciones, contramedidas o información sobre el problema.

Fuente: RedesZone | Hispasec

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!