En los últimos años, Google se ha estado esforzando en mejorar la seguridad de su sistema operativo Android. Una de las medidas adoptadas en ese sentido ha sido la adopción de lenguajes de programación que garantizan la seguridad de la memoria, siendo Rust el principal protagonista de este cambio.
Un cambio del que, sin duda, Android parece haberse beneficiado, a tenor de los datos. Quizá podrían tomar nota de ello los desarrolladores del kernel de Linux, que parecen inmersos en un ‘especie de guerra religiosa’ (palabras de Linus Torvalds, no nuestras) en torno a Rust vs. C/C++.
Las vulnerabilidades de seguridad en Android, como en muchos sistemas operativos, han estado dominadas históricamente por fallos relacionados con la seguridad de la memoria (como los desbordamientos de búfer).
Estos errores son especialmente comunes en lenguajes de programación como C y C++, que requieren que los desarrolladores gestionen la memoria de manera manual (un proceso proclive a errores si no se realiza de manera rigurosa).
De acuerdo con Google, en 2019 el 76% de las vulnerabilidades de Android (223) estaban relacionadas con problemas de seguridad de la memoria (el promedio de la industria se sitúa en el 70%).
Sin embargo, para finales del presente 2024, se espera que ese número caiga drásticamente a un 24% (un total de 50 vulnerabilidades), gracias en gran medida a la adopción de lenguajes de programación seguros para la memoria como Rust.
Uno de los principales beneficios que ha destacado Google es la menor tasa de reversión de cambios cuando se utiliza Rust en lugar de C++. Según el equipo de Android, los cambios en Rust tienen una tasa de reversión de menos de la mitad que los realizados en C++.
Esto significa que los errores inesperados que requieren deshacer los cambios de código ocurren con menos frecuencia cuando se utiliza Rust, lo que demuestra su eficacia para evitar fallos antes de que el código sea implementado.