Die Entwickler des anonymen Netzwerks Tor haben die erste Betaversion (0.1.0) des Projekts Arti vorgestellt, das einen Tor-Client in der Programmiersprache Rust entwickelt. Das Projekt hat den Status einer experimentellen Entwicklung, hinkt in seiner FunktionalitĂ€t hinter dem Haupt-Tor-Client in C hinterher und ist bisher noch nicht bereit, ihn vollstĂ€ndig zu ersetzen. Im September ist die Veröffentlichung von Version 1.0 geplant, mit einer Stabilisierung von API, CLI und Konfigurationen, die fĂŒr die anfĂ€ngliche Nutzung durch gewöhnliche Benutzer geeignet sein wird. In ferner Zukunft, wenn der Rust-Code das Niveau erreicht, das eine vollstĂ€ndige Ersetzung der C-Version ermöglicht, beabsichtigen die Entwickler, Arti den Status der Hauptimplementierung von Tor zu verleihen und die UnterstĂŒtzung der C-Implementierung einzustellen.
Im Gegensatz zur Implementierung in C, die zunĂ€chst als SOCKS-Proxy konzipiert wurde und erst spĂ€ter an andere BedĂŒrfnisse angepasst wurde, entwickelt sich Arti von Anfang an als modulare, eingebettete Bibliothek, die von verschiedenen Anwendungen genutzt werden kann. Zudem wird bei der Entwicklung des neuen Projekts die gesamte bisherige Erfahrung in der Tor-Entwicklung berĂŒcksichtigt, um bekannte architektonische Probleme zu vermeiden und das Projekt modularer und effizienter zu gestalten. Der Code wird unter den Lizenzen Apache 2.0 und MIT verbreitet.
Als Grund fĂŒr das Umschreiben von Tor in Rust wird der Wunsch genannt, ein höheres MaĂ an Kodersicherheit zu erreichen, indem eine Sprache verwendet wird, die sicheren Umgang mit Speicher gewĂ€hrleistet. Laut den SchĂ€tzungen der Tor-Entwickler wird zumindest die HĂ€lfte aller durch das Projekt erfassten Schwachstellen bei einer Implementierung in Rust ausgeschlossen, sofern im Code keine "unsafe"-Blöcke verwendet werden. Rust ermöglicht zudem eine schnellere Entwicklung als bei der Verwendung von C, aufgrund der Ausdruckskraft der Sprache und strengen Garantien, die verhindern, dass Zeit mit doppelten ĂberprĂŒfungen und der Erstellung ĂŒberflĂŒssigen Codes verschwendet wird.
Zu den Ănderungen in der Version 0.1.0 gehört die grundlegende Stabilisierung der hochrangigen APIs und die Anpassung der Bibliothek fĂŒr eine experimentelle Integration mit anderen Projekten. Zu den Ănderungen zĂ€hlt die HinzufĂŒgung einer API zur Erstellung von Instanzen von TorClient, einschlieĂlich der Möglichkeit, im Hintergrund beim ersten Gebrauch eine Zusammenstellung und Initialisierung (Bootstrap) durchzufĂŒhren. DarĂŒber hinaus wurde eine neue hochrangige API zur Fehlerbearbeitung hinzugefĂŒgt.
Vor der Veröffentlichung von Version 1.0.0 beabsichtigen die Entwickler, in Arti umfassende UnterstĂŒtzung fĂŒr die Nutzung als Tor-Client zu bieten, der den Zugang zum Internet ermöglicht (die Implementierung der UnterstĂŒtzung fĂŒr Onion-Dienste wird auf die Zukunft verschoben). Es wird auch angestrebt, ParitĂ€t mit der Hauptimplementierung in C in Bereichen wie Netzwerkleistung, CPU-Auslastung und ZuverlĂ€ssigkeit zu erreichen sowie UnterstĂŒtzung fĂŒr alle sicherheitsrelevanten Funktionen bereitzustellen.
Quelle: opennet.ru
