La Fundación Trifecta impulsa bibliotecas de compresión más seguras con Rust

El proyecto zlib-rs lidera una transformación hacia implementaciones con seguridad de memoria en la compresión de datos.

La Fundación Trifecta Tech ha lanzado una ambiciosa iniciativa para reescribir en Rust algunas de las bibliotecas de compresión más utilizadas del mundo, con el objetivo de mejorar la seguridad, la eficiencia y la portabilidad de estas herramientas esenciales. Con un enfoque en la seguridad de memoria, su propuesta busca sustituir implementaciones en C tradicionalmente vulnerables, sin sacrificar rendimiento ni compatibilidad.

Compresión más segura: de zlib a zstd

Las bibliotecas seleccionadas para esta transición son zlib, zstd, bzip2 y xz. Todas ellas se encuentran presentes en protocolos web, sistemas de archivos comprimidos, herramientas de backup y formatos de empaquetado.

La piedra angular del proyecto es zlib-rs, una implementación en Rust del conocido formato zlib. Esta versión nace con la premisa de ofrecer una API segura y compatible tanto para proyectos en Rust como en C. Para ello, el equipo ha desarrollado también libz-rs-sys, una biblioteca dinámica que actúa como sustituto directo de zlib en sistemas que aún no emplean Rust de forma nativa.

La primera integración significativa de zlib-rs se produjo en abril de 2024, cuando fue incluida como backend opcional en la popular biblioteca Rust flate2. Más tarde, en noviembre del mismo año, zlib-rs superó una auditoría de seguridad a cargo de la ISRG (Internet Security Research Group), consolidando su posición como alternativa viable y confiable.

bzip2 y c2rust: traduciendo código con precisión

Tras el avance con zlib, el siguiente paso fue bzip2-rs, iniciado en octubre de 2024. En este caso, Trifecta optó por una estrategia de traducción asistida: utilizar c2rust para convertir automáticamente el código fuente de la biblioteca original en C a Rust. Aunque este método exige una fase posterior de refactorización y optimización, permite avanzar rápidamente en la creación de versiones funcionales con compatibilidad plena.

Esta nueva versión ya se encuentra disponible en GitHub y en el registro oficial de paquetes de Rust, crates.io. Gracias a su enfoque modular, permite compilar directamente desde Rust o bien mantener la dependencia con libbz2 del sistema, según las necesidades del proyecto.

En el horizonte: xz y zstd

Trifecta busca actualmente financiación para extender este modelo a otras dos herramientas ampliamente usadas: xz, famosa por su elevada tasa de compresión (aunque más lenta), y zstd, un algoritmo moderno que equilibra velocidad y eficiencia.

El objetivo es ambicioso: alcanzar el mismo rendimiento que las versiones en C/C++, ofrecer bibliotecas que puedan sustituir directamente a las existentes, y construir una arquitectura más segura gracias al sistema de tipos y garantías de seguridad en tiempo de compilación que ofrece Rust.

Objetivos técnicos de la iniciativa

Entre los logros que persigue el equipo destacan:

  • Rendimiento equiparable al de las implementaciones clásicas
  • Compilación cruzada sin necesidad de toolchains en C
  • Integración nativa con el ecosistema Rust
  • Reducción del riesgo de explotación mediante seguridad de memoria
  • Paquetes dinámicos compatibles con software heredado

Además, Trifecta trabaja en soporte para WebAssembly, haciendo que estas bibliotecas puedan ejecutarse de forma segura en entornos como navegadores, sistemas embebidos y servidores edge.

Cómo colaborar

El equipo hace un llamamiento a desarrolladores, empresas tecnológicas y organizaciones públicas interesadas en apoyar esta transición hacia una infraestructura de compresión más robusta y sostenible. Ofrecen servicios de soporte técnico y asesoramiento sobre cómo adoptar estas nuevas bibliotecas en entornos de producción.

Trifecta Tech Foundation demuestra que es posible mantener compatibilidad, mejorar el rendimiento y eliminar riesgos históricos, todo al mismo tiempo, gracias al uso de Rust en el corazón del software de infraestructura.

“No se trata solo de sustituir líneas de código en C, sino de repensar cómo debería funcionar la infraestructura crítica del software moderno. Rust ofrece una oportunidad real de hacerlo sin comprometer el rendimiento.” — Trifecta Tech Foundation.

Referencias: Trifecta foundation, zlib-rs GitHub Repository y bzip2-rs GitHub Repository

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
×