El Gobierno de Estados Unidos ha lanzado un llamado para dejar atrás los lenguajes de programación C y C++, y adoptar opciones más seguras como Rust, a fin de mitigar vulnerabilidades críticas en el software. Esta recomendación surge del informe técnico de la Oficina Nacional del Director de Ciberseguridad (ONCD) de la Casa Blanca, que aboga por un cambio hacia lenguajes seguros en memoria como parte de una estrategia nacional de ciberseguridad.
Este informe subraya que muchas de las fallas de seguridad más importantes de las últimas décadas, como Heartbleed y BLASTPASS, se deben a errores de manejo de memoria, agravados por el uso de C y C++.
Rust se perfila como el nuevo estándar en programación segura, gracias a sus características de seguridad en tiempo de compilación que previenen errores como los desbordamientos de búfer y el uso de punteros colgantes. Esta robustez ha captado la atención de instituciones gubernamentales en busca de prevenir ataques. El Director Nacional de Ciberseguridad, Harry Coker, destacó la importancia de reducir la exposición al riesgo adoptando lenguajes más seguros.
En el ámbito del procesamiento de vídeo, el debate entre rendimiento y seguridad se intensifica. El proyecto de software libre FFmpeg expresó su escepticismo ante la recompensa de 20,000 dólares ofrecida por Prossimo para mejorar el rendimiento de su decodificador AV1 “rav1d”, desarrollado en Rust. Aunque este es apenas un 5% más lento que su contraparte en C, “dav1d”, el incentivo fue visto como una crítica implícita a la velocidad de Rust en comparación con C.
El respaldo de la Casa Blanca a esta transición no es una discusión aislada. La ONCD enfatiza la necesidad de un enfoque híbrido, que permita migrar bibliotecas críticas hacia Rust mientras se mantienen los sistemas heredados en C y C++. Esta transición es vista como crucial para eliminar un amplio espectro de errores. Agencias como la CISA, NSA y el FBI han publicado directrices para fomentar esta migración hacia lenguajes seguros.
El informe también aborda otros métodos para situaciones donde Rust no es viable, como en sistemas embebidos, recomendando el uso de hardware con protección de memoria y métodos formales de verificación matemática.
Además, se enfatiza la necesidad de desarrollar métricas que mejoren la medición de la calidad del software, permitiendo a las organizaciones evaluar el riesgo y la ciberseguridad de sus componentes.
Esta estrategia gubernamental representa una oportunidad histórica para la industria del software. La transición hacia Rust y una programación más segura no solo promete un aumento en la seguridad, sino también nuevas oportunidades y confianza en el mercado, alineando recursos actuales con las aspiraciones del futuro de la ciberseguridad.