La Agencia de Seguridad Nacional de EE. UU. ha publicado un informe que analiza los riesgos de vulnerabilidades causadas por errores de memoria, como acceder a un área de memoria después de haberla liberado y desbordamientos del búfer. Se alienta a las organizaciones a alejarse de los lenguajes de programación como C y C++ que dejan la administración de la memoria al desarrollador siempre que sea posible, a favor de lenguajes que brinden administración automática de la memoria o realicen comprobaciones de seguridad de la memoria en tiempo de compilación.
Los lenguajes recomendados para reducir el riesgo de errores de memoria incluyen C#, Go, Java, Ruby, Rust y Swift. Como ejemplo, se mencionan las estadísticas de las empresas Microsoft y Google, según las cuales alrededor del 70% de las vulnerabilidades en sus productos de software son causadas por un trabajo inseguro con la memoria. Cuando no es posible migrar a lenguajes más seguros, se recomienda a las organizaciones reforzar sus defensas mediante el uso de opciones adicionales del compilador, herramientas de detección de errores y ajustes del sistema operativo que dificultan la explotación de vulnerabilidades.
Fuente: opennet.ru