Más de la mitad (52%) de los proyectos críticos de código abierto contienen código escrito en un lenguaje que no es seguro para la memoria, según un nuevo análisis realizado por la Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) en colaboración con agencias gubernamentales asociadas de Australia y Canadá. El informe conjunto Explorando la seguridad de la memoria en proyectos críticos de código abierto investigó la escala del riesgo de seguridad de la memoria en el software de código abierto. Analizó una lista de 172 proyectos derivados de la Lista de Proyectos Críticos del Grupo de Trabajo de Seguridad de Proyectos Críticos de la Open Source Security Foundation (OpenSSF). El informe concluyó que la mayoría de los proyectos críticos de código abierto contienen potencialmente vulnerabilidades de seguridad de la memoria. Esto es el resultado del uso directo de lenguajes no seguros para la memoria o de la dependencia externa de proyectos que usan lenguajes no seguros para la memoria. Las agencias observaron que el 55% del total de líneas de código (LoC) de todos los proyectos estaban escritas en un lenguaje que no era seguro para la memoria. Estos proyectos incluyen núcleos y controladores de sistemas operativos, criptografía y redes. Cada uno de los 10 proyectos más grandes por LoC total tenía una proporción de LoC de memoria insegura superior al 26 %. Cuatro de los 10 proyectos más grandes superaron el 94 % del límite de control de memoria insegura. Riesgos de seguridad derivados de lenguajes no seguros para la memoria El nuevo análisis sigue a un informe de la Casa Blanca publicado en febrero de 2024, que pedía a la industria tecnológica que adoptara lenguajes de programación seguros para la memoria. El informe de la Oficina del Director Cibernético Nacional (ONCD) citó investigaciones que muestran que hasta el 70% de las vulnerabilidades y exposiciones comunes (CVE) se relacionan con problemas de seguridad de la memoria, como los desbordamientos del búfer, que podrían eliminarse mediante la adopción de lenguajes de programación seguros para la memoria, como como óxido. Actualmente, la mayor parte del código está escrito en lenguajes no seguros para la memoria, como C y C++. Esto significa que dicho código está generando costos sustanciales de parches y respuesta a incidentes para los fabricantes y consumidores de software. En declaraciones a Infosecurity, Jack Cable, asesor técnico senior de CISA, dijo que los problemas de seguridad de la memoria son la clase de vulnerabilidad más peligrosa en el software actual. «Seguimos viendo muchos de los exploits más peligrosos que aprovechan las vulnerabilidades de seguridad de la memoria», comentó. El tipo de código utilizado en el software de código abierto, que prevalece en todos los sectores, es difícil de aplicar, ya que es creado por un ecosistema de individuos. Los gobiernos de EE. UU., el Reino Unido y la UE están colaborando actualmente con la comunidad de código abierto para desarrollar normas de seguridad viables para este ecosistema. Transición a lenguajes seguros para la memoria El nuevo informe destacó los desafíos de alejarse de los lenguajes no seguros para la memoria en proyectos de código abierto. «Cuando las limitaciones de rendimiento y recursos son factores críticos, hemos visto y esperamos el uso continuo de lenguajes que no son seguros para la memoria», afirma el informe. Sin embargo, se observó que los avances recientes en lenguajes seguros para la memoria, como Rust, pueden ser paralelos al rendimiento de los lenguajes no seguros para la memoria. Cable reconoció que existen desafíos para alejarse de la actual dependencia de los lenguajes C y C++, pero instó a los fabricantes a desarrollar hojas de ruta de seguridad de la memoria para planificar este viaje. «Necesitan pensar de manera priorizada cómo van a reducir esta clase de vulnerabilidad en todo su producto, ya sea reescribiendo el código crítico existente que se encuentra en el borde de la red o comprometiéndose a escribir código nuevo, nuevos productos en la memoria segura». idiomas”, afirmó.