Première version bêta d'Arti, une implémentation de Tor dans Rust

Les développeurs du réseau anonyme Tor ont présenté la première version bêta (0.1.0) du projet Arti, qui développe un client Tor écrit en 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. 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.

Parmi les changements apportés à la version 0.1.0, il y a une stabilisation de base des API de haut niveau et la préparation de la bibliothèque pour une intégration expérimentale avec d'autres projets. Parmi les changements, l'ajout d'une API pour créer des instances TorClient est mentionné, y compris la possibilité de construire et d'initialiser (bootstrap) en arrière-plan lors de la première utilisation. De plus, une nouvelle API de haut niveau pour la gestion des erreurs a été ajoutée.

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