Los desarrolladores de la red anónima Tor han publicado la versión 1.1.12 del proyecto Arti, que desarrolla un cliente Tor escrito en Rust. La rama 1.x se considera adecuada para el uso por parte de usuarios comunes y garantiza el mismo nivel de privacidad, usabilidad y estabilidad que la implementación principal en C. El código se distribuye bajo las licencias Apache 2.0 y MIT.
A diferencia de la implementación en C, que inicialmente se diseñó como un proxy SOCKS y luego se ajustó para otras necesidades, Arti se desarrolla desde el principio como una biblioteca modular integrada que podrán utilizar diversas aplicaciones. Además, al desarrollar el nuevo proyecto se tiene en cuenta toda la experiencia previa en el desarrollo de Tor, lo que permite evitar problemas arquitectónicos conocidos, hacer el proyecto más modular y eficiente. Cuando el código en Rust alcance un nivel que pueda reemplazar completamente la versión en C, los desarrolladores tienen la intención de dar a Arti el estatus de implementación principal de Tor y dejar de dar soporte a la implementación en C.
Como razón para reescribir Tor en Rust se menciona el deseo de lograr un nivel más alto de seguridad del código mediante el uso de un lenguaje que garantiza un manejo seguro de la memoria. Según estimaciones de 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á lograr una mayor velocidad de desarrollo que al usar C, gracias a la expresividad del lenguaje y las estrictas garantías que evitan perder tiempo en dobles verificaciones y en la escritura de código innecesario.
La versión 1.1.12 de Arti es notable por llevar la implementación de servicios onion a un estado listo para pruebas y experimentos. Ahora, con Arti, no solo se puede conectarse a servicios onion existentes, sino también crear sus propios servicios onion. Sin embargo, en este momento, aún no están listos algunas características para garantizar la privacidad y protección de los servicios onion, como la autorización de clientes, la protección contra ataques de DoS y el mecanismo para evitar la identificación de nodos Guard 'Vanguard', por lo que la implementación aún no se recomienda para implementaciones en producción.
Fuente: opennet.ru
