Les dĂ©veloppeurs du rĂ©seau anonyme Tor ont annoncĂ© la sortie du projet Arti 0.2.0, qui dĂ©veloppe un client Tor Ă©crit en Rust. Le projet est en phase expĂ©rimentale et reste en retard par rapport aux fonctionnalitĂ©s du client principal Tor Ă©crit en C, et n'est pas encore en mesure de le remplacer complĂštement. Une version 1.0 est prĂ©vue pour septembre, avec une stabilisation de l'API, de la CLI et des paramĂštres, qui sera adaptĂ©e Ă un usage initial par des utilisateurs rĂ©guliers. Dans un avenir plus lointain, lorsque le code en Rust atteindra un niveau suffisant pour remplacer complĂštement la version en C, les dĂ©veloppeurs envisagent de promouvoir Arti en tant que mise en Ćuvre principale de Tor et d'arrĂȘter le soutien de la version en C.
Contrairement Ă l'implĂ©mentation en C, qui a d'abord Ă©tĂ© conçue comme un proxy SOCKS avant d'ĂȘtre adaptĂ©e Ă d'autres besoins, Arti se dĂ©veloppe dĂšs le dĂ©part sous la forme d'une bibliothĂšque intĂ©grable modulaire, que diffĂ©rentes applications pourront utiliser. De plus, lors du dĂ©veloppement de ce nouveau projet, toute lâexpĂ©rience passĂ©e du dĂ©veloppement de Tor est prise en compte, ce qui permettra dâĂ©viter les problĂšmes architecturaux connus et de rendre le projet plus modulaire et efficace. Le code est distribuĂ© sous les licences Apache 2.0 et MIT.
Les raisons de réécrire Tor en Rust incluent le désir d'atteindre un niveau de sécurité supérieur du code grùce à l'utilisation d'un langage assurant une gestion sécurisée de la mémoire. Selon les estimations des développeurs de Tor, au moins la moitié de toutes les vulnérabilités suivies par le projet seront supprimées dans l'implémentation en Rust, à condition qu'aucun bloc « unsafe » ne soit utilisé dans le code. Rust permettra également d'accélérer le développement par rapport à l'utilisation de C, grùce à l'expressivité du langage et à des garanties strictes, évitant de perdre du temps avec des vérifications doubles et un code superflu.
Les changements les plus notables dans la version 0.2.0 concernent les efforts pour amĂ©liorer les performances et la fiabilitĂ©. L'utilisation dans les rĂ©seaux prenant en charge uniquement IPv6 a Ă©tĂ© amĂ©liorĂ©e. La consommation de mĂ©moire pour le stockage des donnĂ©es a Ă©tĂ© rĂ©duite. serveurs des rĂ©pertoires. Une option dns_port a Ă©tĂ© ajoutĂ©e, permettant de configurer l'envoi des requĂȘtes DNS via Tor. Un nouveau code a Ă©tĂ© proposĂ© pour la gestion de la configuration. Des API pour dĂ©finir des rĂšgles d'isolement des flux et activer le mode veille (suspension des opĂ©rations pour les clients inactifs) ont Ă©tĂ© ajoutĂ©es. La possibilitĂ© de connecter des mises en Ćuvre alternatives du code pour travailler avec serveurs trĂšs chargĂ©s des rĂ©pertoires.
Avant la publication de la version 1.0.0, les développeurs s'engagent à assurer dans Arti un support complet pour fonctionner en tant que client Tor, permettant l'accÚs à Internet (la prise en charge des services onion est prévue pour l'avenir). Ils prévoient également d'atteindre la parité avec l'implémentation principale en C dans des domaines tels que la performance réseau, la charge CPU et la fiabilité, ainsi que d'assurer la prise en charge de toutes les fonctionnalités liées à la sécurité.
Source : opennet.ru
