Première version stable d'Arti, l'implémentation officielle de Tor en Rust

Les développeurs du réseau anonyme Tor ont lancé la première version stable (1.0.0) du projet Arti, qui développe un client Tor écrit en Rust. La version 1.0 est marquée comme prête à être utilisée par les utilisateurs ordinaires et offre le même niveau de confidentialité, d'utilisabilité et de stabilité que l'implémentation principale en C. L'API proposée pour utiliser les fonctionnalités d'Arti dans d'autres applications a également été stabilisée. Le code est distribué sous les licences Apache 2.0 et MIT.

Contrairement à l'implémentation en C, qui a d'abord été conçue comme un proxy SOCKS, puis adaptée à d'autres besoins, Arti se développe dès le départ sous la forme d'une bibliothèque modulaire intégrable que diverses applications pourront utiliser. De plus, le développement du nouveau projet prend en compte toute l'expérience antérieure de développement de Tor, ce qui permet d'éviter les problèmes d'architecture connus et de rendre le projet plus modulaire et efficace.

La raison de la réécriture de Tor en Rust était le souhait d'atteindre un niveau de sécurité du code plus élevé grâce à l'utilisation d'un langage garantissant une gestion sûre de la mémoire. Selon les estimations des développeurs de Tor, au moins la moitié des vulnérabilités suivies par le projet seront éliminées dans l'implémentation en Rust, à condition que le code n'utilise pas de blocs « unsafe ». Rust permettra également d'atteindre une vitesse de développement supérieure à celle de C, grâce à l'expressivité du langage et à des garanties strictes, ce qui réduit le temps passé sur des vérifications doublées et l'écriture de code superflu.

À l'issue du développement de la première version, l'utilisation du langage Rust s'est révélée bénéfique. Par exemple, il a été observé qu'à chaque étape, il y avait moins d'erreurs dans le code Rust que dans un développement comparable en C — les erreurs survenues pendant le développement étaient principalement liées à la logique et à la sémantique. L'exigence excessive du compilateur rustc, considérée par certains comme un inconvénient, s'est en réalité révélée être un avantage, car si le code se compile et passe les tests, la probabilité de sa correction augmente considérablement.

Lors du travail sur la nouvelle version, l'augmentation de la vitesse de développement a également été confirmée, ce qui est dû non seulement au fait que la fonctionnalité a été recréée sur la base d'un modèle existant, mais aussi à la sémantique plus expressive de Rust, à ses bibliothèques fonctionnelles pratiques et à l'application des capacités de Rust pour garantir la sécurité du code. Parmi les inconvénients, on note la grande taille des assemblages résultants — comme la bibliothèque standard de Rust n'est pas fournie par défaut dans les systèmes, elle doit être incluse dans les paquets proposés au téléchargement.

La version 1.0 se concentre principalement sur les opérations de base en tant que client. La version 1.1 prévoit la prise en charge de transports plug-in et de ponts pour contourner les blocages. La version 1.2 attend de prendre en charge les services onion et des fonctionnalités associées, telles que le protocole de contrôle de congestion (RTT Congestion Control) et des mesures de protection contre les attaques DDoS. L'atteinte de la parité avec le client en langage C est prévue dans la branche 2.0, qui proposera également des liaisons pour utiliser Arti dans du code écrit dans divers langages de programmation.

Au cours des prochaines années, le travail sera axé sur la mise en œuvre des fonctionnalités nécessaires à l'exploitation des relais et serveurs des répertoires. Lorsque le code en Rust atteindra un niveau capable de remplacer complètement la version en C, les développeurs envisagent d'attribuer à Arti le statut de principale réalisation de Tor et de cesser le support de l'implémentation en C. Le support de la version en C sera progressivement arrêté tout en permettant une migration fluide.

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