Le projet Tor a publié Arti 0.0.3, une implémentation du client Tor dans Rust

Les développeurs du réseau anonyme Tor ont présenté la sortie du projet Arti 0.0.3, 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 les fonctionnalités du principal client Tor en C et n'est pas encore prêt à le remplacer complètement. La version 0.1.0 est attendue en mars, qui se positionne comme la première version bêta du projet, et à l'automne la version 1.0 avec stabilisation de l'API, de la CLI et des paramètres, qui conviendra à 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.

Parmi les changements de la version 0.0.3 figure une refonte complète du système de configuration et de l'API associée. Le changement a permis de modifier les paramètres de Rust à la volée pendant que le client Tor était en cours d'exécution. Un nouveau système de construction de circuits préemptifs a également été ajouté, prenant en compte les ports précédemment utilisés pour créer de manière préventive des chaînes susceptibles d'être nécessaires à l'avenir.

Source: opennet.ru

Ajouter un commentaire