Curl avanza hacia una mayor seguridad con la integración de Rustls para conexiones TLS con memoria segura

Curl es una de las utilidades de transferencia de red más utilizadas en todo el mundo, presente en sistemas operativos de escritorio, servidores, dispositivos embebidos e incluso vehículos y electrodomésticos conectados. Su función principal —transferir datos a través de la red— hace que su seguridad sea crítica, ya que cualquier vulnerabilidad podría comprometer millones de sistemas a nivel global.

Un reto de memoria segura en software crítico

Durante años, curl ha sido desarrollado en C, un lenguaje rápido pero propenso a vulnerabilidades de seguridad, especialmente aquellas relacionadas con la gestión de memoria. Ante este reto, la Internet Security Research Group (ISRG) y el proyecto Prossimo identificaron a curl como un candidato estratégico para experimentar con la integración de librerías escritas en Rust, un lenguaje que garantiza memoria segura y reduce drásticamente la aparición de errores críticos.

Colaboración para modernizar el núcleo de curl

ISRG contactó con Daniel Stenberg, creador y principal mantenedor de curl, para explorar cómo proteger mejor los componentes clave del software, especialmente el procesamiento de protocolos HTTP y TLS. La premisa: si existen librerías escritas en Rust que ofrezcan interfaces compatibles con C, los proyectos en C y C++ pueden beneficiarse de la seguridad de Rust sin necesidad de migrar todo su código ni que sus desarrolladores conozcan este nuevo lenguaje.

De este modo, se diseñó un plan para que curl pudiera compilarse con alternativas de memoria segura tanto para HTTP como para TLS. Para el manejo de HTTP se seleccionó la librería Hyper y, para las conexiones seguras, Rustls.

Resultados y situación actual

A través de contratos directos, Daniel Stenberg se encargó de la integración de Hyper, mientras que el ingeniero de ISRG Jacob Hoffman-Andrew integró Rustls para la gestión de TLS en curl. Tras finalizar el trabajo y recopilar valiosas lecciones sobre la interoperabilidad entre Rust y C, los usuarios de curl pueden, a día de hoy, compilar la herramienta utilizando Rustls para conexiones seguras, aportando una capa de protección adicional frente a vulnerabilidades de memoria.

Cabe señalar que la integración con Hyper ha llegado al final de su vida útil y ya no está disponible en las últimas versiones, aunque el soporte para Rustls sigue vigente y evolucionando.

Lecciones para la seguridad de Internet

El caso de curl pone de manifiesto el enorme desafío y las oportunidades que existen para introducir memoria segura en proyectos críticos del ecosistema digital. Aunque la transición completa de C a Rust puede ser compleja y requiere consenso dentro de las comunidades de software libre, iniciativas como la integración de Rustls muestran que es posible dar pasos importantes hacia una infraestructura más robusta y resistente frente a ataques.

La experiencia acumulada servirá de ejemplo para futuros proyectos que busquen modernizar componentes vitales de Internet sin sacrificar compatibilidad ni rendimiento.


Curl da un paso adelante en materia de seguridad gracias a la opción de compilarse con Rustls para TLS, aportando memoria segura a uno de los pilares del software de red. Aunque queda camino por recorrer, esta colaboración demuestra que es posible reforzar la seguridad de Internet mediante la integración gradual de tecnologías modernas y seguras.

Fuente: Memory Safety

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×