Debian: al 94% en reproducible builds
Cada vez estoy más convencido que en el mundo de la ciberseguridad existe una subespecie que podríamos denominar: los flipados de la seguridad informática. Los conoceréis porque se alimentan de vulnerabilidades o malware a todas horas (a todo esto, este verano ya está tardando en aparecer el habitual troyano para Linux). También porque habitualmente lo hacen sin distinguir gravedad o componentes afectados (y para muestra como un oscuro programa llamado gnome-exe-thumbnailer, que nada tiene que ver con los desarrolladores de GNOME, se convirtió en la vulnerabilidad linuxera de la semana).
Y después están los que de verdad saben del tema, que en ocasiones también hacen algo por mejorar la seguridad de nuestro sistema. Como la gente que trabaja en el desarrollo de los reproducible builds, una técnica que permite determinar que el código fuente de un programa no se ha visto alterado, durante el proceso de transformación en binario (por ej. esos deb o rpm que utilizamos en nuestras distros).
Mediante un proceso de verificación bit a bit, se puede establecer si ha habido modificaciones, que podrían llevar a errores o en el peor de los casos a debilidades de seguridad, introducidas de forma malintencionada. De forma colateral los reproducible builds también ofrecen beneficios, para el despliegue de aplicaciones o en labores de depuración.
Son varios los proyectos que están involucrados en este desarrollo, distribuciones GNU/Linux como Arch Linux, Debian, Fedora, openSUSE o Tails, software como el navegador Tor Browser, plataformas de firmware como coreboot, el mundo BSD siempre tan preocupado por la seguridad (ElectroBSD, FreeBSD, NetBSD), sistemas Linux embebidos como LEDE u openWRT, además de otras organizaciones como Baserock, Bitcoin, Webconverger, Yocto y F-Droid. Señalar que el proyecto Reproducible Builds cuenta con el patrocinio de la Core Infraestructure Initiative.
Entre los sistemas que más avanzado tienen este asunto, está Debian. Apenas llevan tres años trabajando en el tema, pero ya están muy cerca de alcanzar el 100% de paquetes reproducible build.
Para ser exactos el 94% de los binarios de Debian Stretch. Todavía faltan 1300 paquetes –lo que nos da una idea del tamaño de sus repositorios– pendientes de migrar a esta nueva técnica.
Gran parte del éxito alcanzado se debe a la creación de herramientas específicas (diffoscope, debepro, reprotest) que permiten testear los paquetes o ver la diferencias entre los mismos. Dichas herramientas son de tipo “agnóstico” por lo que pueden ser utilizadas por otros proyectos.
Además se ha trabajado en los archivos .buildinfo. Como podemos deducir de su nombre, estos archivos almacenan información exacta sobre la configuración y entorno necesario (por ej: dependencias, compilador) para la creación de un determinado paquete de tipo reproducible builds.
Quizás en un futuro si se impone flatpak o snappy, como paquetes genéricos ya no sea tan necesario esto de los reproducible builds (o se plantee de otra forma), pero eso no va a pasar de hoy para mañana. En cualquier caso, enhorabuena a Debian por su trabajo.
Via: lamiradadelreplicante.com