Google escribió recientemente firmware para nuevas máquinas virtuales protegidas en Android Virtualization Framework utilizando el lenguaje de programación Rust y quiere que usted haga lo mismo. Esto supone que se trata de firmware.
En un artículo del jueves, los ingenieros de Android Ivan Lozano y Dominik Maier profundizaron en los detalles técnicos de la sustitución del código C y C++ heredado con Rust.
“Verás lo fácil que es aumentar tu seguridad con un simple cambio a Rust. Y demostraremos cómo las herramientas de Rust pueden manejar objetivos especializados de metal desnudo”, dijeron Lozano y Maier.
«Fácil» no es un término que se escuche comúnmente cuando se habla de lenguajes de programación que se sabe que tienen curvas de aprendizaje pronunciadas.
Conseguir que los desarrolladores de C y C++ vean el mundo de forma optimista no es tarea fácil. la semana pasada Un administrador del proyecto Rust para Linux, creado para llevar el código Rust al kernel de Linux basado en C, renunció, citando la oposición de los desarrolladores del kernel de Linux.
«La cuestión es que no se puede obligarnos a todos a aprender Rust», dijo un defensor del kernel de Linux durante una animada discusión a principios de este año en una conferencia.
Sin embargo, Google está animando a quienes estén dispuestos a hacerlo. Citó la falta de mecanismos de seguridad de alto nivel en el firmware. A menudo están escritos en lenguajes que no son seguros para la memoria, como C o C++. Lozano y Maier argumentan que Rust proporciona una forma de evitar fallas de seguridad de la memoria, como desbordamientos del búfer y uso después del lanzamiento. Esta es la causa de la mayoría de las vulnerabilidades críticas en bases de código grandes.
«Rust es una alternativa segura para la memoria a C y C++ con rendimiento y tamaño de código comparables», dijeron. «También admite la interoperabilidad con C sin costo adicional».
El gobierno de Estados Unidos ha destacado recientemente este punto. Cuenta con el respaldo de empresas tecnológicas líderes y organizaciones sin fines de lucro para reescribir proyectos y componentes clave de código abierto en Rust. Consulte la guía de Rust. La Agencia de Seguridad de Infraestructura y Ciberseguridad declaró el año pasado que los proveedores de software «El objetivo final de la empresa es reducir y, en última instancia, eliminar las vulnerabilidades de seguridad de la memoria de su línea de productos».
Google ya ha decidido vender la idea. En conclusión, los desarrolladores de Rust son dos veces más productivos que los ingenieros de C++.
Lars Bergstrom, director de ingeniería del lenguaje de programación Android en Google y presidente de la junta directiva de la Fundación Rust, dijo en un comunicado enviado a «Reconocemos el importante papel que desempeña Rust en la creación de software seguro y confiable en todos los niveles de la pila». Registro–
“En Google, estamos ampliando las implementaciones de Rust a Android, Chromium y más para mitigar las vulnerabilidades de seguridad de la memoria. Estamos comprometidos a colaborar con el ecosistema de Rust para impulsar la adopción de Rust y brindar a los desarrolladores los recursos y la capacitación que necesitan para tener éxito. Este trabajo para llevar Rust a sistemas integrados y firmware aborda otra parte importante de la pila ®”.