Publication de Arti 2.0.0, une implémentation officielle de Tor en Rust

Les développeurs du projet Tor ont publié la version 2.0.0 d'Arti, une variante officiellement développée de l'outil Tor, écrite en Rust. Cette implémentation est signalée comme étant adaptée à un usage par le grand public, offrant le même niveau de confidentialité, d'utilisabilité et de stabilité que l'implémentation principale en C. Lorsque le code en Rust atteindra un niveau capable de remplacer totalement la version C, les développeurs envisagent de donner à Arti le statut d'implémentation principale de Tor et de cesser progressivement le support de la version en C. Le code est distribué sous les licences Apache 2.0 et MIT.

Arti est initialement développé sous la forme d'une bibliothèque modulaire intégrable, que diverses applications peuvent utiliser. La conception d'Arti a pris en compte l'expérience passée du développement de Tor, ce qui a permis d'éviter des problèmes architecturaux connus, liés au fait que l'implémentation en C avait d'abord été conçue comme un proxy SOCKS, puis ajustée pour répondre à d'autres besoins.

En plus de la modernisation de l'architecture, la réécriture de Tor en Rust a été motivée par le désir d'améliorer la sécurité du code grâce à l'utilisation d'un langage garantissant une gestion sécurisée de la mémoire. Selon les évaluations des développeurs de Tor, l'utilisation du langage Rust sans blocs « unsafe » devrait éviter l'apparition d'au moins la moitié de toutes les vulnérabilités typiques dans le projet. De plus, il est prévu que Rust améliore la rapidité de développement grâce à l'expressivité du langage et à ses garanties strictes, permettant d'économiser du temps en évitant les doubles vérifications et l'écriture de code superflu.

Un changement significatif du numéro de version a été effectué conformément au modèle de versionnement sémantique appliqué par le projet et est lié à des modifications qui perturbent la compatibilité ascendante. Le support des paramètres proxy.socks_port et proxy.dns_port, précédemment déclarés obsolètes, a été interrompu, remplacés par les paramètres proxy.socks_listen et proxy.dns_listen. Le support de l'ancienne syntaxe pour définir serveurs les répertoires (Directory Authority) a été supprimé. Tous les interfaces de programme du paquet crate arti, qui prévoient d'être déplacés vers d'autres paquets crate ou supprimés, sont marqués comme expérimentaux.

Parmi les nouvelles fonctionnalités, on note le support d'un nouveau type de sockets « inet-auto » pour l'attribution automatique d'un port TCP inutilisé pour le serveur RPC. La mise en œuvre des fonctionnalités pour les relais et les serveurs de répertoire a été poursuivie. Pour les serveurs de répertoire, des travaux ont été réalisés sur la gestion des certificats, avec ajout de la possibilité de télécharger, vérifier et stocker des certificats. Pour les relais, une nouvelle architecture modulaire de gestion des chaînes de nœuds a été mise en place, ainsi que la prise en charge de la création de canaux de communication avec d'autres relais, le traitement des demandes d'établissement de connexions et la possibilité de faire fonctionner le relais en tant que de serveurs lors de l'établissement d'une connexion TLS.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster