En 2020, Google identificó que más del 70% de los errores de seguridad graves de su navegador Chrome fueron causados ​​en realidad por problemas de seguridad de la memoria. «Es decir», dijo el equipo de Chrome, «errores con punteros en los lenguajes C o C++ que provocan que la memoria se malinterprete». En 2022, la NSA intervino en la seguridad de la memoria y Neal Ziring, su director técnico de ciberseguridad, dijo que “los problemas de gestión de la memoria se han explotado durante décadas y siguen siendo demasiado comunes en la actualidad. Tenemos que utilizar constantemente lenguajes seguros para la memoria y otras protecciones al desarrollar software para eliminar estas debilidades de los ciberataques maliciosos”. Sin embargo, ese no fue el final del asunto. Los lenguajes de programación seguros para la memoria han seguido siendo objeto de intensa atención. En febrero de este año, la Oficina del Director Cibernético Nacional (ONCD) de la Casa Blanca de EE. UU. emitió un informe en el que aconsejaba que todos los programadores deberían pasar a lenguajes de programación seguros para la memoria. 5 trabajos para descubrir esta semana Únase a la Cumbre sobre el futuro de la IA del Financial Times del 6 al 7 de noviembre. En asociación con TNW, la Cumbre sobre el futuro de la IA explora la vanguardia de la innovación en IA y cómo se está ampliando para alcanzar el éxito y el crecimiento. Coordinador de ciberseguridad Francia M/F, MBDA Francia, Le Plessis-Robinson Data Scientist (F/H), Novencia, Lyon Software Architect, GDV Dienstleistungs-GmbH, Hamburg Software Developer, InTraffic, Utrecht Software Architect, Capgemini, Eindhoven El informe señala que la carga de la protección contra amenazas de ciberseguridad recae actualmente en los usuarios finales y que «se deben hacer esfuerzos para eliminar de forma proactiva categorías enteras de vulnerabilidades de software». El informe dio más detalles y dijo que «los expertos han identificado algunos lenguajes de programación que carecen de características asociadas con la seguridad de la memoria y también tienen una alta proliferación en sistemas críticos, como C y C++». La seguridad de la memoria es ahora más importante que nunca, porque mucho de lo que hacemos sucede en línea. La pandemia aceleró la rápida adopción del comercio electrónico, los pagos en línea y la publicidad digital, según el Foro Económico Mundial. Como resultado, hay muchas más vulnerabilidades potenciales que explotar. Stack Overflow señala que algunos de los mayores eventos de vulnerabilidad del pasado fueron problemas de seguridad de la memoria. Estos incluyen Heartbleed de 2014, que afectó al software OpenSSL y permitió a los delincuentes robar certificados X.509, nombres de usuario y contraseñas, mensajes instantáneos y correos electrónicos. En 2017, el ataque de ransomware WannaCry atrajo una atención masiva a medida que se propagó a nivel mundial, infectando más de 230.000 computadoras. Un nuevo Informe sobre seguridad del consumidor y delitos financieros de Revolut señala a las metaplataformas como la mayor fuente de todas las estafas (62%) a nivel mundial durante la primera mitad de 2024. Revolut identificó que Facebook tenía volúmenes de fraude (39%) que eran más del doble. de WhatsApp (18%). Hacer que C++ sea seguro Los lenguajes seguros para la memoria existen e incluyen Rust, Go, Java, Swift y Python. C++ está bajo especial escrutinio debido a la cantidad de código crítico que se ha escrito en él. Dado el contexto, no es tan sorprendente que la comunidad C++ haya reaccionado, anunciando la propuesta de Extensiones Seguras de C++ en septiembre de este año. ​​El trabajo se realiza a través de C++ Alliance, y su presidente y director ejecutivo, Vinnie Falco, dijo que se trataba de «una propuesta revolucionaria que agrega características de seguridad de memoria al lenguaje de programación C++». Falco añadió que: “la necesidad de un código seguro nunca ha sido más apremiante. Con la creciente importancia de la seguridad y confiabilidad del software, los desarrolladores enfrentan una presión cada vez mayor para adoptar prácticas de codificación más seguras. Las Extensiones Safe C++ tienen como objetivo abordar esta necesidad crítica mediante la introducción de características novedosas que previenen errores comunes relacionados con la memoria”. Entonces, ¿esto solucionará el problema? Algunos críticos se muestran escépticos y el desarrollador de C++ Alliance, Sean Baxter, señala que: “Sólo existe un lenguaje popular de nivel de sistemas/sin recolección de basura que proporciona una seguridad de memoria rigurosa. Ese es el lenguaje Rust. Aunque juegan en el mismo espacio, C++ y Rust tienen diseños diferentes con capacidad de interoperabilidad limitada, lo que hace que la migración incremental de C++ a Rust sea un proceso laborioso”. Se sugieren varias acciones para garantizar el rendimiento del código C++, incluida la prohibición de que los desarrolladores escriban operaciones que puedan dar como resultado comportamientos indefinidos de seguridad de por vida, seguridad de tipos o seguridad de subprocesos. Además, existen otros desafíos, y Baxter señala que «aunque juegan en el mismo espacio, C++ y Rust tienen diseños diferentes con capacidad de interoperabilidad limitada, lo que hace que la migración incremental de C++ a Rust sea un proceso laborioso». Mover el código al estado seguro de la memoria será laborioso y consumirá mucho tiempo, pero la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) está tratando de cerrar esta brecha utilizando la IA. Está desarrollando un vehículo de conversión de código programático llamado TRACTOR (Translating All C TO Rust). Dice que «el objetivo es lograr la misma calidad y estilo que produciría un desarrollador experto de Rust, eliminando así toda la clase de vulnerabilidades de seguridad de la memoria presentes en los programas C». ¿Listo para encontrar su próximo rol de software? Consulte la próxima bolsa de trabajo web