Google: «Reemplazar C/C++ por Rust en el firmware es fácil»
(theregister.com)- Google reescribió recientemente con el lenguaje Rust el firmware para las máquinas virtuales protegidas del Android Virtualization Framework, y recomienda hacer lo mismo si trabajas con firmware
- En el artículo "Deploying Rust in Existing Firmware Codebases", publicado en Google Security Blog, ingenieros de Android profundizan en los detalles técnicos de reemplazar código heredado en C y C++ por Rust
- "Verás lo fácil que es reforzar la seguridad con un reemplazo de Rust tipo drop-in, y también mostraremos cómo la toolchain de Rust puede manejar objetivos bare metal especiales"
- En un lenguaje de programación del que se suele decir que tiene una "curva de aprendizaje pronunciada", la palabra "fácil" no es un término que se use con frecuencia
- Tampoco es fácil hacer que desarrolladores de C y C++ empiecen a ver el mundo a través del lente de Rust
- Uno de los mantenedores del proyecto Rust for Linux renunció recientemente y señaló como motivo la resistencia de desarrolladores del kernel de Linux
- Un colaborador del kernel de Linux incluso dijo durante un debate en vivo en una conferencia a inicios de este año: "No pueden obligarnos a todos a aprender Rust"
- Aun así, Google sigue impulsando el uso de Rust
- El firmware carece de mecanismos de seguridad de alto nivel, en parte porque suele escribirse en lenguajes sin seguridad de memoria como C o C++
- Rust ofrece una manera de evitar errores de seguridad de memoria, como desbordamientos de búfer y use-after-free, que representan gran parte de las vulnerabilidades críticas en bases de código grandes
- "Rust ofrece una alternativa con seguridad de memoria frente a C y C++, con rendimiento y tamaño de código similares"
- "Además, admite interoperabilidad con C sin sobrecosto"
- Respaldo de gobiernos y empresas tecnológicas
- Recientemente, el gobierno de EE. UU., con apoyo de grandes empresas tecnológicas y de iniciativas sin fines de lucro como memorysafety.org, ha estado enfatizando la reescritura en Rust de proyectos y componentes críticos de código abierto
- La Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) recomendó el año pasado a los proveedores de software que "convertir la reducción y eventual eliminación de vulnerabilidades de seguridad de memoria en sus líneas de productos en una meta corporativa de máxima prioridad"
- Google ya estaba convencida de la idea y concluyó que los desarrolladores de Rust son dos veces más productivos que los ingenieros de C++
- El uso de Rust en Google sigue creciendo
"En Google estamos ampliando el uso de Rust para reducir vulnerabilidades de seguridad de memoria en Android, Chromium y otros proyectos.
Estamos comprometidos a colaborar con el ecosistema de Rust para impulsar su adopción y a ofrecer a los desarrolladores los recursos y la capacitación que necesitan,
y este trabajo para llevar Rust a sistemas embebidos y firmware aborda otra parte crítica de la pila"
1 comentarios
Lo leí con interés.