Sortie d'Arti 0.2.0, l'implémentation officielle de Tor dans Rust

Les développeurs du réseau anonyme Tor ont présenté la sortie du projet Arti 0.2.0, qui développe un client Tor écrit en langage Rust. Le projet a le statut de développement expérimental, il est en retard sur le principal client Tor en C en termes de fonctionnalités et n'est pas encore prêt à le remplacer complètement. En septembre, il est prévu de créer la version 1.0 avec stabilisation de l'API, de la CLI et des paramètres, qui conviendra pour une première utilisation par les utilisateurs ordinaires. Dans un avenir plus lointain, lorsque le code Rust atteindra un niveau pouvant remplacer complètement la version C, les développeurs ont l'intention de donner à Arti le statut d'implémentation principale de Tor et d'arrêter de maintenir l'implémentation C.

Contrairement à l'implémentation C, qui a d'abord été conçue comme un proxy SOCKS puis adaptée à d'autres besoins, Arti est initialement développé sous la forme d'une bibliothèque modulaire intégrable pouvant être utilisée par diverses applications. De plus, lors du développement d'un nouveau projet, toute l'expérience passée en matière de développement de Tor est prise en compte, ce qui évitera les problèmes architecturaux connus et rendra le projet plus modulaire et efficace. Le code est distribué sous les licences Apache 2.0 et MIT.

Les raisons de la réécriture de Tor dans Rust sont le désir d'atteindre un niveau plus élevé de sécurité du code en utilisant un langage qui garantit un fonctionnement sûr avec la mémoire. Selon les développeurs de Tor, au moins la moitié de toutes les vulnérabilités surveillées par le projet seront éliminées dans une implémentation de Rust si le code n'utilise pas de blocs « dangereux ». Rust permettra également d'atteindre des vitesses de développement plus rapides que l'utilisation du C, grâce à l'expressivité du langage et aux garanties strictes qui permettent d'éviter de perdre du temps en double vérification et en écriture de code inutile.

Les changements les plus notables de la version 0.2.0 impliquent des travaux visant à améliorer les performances et la fiabilité. Performances améliorées sur les réseaux prenant uniquement en charge IPv6. Consommation de mémoire réduite pour le stockage des données des serveurs d'annuaire. Ajout de l'option dns_port, avec laquelle vous pouvez configurer l'envoi de requêtes DNS via Tor. Un nouveau code pour travailler avec la configuration a été proposé. Ajout d'API pour définir des règles d'isolation des threads et activer l'hibernation (suspension du travail pour les clients inactifs). Il est possible de connecter des implémentations de code alternatives pour travailler avec des serveurs d'annuaire.

Avant la publication de la version 1.0.0, les développeurs ont l'intention de fournir à Arti une prise en charge complète pour travailler en tant que client Tor donnant accès à Internet (la mise en œuvre de la prise en charge des services onion est reportée à l'avenir). Cela implique d'atteindre la parité avec l'implémentation C traditionnelle dans des domaines tels que les performances du réseau, la charge du processeur et la fiabilité, ainsi que de fournir la prise en charge de toutes les fonctionnalités liées à la sécurité.

Source: opennet.ru

Ajouter un commentaire