Google y Microsoft se refugian en la mejor seguridad del lenguaje Rust

Google y Microsoft se refugian en la mejor seguridad de Rust Language

Cuando se lanzó Fortanix en 2016, la empresa tomó una decisión: se comprometería con el lenguaje de programación Rust de un año de antigüedad para beneficiarse de sus fortalezas de seguridad y rendimiento.

Siete años después, el compromiso de Fortanix con Rust ha resultado ser un éxito. La empresa ha creado soporte para Intel Software Guard Extensions (SGX), que permite el uso de enclaves seguros para los datos del usuario y se beneficia de la capacidad del compilador Rust para evitar algunas clases de vulnerabilidades, especialmente problemas de seguridad de la memoria, dice Jethro Beekman, vicepresidente. de tecnología y CISO en el empresa de seguridad de datos.

“Hubo algunos de los primeros usuarios que realmente vieron ese potencial, y después de hacer una investigación exhaustiva y obtener algo de experiencia práctica, decidimos básicamente hacerlo todo”, dice. “Las herramientas y el compilador realmente ayudan a evitar errores”.

Ocho años después de su lanzamiento 1.0, el lenguaje Rust y las plataformas de desarrollo continúan ganando popularidad entre los desarrolladores y las empresas. enfocado en código seguro. Mientras que Rust tiene un nivel mucho más bajo Clasificación TIOBE que C o C++, el idioma está experimentando usuarios adicionales significativos año tras año. Rust también tiene seguidores comprometidos: mientras que solo el 12% de los programadores usaron la tecnología el año pasado, casi el 85% de esos desarrolladores quieren continuar usando el lenguaje, lo que lo convierte en el lenguaje de programación "más admirado", según la "Encuesta para desarrolladores de 2023" de Stack Overflow.

Gráficos que muestran el crecimiento del lenguaje de programación Rust

La adopción de Rust continúa creciendo exponencialmente. Fuente: Lib.rs (https://lib.rs/stats)

Como parte de un esfuerzo por eliminar clases de errores, por ejemplo, Microsoft está reescribiendo partes del kernel utilizando Rust, dijo David Weston, vicepresidente de seguridad empresarial y del sistema operativo de Microsoft, durante BlueHat Israel en marzo. La empresa ha creado DWriteCore en Rust para convertir el análisis de fuentes en una característica de seguridad de la memoria y actualmente está trabajando para experimentar con la escritura de partes de la interfaz del controlador de gráficos (GDI) en Rust. La empresa ha visto aumentar el rendimiento entre un 5 % y un 15 % en las primeras versiones del código.

"Diría que estamos en la etapa de rastreo... para Rust en Windows", dijo Weston en una grabación de video de su presentación. “Estamos experimentando con una cadena de herramientas; estamos analizando la generación de código y tratando de averiguar si vale la pena lo que cuesta aprender Rust”.

Sin embargo, Microsoft, un patrocinador de la Fundación Rust, se ha comprometido con el lenguaje. “De hecho, tendrá Windows arrancando con Rust en el kernel”, dice Weston.

Google, 1Password y otros a bordo

Google también es un gran partidario de Rust. La empresa atribuye una caída en la proporción de vulnerabilidades de seguridad de la memoria en Android a la transición a Rust, Kotlin (un lenguaje de programación funcional) y Java desde C y C++. En 2022, las vulnerabilidades de seguridad de la memoria, como las saturaciones de búfer, representó menos de la mitad de todas las vulnerabilidades en Android.

"Por lo general, recomendamos el uso de Rust en cualquier lugar donde esté considerando crear un nuevo código C [o] C ++", dice Lars Bergstrom, director de ingeniería para lenguajes de programación de Android en Google y presidente de la junta directiva de la Fundación Rust. "Por lo tanto, Rust suele ser una buena opción cuando se necesita un control estricto del sistema subyacente y sus recursos, como la memoria".

La Agencia de Seguridad Nacional también recomienda que los desarrolladores busquen alternativas a C y C++ para código crítico para la seguridad porque esos lenguajes confiar demasiado en que el desarrollador no cometa errores.

Si bien Fortanix se ha comprometido a usar Rust ampliamente, otras compañías son más tácticas acerca de cómo introducen el lenguaje en sus bases de código. La firma de administración de identidades y contraseñas 1Password, que requiere una seguridad sólida para proteger los almacenes de contraseñas de los usuarios, ha adoptado Rust como su plataforma de desarrollo para sus componentes principales de seguridad de datos, utilizando otros lenguajes para la interfaz frontal en diferentes sistemas operativos. la compañía declaró en una publicación de blog.

Microsoft se encuentra en una situación similar y no reescribirá grandes porciones de su código base en Rust, dijo Weston.

“Odio decírselo, sé que los fanáticos de Rust están por ahí, reescribir Windows en Rust probablemente no sucederá pronto”, dijo a los asistentes a la conferencia BlueHat Israel. “Aunque nos encanta Rust, necesitamos una estrategia que también incluya asegurar más de nuestro código nativo”.

Curva de aprendizaje no tan empinada

The Rust Foundation ha visto una gran adopción por parte de empresas de dispositivos integrados y conectados, especialmente en aplicaciones automotrices, industriales y aeroespaciales, así como en la creación de aplicaciones web y en la nube en otra plataforma nueva, WebAssembly, dice Rebecca Rambul, directora ejecutiva y CEO de la Fundación Rust.

“Este tipo de organizaciones han estado entre las… primeras fuera de las grandes organizaciones tecnológicas en ver realmente el potencial de Rust, no solo por la seguridad, sino por la velocidad y el rendimiento," ella dice. “Obtienes ese nivel de seguridad debido a la seguridad de la memoria, pero no pierdes nada desde la perspectiva del rendimiento”.

Cuando comenzó Fortanix, todos los programadores tenían que aprender Rust. Si bien la sabiduría común es que el lenguaje es difícil de aprender, más de dos tercios de los programadores que aprenden Rust dijeron que se sienten seguros de contribuir a un proyecto dentro de dos meses, según una encuesta de programadores internos de Google.

Si bien los nuevos programadores adoptaron Rust rápidamente, el compilador sigue siendo más lento de lo que a muchos les gustaría, también encontró la encuesta.

El lenguaje requiere algunos ajustes, reconoce Michael Erquitt, ingeniero de seguridad sénior de la empresa de capacitación en codificación segura Security Journey. Además, los programadores tienen que desarrollar su propio sentido de qué funciones y aplicaciones se beneficiarían del lenguaje.

“Siempre hay compensaciones inherentes al elegir lenguajes y herramientas de programación”, Erquit dice. "El óxido como lenguaje de programación moderno se puede utilizar para una amplia gama de proyectos, pero la elección se reduce en última instancia a lo que mejor satisface los requisitos funcionales/del cliente de su proyecto".

Sello de tiempo:

Mas de Lectura oscura