El proyecto Tor ha presentado una implementación en lenguaje Rust, que en el futuro reemplazará la versión en C

Los desarrolladores de la red anónima Tor han presentado el proyecto Arti, en el cual se trabaja en la creación de una implementación del protocolo Tor en el lenguaje Rust. A diferencia de la implementación en C, que inicialmente fue diseñada como un proxy SOCKS y luego adaptada a otras necesidades, Arti se desarrolla desde el principio en forma de una biblioteca modular incrustable que diferentes aplicaciones podrán utilizar. Se ha estado trabajando en ello durante más de un año con financiación a través del programa de subvenciones Zcash Open Major Grants (ZOMG). El código se distribuye bajo las licencias Apache 2.0 y MIT.

Entre las razones para reescribir Tor en Rust se encuentra el deseo de lograr un nivel más alto de seguridad en el código mediante el uso de un lenguaje que garantiza una gestión segura de la memoria. Según los desarrolladores de Tor, al menos la mitad de todas las vulnerabilidades rastreadas por el proyecto serán eliminadas en la implementación en Rust, siempre que no se utilicen bloques «unsafe» en el código. Rust también permitirá un mayor velocidad de desarrollo que al usar C, gracias a la expresividad del lenguaje y las estrictas garantías, lo que permite no perder tiempo en dobles verificaciones y en la escritura de código innecesario. Además, al desarrollar este nuevo proyecto se tiene en cuenta toda la experiencia pasada en el desarrollo de Tor, lo que evitará problemas arquitectónicos conocidos, haciendo que el proyecto sea más modular y eficiente.

En su estado actual, Arti ya puede conectarse a la red Tor, asegurando la interacción con servidores directorios y creando conexiones anonimizadas sobre Tor con la provisión de un proxy basado en el protocolo SOCKS. Se recomienda no usar el desarrollo en sistemas de producción por el momento, ya que no todas las capacidades de privacidad están implementadas y no se garantiza la compatibilidad hacia atrás a nivel de API. Se prevé lanzar la primera versión del cliente, que cumpla con los criterios de seguridad, que soporte nodos vigilantes y aislamiento de flujos, en octubre.

En marzo de 2022 se espera el primer lanzamiento beta con una implementación experimental de la biblioteca integrada y optimizaciones de rendimiento. El primer lanzamiento estable, con una API estable, CLI y formato de configuración, así como una auditoría programada, está previsto para mediados de septiembre de 2022. Esta versión será adecuada para el uso inicial de los usuarios comunes. A finales de octubre de 2022 se espera la actualización 1.1 con soporte para transporte conectable y puentes para el eludir bloqueos. El soporte para servicios onion está previsto para el lanzamiento 1.2, y se espera que el paridad con el cliente en C se logre en el lanzamiento 2.0, cuyos plazos aún no se han determinado.

En el futuro, los desarrolladores prevén una disminución gradual de la actividad en torno al desarrollo de código en C, y un aumento en el tiempo dedicado a la edición en Rust. Cuando la implementación en Rust alcance un nivel capaz de reemplazar la variante en C, los desarrolladores dejarán de agregar nuevas funciones a la implementación en C y, después de un tiempo, dejarán completamente de soportarla. Pero esto no sucederá pronto, y mientras la implementación en Rust no alcance el nivel de un reemplazo completo, el desarrollo del cliente y del relé Tor en C continuará.

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