El Proyecto Tor ha publicado Arti 0.0.3, una implementación del cliente Tor en Rust

Los desarrolladores de la red anónima Tor presentaron el lanzamiento del proyecto Arti 0.0.3, que desarrolla un cliente Tor escrito en lenguaje Rust. El proyecto tiene el estado de desarrollo experimental, está por detrás de la funcionalidad del cliente Tor principal en C y aún no está listo para reemplazarlo por completo. En marzo se espera la versión 0.1.0, que se posiciona como la primera versión beta del proyecto, y en otoño la versión 1.0 con estabilización de API, CLI y configuraciones, que será adecuada para el uso inicial por parte de usuarios comunes. En un futuro más lejano, cuando el código Rust alcance un nivel que pueda reemplazar completamente la versión C, los desarrolladores tienen la intención de darle a Arti el estado de implementación principal de Tor y dejar de mantener la implementación C.

A diferencia de la implementación C, que primero se diseñó como un proxy SOCKS y luego se adaptó a otras necesidades, Arti se desarrolló inicialmente en forma de una biblioteca modular integrable que puede ser utilizada por varias aplicaciones. Además, al desarrollar un nuevo proyecto, se tiene en cuenta toda la experiencia pasada en desarrollo de Tor, lo que evitará problemas arquitectónicos conocidos y hará que el proyecto sea más modular y eficiente. El código se distribuye bajo las licencias Apache 2.0 y MIT.

Las razones para reescribir Tor en Rust son el deseo de lograr un mayor nivel de seguridad del código mediante el uso de un lenguaje que garantice un funcionamiento seguro con la memoria. Según los desarrolladores de Tor, al menos la mitad de todas las vulnerabilidades monitoreadas por el proyecto se eliminarán en una implementación de Rust si el código no utiliza bloques "inseguros". Rust también permitirá alcanzar velocidades de desarrollo más rápidas que usando C, debido a la expresividad del lenguaje y a las estrictas garantías que permiten evitar perder tiempo comprobando dos veces y escribiendo código innecesario.

Entre los cambios en la versión 0.0.3 se encuentra una revisión completa del sistema de configuración y la API asociada. El cambio hizo posible cambiar la configuración de Rust sobre la marcha mientras el cliente Tor se estaba ejecutando. También se ha agregado un nuevo sistema para la construcción de circuitos preventivos, que tiene en cuenta los puertos utilizados anteriormente para crear de forma preventiva cadenas que probablemente se necesitarán en el futuro.

Fuente: opennet.ru

Añadir un comentario