Daboweb

Sobre el ataque a kernel.org ¿Debo preocuparme? Hablemos de Git.

Publicado por Dabo on Septiembre 02, 2011
Seguridad Informática

Durante el día de ayer y hoy, hemos podido leer tal y como informan en Ontinet y en muchos otros sites, que dos de los servidores destinados a distribuir el Kernel que impulsa nuestras distros de GNU/Linux alojados en kernel.org, fueron víctimas de un ataque que podíamos catalogar como “devastador”, dado el grado de acceso que se consiguió.

Hablamos nada más y nada menos que con privilegios de “root” (súper usuario en un sistema *Nix). Este hecho derivó en la inclusión de un troyano en parte de su código fuente con las consecuencias que ello conlleva. A pesar de que la intrusión se llevó a cabo el día 12 de Agosto y fue descubierta el pasado 28, algunos pueden pensar si el Kernel que han descargado desde el día 12 hasta la fecha contiene alguna vulnerabilidad.

Una fuente tan reputada como Jonathan Corbet ya ha dicho que no debemos preocuparnos por la integridad del Kernel reconociendo (cómo no) que es un tema preocupante y que se volcarán backups “limpios” en los sistemas afectados además de revisar el resto.

Hablando de Git…

Los aproximadamente 40.000 ficheros que componen el Kernel, cuentan con una protección como la que ofrece “Git” (creado por el propio Linus Torvalds) el cual se basó para su desarrollo en BitKeeper y en Monotone para llevar un control de versiones eficaz y seguro. Actualmente, Git esta principalmente mantenido por Junio Hamano junto a casi 300 programadores.

Git es usado actualmente además de para desarrollar el código del Kernel, de proyectos de tanto peso como Perl, KDE, Android, Debian o GNOME por citar algún ejemplo.

Os podéis imaginar lo que puede ser llevar ese control de cambios en un mismo fichero por una cantidad tan grande de programadores que trabajan en el código fuente del Kernel. Gracias a Git, ese proceso se realiza de una forma rápida y eficiente. Cuando se realiza un cambio en el código sobre alguna versión previa, los cambios que se hacen posteriormente son notificados en todas ellas.

La gestión distrubuida que ofrece Git proporciona a cada mantenedor del código una copia local con todos los cambios realizados en el desarrollo de un proyecto. Esos cambios se propagan entre repositorios locales y son importados como ramas adicionales pudiendo ser fusionadas del mismo modo que en la ramificación local. Todo ello apoyado por la solidez del “hash” SHA1 para evitar “colisiones” y llevar un mejor control de los cambios realizados.

Trabaja con desarrollos no-lineales que dotan de una mejor gestión de las ramificaciones y la fusión con versiones diferentes del código, se realiza de una forma rápida y eficaz. A pesar de que se hay otras formas de publicar los cambios, se suele optar por el cifrado que ofrece SSH para hacerlo de un modo más seguro. Se pueden usar a modo de emulación, varios módulos y clientes CVS y con “git-svn” trabajaremos con Subversion o svk.

Como podéis ver, la forma de trabajar a través de Git junto a las palabras de Corbet ya deberían ser suficientes como para tranquilizarnos, alguien como él no diría gratuitamente “no hay problemas con el Kernel” caso de haberlos, pero también, muchos de los desarrolladores que se encargan de su mantenimiento, si no fuese así, podéis dar por seguro que darían la voz de alarma.

Lo mejor para ver todas las funcionalidades de Git, es pasaros por sus “FAQs”.

 

Tags: , , , , ,

¿Quieres comentar algo sobre este post? Puedes hacerlo en nuestro foro de noticias.

Puedes seguir nuestras actualizaciones vía RSS, en Facebook y también desde Twitter.