Die Entwickler des anonymen Netzwerks Tor haben die Veröffentlichung von Arti 0.0.3 vorgestellt, einem sich entwickelnden Tor-Client, der in Rust geschrieben wurde. Das Projekt hat den Status einer experimentellen Entwicklung, die in Bezug auf die FunktionalitĂ€t hinter dem Haupt-Tor-Client in C zurĂŒckbleibt und derzeit noch nicht bereit ist, diesen vollstĂ€ndig zu ersetzen. Im MĂ€rz wird die Version 0.1.0 erwartet, die als erste Beta-Version des Projekts positioniert ist, gefolgt von der Version 1.0 im Herbst mit der Stabilisierung von API, CLI und Einstellungen, die fĂŒr die anfĂ€ngliche Nutzung durch normale Benutzer geeignet sein wird. In fernerer Zukunft, wenn der Code in Rust das Niveau erreicht, das ihn in der Lage versetzt, die C-Variante vollstĂ€ndig zu ersetzen, beabsichtigen die Entwickler, Arti den Status der Hauptimplementierung von Tor zu verleihen und die UnterstĂŒtzung der Implementierung in C 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.0.3 gehört eine vollstĂ€ndige Ăberarbeitung des Konfigurierungssystems und der damit verbundenen API. Diese Ănderung ermöglicht das Anpassen von Einstellungen in Rust zur Laufzeit wĂ€hrend der Nutzung des Tor-Clients. AuĂerdem wurde ein neues System fĂŒr die vorausschauende Erstellung von Schaltungen (preemptive circuit construction) hinzugefĂŒgt, das die zuvor verwendeten Ports fĂŒr die vorausschauende Erstellung von Schaltkreisen berĂŒcksichtigt, die wahrscheinlich in Zukunft benötigt werden.
Quelle: opennet.ru
