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

Los desarrolladores del proyecto Tor han publicado la versión 2.0.0 de Arti, una variante oficialmente desarrollada del kit de herramientas de Tor, escrita en el lenguaje Rust. La implementación se considera adecuada para su uso por parte de usuarios comunes, asegurando el mismo nivel de privacidad, usabilidad y estabilidad que la implementación principal en C. Cuando el código en Rust alcance el nivel capaz de reemplazar completamente la variante en C, los desarrolladores planean otorgar a Arti el estatus de implementación principal de Tor y gradualmente dejar de dar soporte a la variante 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.

Se ha realizado un cambio significativo en el número de versión de acuerdo con el modelo de versionado semántico utilizado por el proyecto, y se relaciona con los cambios que rompen la compatibilidad hacia atrás. Se ha descontinuado el soporte para las configuraciones proxy.socks_port y proxy.dns_port, que previamente habían sido declaradas obsoletas, siendo reemplazadas por las configuraciones proxy.socks_listen y proxy.dns_listen. Se ha descontinuado el soporte para la antigua sintaxis de definición servidores de directorios (Directory Authority). Se han etiquetado como experimentales todas las interfaces de programación del paquete crate arti que planean trasladar a otros paquetes crate o eliminar.

Entre las nuevas funcionalidades se destaca el soporte para un nuevo tipo de socket «inet-auto» destinado a la asignación automática de puertos TCP no utilizados para el servidor RPC. Se ha continuado con la implementación de funcionalidades para relés y servidores de directorio. Se ha trabajado en la gestión de certificados para servidores de directorio, añadiendo la capacidad de cargar, verificar y almacenar certificados. Para los relés, se ha implementado una nueva arquitectura modular para la gestión de cadenas de nodos, soporte para la creación de canales de comunicación con otros relés, soporte para el tratamiento de solicitudes de conexión y la posibilidad de que un relé actúe como servidores al establecer una conexión TLS.

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