El cambio de Google a la programación Rust reduce las vulnerabilidades de memoria de Android en un 52%


25 de septiembre de 2024Ravie LakshmananCodificación segura / Seguridad móvil

Google ha revelado que su transición a lenguajes seguros para la memoria como Rust como parte de su enfoque de seguridad por diseño ha llevado a que el porcentaje de vulnerabilidades seguras para la memoria descubiertas en Android cayera del 76% al 24% en un período de seis años.

El gigante tecnológico dijo que se está centrando en Codificación segura porque las nuevas funciones no solo reducen el riesgo de seguridad general de una base de código, sino que también hacen que el cambio sea más «escalable y rentable».

Al final, esto lleva a una caída en las vulnerabilidades de seguridad de la memoria, ya que el desarrollo de nuevas memorias no seguras se desacelera después de un cierto período de tiempo y el desarrollo de nuevas memorias seguras toma el control, afirman Jeff Vander Stoep y Alex Rebert de Google. dicho en una publicación compartida con The Hacker News.

Quizás aún más interesante es que el número de vulnerabilidades de seguridad de la memoria también puede disminuir a pesar de un aumento en la cantidad de nuevo código inseguro de memoria.

Ciberseguridad

La paradoja se explica por el hecho de que las vulnerabilidades decaen exponencialmente y un estudio encontró que una gran cantidad de vulnerabilidades a menudo residen en código nuevo o recientemente modificado.

«El problema es abrumadoramente nuevo, lo que requiere un cambio fundamental en la forma en que desarrollamos el código», señalaron Vander Stoep y Rebert. «El código madura y se vuelve más seguro con el tiempo, exponencialmente, lo que hace que los retornos de las inversiones, como las reescrituras, disminuyan con el tiempo a medida que el código se vuelve más antiguo».

Google, que anunció formalmente sus planes de soportar el lenguaje de programación Rust en Android en abril de 2021, dijo que comenzó a priorizar la transición de nuevos desarrollos a lenguajes seguros para la memoria alrededor de 2019.

Como resultado, el número de vulnerabilidades de seguridad de la memoria descubiertas en el sistema operativo ha disminuido de 223 en 2019 a menos de 50 en 2024.

Programación en Rust

Tampoco hace falta decir que gran parte de la disminución de tales fallas se debe a los avances en las formas ideadas para combatirlas, pasando de la aplicación de parches reactivos a la mitigación proactiva y al descubrimiento proactivo de vulnerabilidades mediante herramientas como los desinfectantes Clang.

El gigante tecnológico señaló además que las estrategias de seguridad de la memoria deberían evolucionar aún más para priorizar la «prevención de alta seguridad» incorporando Principios de seguridad por diseño que consagran la seguridad en sus mismos cimientos.

«En lugar de centrarnos en las intervenciones aplicadas (mitigaciones, pruebas de vulnerabilidades) o intentar utilizar el rendimiento pasado para predecir la seguridad futura, Safe Coding nos permite hacer afirmaciones sólidas sobre las propiedades del código y lo que puede o no suceder en función de esas propiedades», dijeron Vander Stoep y Rebert.

Pero eso no es todo. Google afirmó que también se está centrando en ofrecer interoperabilidad entre Rust, C++ y Kotlin, en lugar de reescrituras de código, como un «enfoque práctico e incremental» para adoptar lenguajes seguros para la memoria y, en última instancia, eliminar clases de vulnerabilidades completas.

«Adoptar codificación segura en códigos nuevos supone un cambio de paradigma que nos permite aprovechar la disminución inherente de las vulnerabilidades en nuestro beneficio, incluso en sistemas existentes de gran tamaño», afirma.

Ciberseguridad

«El concepto es simple: una vez que cerramos el grifo de nuevas vulnerabilidades, estas disminuyen exponencialmente, lo que hace que todo nuestro código sea más seguro, aumenta la eficacia del diseño de seguridad y alivia los desafíos de escalabilidad asociados con las estrategias de seguridad de memoria existentes, de modo que se puedan aplicar de manera más efectiva y específica».

El desarrollo se produce mientras Google promociona una mayor colaboración con los equipos de ingeniería de seguridad de productos y de la unidad de procesamiento de gráficos (GPU) de Arm para señalar múltiples deficiencias y elevar la seguridad general de la pila de software/firmware de la GPU en todo el ecosistema Android.

Esto incluye el descubrimiento de dos problemas de memoria en la personalización del código del controlador de Pixel (CVE-2023-48409 y CVE-2023-48421) y otro en el firmware de la GPU Arm Valhall y el firmware de la arquitectura de la GPU de quinta generación (CVE-2024-0153).

«Las pruebas proactivas son una buena práctica de higiene, ya que pueden conducir a la detección y resolución de nuevas vulnerabilidades antes de que sean explotadas», afirman Google y Arm. dicho.

¿Te ha parecido interesante este artículo? Síguenos en Gorjeo y LinkedIn para leer más contenido exclusivo que publicamos.





ttn-es-57