Lanzamiento de Arti 1.4.0, la implementación oficial de Tor en el lenguaje Rust

Los desarrolladores del proyecto Tor han publicado la versión Arti 1.4.0, una implementación del cliente Tor escrita en el lenguaje Rust. La rama 1.x está marcada como adecuada para el uso de usuarios comunes y proporciona el mismo nivel de privacidad, usabilidad y estabilidad que la implementación principal en C. Se espera alcanzar la paridad con el cliente en C en la rama 2.0. Cuando el código en Rust alcance un nivel capaz de reemplazar completamente la versión en C, los desarrolladores tienen la intención de otorgar a Arti el estatus de implementación principal de Tor y dejar de dar soporte a la versión en C. El código se distribuye bajo las licencias Apache 2.0 y MIT.

Arti se desarrolla inicialmente en forma de una biblioteca modular integrable que diversas aplicaciones pueden utilizar. En el diseño de Arti se ha tenido en cuenta la experiencia previa en el desarrollo de Tor, lo que ha permitido evitar problemas arquitectónicos conocidos, relacionados con el hecho de que la implementación en C fue inicialmente diseñada como un proxy SOCKS y luego ajustada para otras necesidades.

Además de la modernización de la arquitectura, la razón para reescribir Tor en Rust fue el deseo de aumentar la seguridad del código mediante el uso de un lenguaje que garantice un manejo seguro de la memoria. Según los desarrolladores de Tor, el uso del lenguaje Rust sin bloques «unsafe» permitirá prevenir al menos la mitad de todas las vulnerabilidades típicas en el proyecto. Además, se espera que Rust aumente la velocidad de desarrollo gracias a la expresividad del lenguaje y las estrictas garantías que permiten no perder tiempo en dobles verificaciones y en la escritura de código innecesario.

En esta nueva versión, se ha completado una nueva interfaz RPC que reemplaza el protocolo de control a través del puerto TCP definido por el parámetro ControlPort. RPC puede ser utilizado para integrar aplicaciones y servicios con Arti sin necesidad de incorporar en la aplicación una biblioteca con la funcionalidad de Arti.

Las principales diferencias del nuevo protocolo:

  • Uso del formato JSON en lugar de un formato específico que requiere su propio parser;
  • Sencillez para extender el protocolo. Formalización de cómo el cliente y servidor deben manejar mensajes, parámetros y datos no soportados;
  • Mecanismo para determinar la disponibilidad de RPC;
  • Soporte para enviar múltiples solicitudes simultáneamente en una sola conexión de red;
  • Disponibilidad de bibliotecas de cliente listas para C, Python y Rust.

Entre otros cambios en Arti 1.4.0, se mencionan trabajos preparatorios para respaldar relés y la continuación de la implementación de capacidades para proteger los servicios onion contra ataques DDoS.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster