Google anuncio el soporte de Rust para el desarrollo de Android
El pasado 6 de abril Google anunció que el Proyecto de código abierto de Android (AOSP) ahora admitirá el lenguaje Rust para el desarrollo de su sistema operativo móvil, este anuncio es parte de los esfuerzos de la compañía para abordar los problemas de seguridad de la memoria en el sistema operativo.
Según Google, las fallas de seguridad de la memoria con frecuencia amenazan la seguridad de los dispositivos, especialmente para aplicaciones y sistemas operativos. Por ejemplo, en el sistema operativo móvil Android, Google dice que descubrió que más de la mitad de las vulnerabilidades de seguridad abordadas en 2019 fueron el resultado de errores de seguridad de la memoria.
Esto, a pesar de los considerables esfuerzos realizados por la compañía y otros contribuyentes al proyecto Android Open Source, para invertir o inventar diversas tecnologías, incluido AddressSanitizer, asignadores de memoria mejorados y numerosos fuzzers y otras herramientas para verificar el código.
“Además de los lenguajes de memoria segura como Kotlin y Java, nos complace anunciar que el proyecto de código abierto de Android ahora es compatible con el lenguaje de programación Rust para el desarrollo del sistema operativo Android”, dijo Google en su blog.
“Invertimos mucho esfuerzo y recursos en la detección, corrección y mitigación de esta categoría de errores, y estos esfuerzos son efectivos para evitar que una gran cantidad de errores terminen en diferentes versiones de Android. Sin embargo, a pesar de estos esfuerzos, los errores de seguridad de la memoria continúan siendo una de las principales causas de problemas de estabilidad, y representan constantemente alrededor del 70% de las vulnerabilidades de seguridad de alta gravedad de Android ”, dijo Google.
El enfoque general de la seguridad de Android es multifacético y se basa en varios principios y técnicas para lograr soluciones basadas en datos que dificulten la explotación malintencionada. A principios de este año, Google informó que el equipo de la plataforma Android estaba trabajando mucho para proteger su sistema operativo móvil.
Google utiliza una variedad de fuentes para determinar qué áreas de la plataforma se beneficiarían más de las medidas de mitigación de seguridad. El programa Android Vulnerability Rewards es una fuente muy informativa: los ingenieros de seguridad analizan todas las vulnerabilidades enviadas bajo este programa para determinar la causa raíz de cada vulnerabilidad y su gravedad.
Los niveles inferiores del sistema operativo requieren lenguajes de programación de sistemas como C, C ++ y Rust. Estos lenguajes están diseñados con el control y la previsibilidad como objetivos. Proporcionan acceso a recursos del sistema y hardware de bajo nivel.
Son eficientes en el uso de recursos y tienen características de rendimiento más predecibles, ya que por ejemplo con C y C++, el desarrollador es responsable de administrar la vida útil de la memoria. Desafortunadamente, es fácil cometer errores al hacer esto, especialmente en bases de código complejas y multiproceso.
Según Google, Rust proporciona garantías de seguridad de la memoria mediante el uso de una combinación de comprobaciones en tiempo de compilación para hacer cumplir la duración / propiedad de los objetos y las comprobaciones en tiempo de ejecución para garantizar que los accesos a la memoria sean válidos. Esta seguridad se obtiene ofreciendo un rendimiento equivalente al de C y C++.
Google cree que los lenguajes orientados a la seguridad de la memoria como Rust son «la forma más rentable de prevenir errores de memoria» en el cargador de arranque, el arranque rápido, el kernel y otras partes de bajo nivel del sistema operativo.
Los lenguajes como Java y Kotlin son la mejor opción para desarrollar aplicaciones de Android. Estos lenguajes están diseñados para facilitar su uso, portabilidad y seguridad. Android Runtime (ART) administra la memoria en nombre del desarrollador.
El sistema operativo Android hace un uso extensivo de Java, que protege eficazmente gran parte de la plataforma Android de errores de memoria, desafortunadamente, para las capas inferiores del sistema operativo, Java y Kotlin no son adecuados.
Finalmente si estás interesado en conocer más al respecto sobre la nota, puedes consultar los detalles en el siguiente enlace.