El impulso crece detrás del impulso para hacer de Rust un segundo idioma para el desarrollo del kernel y los controladores de Linux.
La propuesta recientemente anunciada para hacer del lenguaje de programación Rust uno de los dos lenguajes principales para el kernel de Linux está recibiendo un gran impulso gracias a Google y al Grupo de Investigación de Seguridad de Internet (ISRG) , el grupo detrás de la autoridad de certificación Let’s Encrypt.
El objetivo principal del impulso para llevar Rust a Linux es eliminar toda una clase de errores de seguridad relacionados con la memoria en el kernel, que es una parte clave de la infraestructura de Internet, que se ejecuta en todo, desde servidores hasta dispositivos periféricos y teléfonos inteligentes.
Históricamente, los controladores clave de Linux que componen el kernel se han escrito en C, que no es seguro para la memoria, mientras que Rust sí; como ha destacado Microsoft, el 70% de todos los errores que corrige están relacionados con la memoria.
Los desarrolladores del kernel de Linux están explorando si escribir nuevas partes del kernel en Rust en lugar de reescribir todo el kernel de Linux, que contiene más de 30 millones de líneas de código.
Google transmitió sus planes para respaldar el proyecto para llevar Rust a Linux en abril , una iniciativa que ha sido liderada por el desarrollador, Miguel Ojeda, quien publicó una solicitud de comentarios (RFC) sobre la propuesta.
Hasta ahora, Ojeda había estado trabajando por contrato con el proyecto Prossimo de ISRG para la seguridad de la memoria y ese esfuerzo inicial fue financiado por Google, pero ahora el grupo lo contrató para trabajar a tiempo completo en el proyecto.
“Google ha descubierto una y otra vez que los grandes esfuerzos para eliminar clases enteras de problemas de seguridad son las mejores inversiones a escala”, dijo Dan Lorenc, ingeniero de software de Google, quien ayudó a coordinar el proyecto Rust-Linux y trabaja en la infraestructura detrás de Google Plataforma en la nube.
“Entendemos que el trabajo en algo tan ampliamente utilizado y crítico como el kernel de Linux lleva tiempo, pero estamos encantados de poder ayudar al ISRG a respaldar el trabajo de Miguel Ojeda dedicado a mejorar la seguridad de la memoria del kernel para todos”.
Como sugirió Lorenc, introducir un segundo idioma en el kernel de Linux no es una decisión fácil. El creador de Linux, Linus Torvalds, tenía algunas objeciones a incorporar Rust después del RFC de Ojeda. Pero con el respaldo de Google, podría haber espacio para moverse.
“Agregar un segundo idioma al kernel de Linux es una decisión que debe sopesarse cuidadosamente”, dijo Ojeda en un comunicado. “Rust aporta suficientes mejoras sobre C para merecer tal consideración.
El kernel de Linux está en el corazón de la Internet moderna, desde los servidores hasta los dispositivos cliente, dijo el director ejecutivo de ISRG, Josh Aas , señalando que está en primera línea para procesar datos de red y otras formas de entrada. Como tal, las vulnerabilidades en el kernel de Linux pueden tener un impacto de amplio alcance, poniendo en riesgo la seguridad y privacidad de las personas, organizaciones y dispositivos.
“Dado que está escrito principalmente en lenguaje C, que no es seguro para la memoria, las vulnerabilidades de seguridad de la memoria, como los desbordamientos del búfer y el uso posterior a la liberación son una preocupación constante. es seguro para la memoria, podemos eliminar por completo las vulnerabilidades de seguridad de la memoria de ciertos componentes, como los controladores “.
Google también respalda el proyecto ISRG para crear un módulo basado en Rust para el servidor web Apache HTTP . Es otra pieza importante de la infraestructura de Internet, ya que es responsable de asegurar criptográficamente las conexiones HTTPS a los servidores web Apache ampliamente utilizados.