Google Él tiene Saluda al óxidoque es un lenguaje de programación seguro para la memoria, como un factor importante en su capacidad para reducir las vulnerabilidades como parte de Codificación segura iniciativa.
Las vulnerabilidades de acceso a la memoria a menudo ocurren en lenguajes de programación que no se consideran seguros para la memoria. En 2019, los problemas de seguridad de la memoria representaron el 76% de todas las vulnerabilidades de Android.
En respuesta, muchos desarrolladores y gigantes tecnológicos están avanzando hacia el uso de lenguajes seguros para la memoria que les ayuden a producir software y tecnologías que sean seguras por diseño.
Las debilidades se desvanecen
En su blog, Google simuló la transición a lenguajes seguros para la memoria utilizando gradualmente código seguro para la memoria en nuevos proyectos y desarrollos durante cinco años. Los resultados mostraron que a pesar del aumento gradual del código escrito en lenguajes que no son seguros para la memoria, las vulnerabilidades de seguridad de la memoria han disminuido significativamente.
Google dice que esto se debe a que las vulnerabilidades están desapareciendo dramáticamente. El código nuevo escrito en lenguajes que no son seguros para la memoria a menudo contiene errores y vulnerabilidades de seguridad, pero a medida que el código se revisa y actualiza, las vulnerabilidades se eliminan gradualmente, lo que hace que el código sea más seguro con el tiempo. Así, la principal fuente de vulnerabilidades es el código nuevo, y al priorizar el uso de lenguajes de programación seguros para la memoria al iniciar nuevos proyectos y desarrollos, el número de vulnerabilidades disminuye significativamente.
En el cambio de Google hacia el uso de lenguajes de programación seguros para la memoria, ha habido una disminución significativa en la cantidad de vulnerabilidades relacionadas con la memoria, y las vulnerabilidades relacionadas con la memoria caerán al 24% en 2024, un marcado contraste con 2019 y muy por debajo del estándar de la industria. 70%.
Sin embargo, utilizar lenguajes seguros para la memoria no es una solución milagrosa, y Google admite que “con el beneficio de la experiencia, está claro que todavía no hemos logrado una solución verdaderamente escalable y sostenible que alcance un nivel de riesgo aceptable”.
Las estrategias para abordar las vulnerabilidades de la memoria han comenzado con parches reactivos, donde los fabricantes de software dan prioridad a las vulnerabilidades de la memoria, dejando que otros problemas se exploten más rápidamente.
El segundo enfoque fue la mitigación proactiva, donde se alentó a los desarrolladores a incluir medidas de mitigación como pruebas de vulnerabilidad y control de la integridad del flujo a expensas de la velocidad de ejecución, la duración de la batería, el tiempo de respuesta y el uso de la memoria. Los desarrolladores tampoco han podido mantenerse al día con la capacidad de los atacantes para explotar vulnerabilidades de formas nuevas e innovadoras.
En tercer lugar, el descubrimiento de vulnerabilidades fue proactivo, centrándose en descubrir vulnerabilidades mediante “pruebas aleatorias”, donde las vulnerabilidades se rastrean mediante síntomas de memoria insegura. Sin embargo, como señala Google, estas herramientas son ineficientes, consumen mucho tiempo para los equipos y, a menudo, no descubren todas las vulnerabilidades, incluso con múltiples intentos.
Por lo tanto, la cuarta táctica de Google es participar en una prevención de alta seguridad y un desarrollo seguro desde el diseño. Al utilizar lenguajes de programación como Rust, los desarrolladores conocen y comprenden las propiedades del código que han escrito y pueden inferir vulnerabilidades basándose en esas propiedades. Esto reduce el costo para los desarrolladores al reducir la cantidad de vulnerabilidades desde el principio, incluidas las vulnerabilidades fuera de los problemas de seguridad de la memoria. Esta reducción de costos acumulativos también tiene el beneficio adicional de hacer que los desarrolladores sean más productivos.
“El concepto es simple”, señala el blog de Google, “una vez que cerramos el grifo a las nuevas vulnerabilidades, estas disminuyen dramáticamente, haciendo que todo nuestro código sea más seguro, aumentando la efectividad del diseño de seguridad y aliviando los desafíos de escala asociados con las vulnerabilidades existentes”. estrategias de seguridad de la memoria para que puedan implementarse de manera más efectiva y específica”.