Die Entwickler des anonymen Tor-Netzwerks haben das Projekt Arti vorgestellt, im Rahmen dessen an der Erstellung einer Implementierung des Tor-Protokolls in Rust gearbeitet wird. Im Gegensatz zur Implementierung in C, die ursprĂŒnglich als SOCKS-Proxy entworfen wurde und spĂ€ter an andere Anforderungen angepasst wurde, entwickelt sich Arti von Anfang an als modulare, einbettbare Bibliothek, die von verschiedenen Anwendungen genutzt werden kann. Die Arbeit lĂ€uft bereits seit ĂŒber einem Jahr mit UnterstĂŒtzung aus dem Zcash Open Major Grants (ZOMG)-Programm. Der Code wird unter den Lizenzen Apache 2.0 und MIT veröffentlicht.
Als Grund fĂŒr das Neuschreiben von Tor in Rust wird der Wunsch genannt, ein höheres MaĂ an Sicherheit im Code zu erreichen, indem eine Sprache verwendet wird, die einen sicheren Umgang mit Speicher gewĂ€hrleistet. SchĂ€tzungen der Tor-Entwickler zufolge wird mindestens die HĂ€lfte aller von dem Projekt verfolgten Schwachstellen in der Implementierung in Rust ausgeschlossen, sofern im Code keine 'unsafe'-Blöcke verwendet werden. Rust ermöglicht zudem eine höhere Geschwindigkeit in der Entwicklung als die Verwendung von C, dank der Ausdruckskraft der Sprache und strenger Garantien, die Zeit fĂŒr doppelte PrĂŒfungen und das Schreiben ĂŒberflĂŒssigen Codes sparen. DarĂŒber hinaus wird bei der Entwicklung des neuen Projekts alle bisherige Erfahrung aus der Entwicklung von Tor berĂŒcksichtigt, um bekannte architektonische Probleme zu vermeiden und das Projekt modularer und effizienter zu gestalten.
In seinem aktuellen Zustand kann Arti bereits eine Verbindung zum Tor-Netzwerk herstellen und mit Servern Verzeichnissen interagieren und anonymisierte Verbindungen ĂŒber Tor mit SOCKS-basiertem Proxy erstellen. Die Entwicklung wird derzeit nicht empfohlen, um sie in Produktionssystemen zu nutzen, da nicht alle Funktionen zur GewĂ€hrleistung der Vertraulichkeit implementiert sind und keine RĂŒckwĂ€rtskompatibilitĂ€t auf API-Ebene garantiert werden kann. Die erste Version des Clients, die den Sicherheitskriterien entspricht und WĂ€chterknoten sowie die Isolierung von Strömen unterstĂŒtzt, soll im Oktober veröffentlicht werden.
Im MĂ€rz 2022 wird die erste Beta-Version mit experimenteller Implementierung einer eingebetteten Bibliothek und Leistungsoptimierungen erwartet. Der erste stabile Release mit stabiler API, CLI und Konfigurationsformat sowie die DurchfĂŒhrung eines Audits ist fĂŒr Mitte September 2022 geplant. Diese Version wird fĂŒr den Einstieg durch normale Benutzer geeignet sein. Ende Oktober 2022 wird das Update 1.1 mit UnterstĂŒtzung fĂŒr Plug-in-Transport und BrĂŒcken zur Umgehung von Blockaden erwartet. Die UnterstĂŒtzung von Onion-Diensten ist fĂŒr die Version 1.2 vorgesehen, wĂ€hrend das Erreichen der ParitĂ€t mit dem Client in C fĂŒr die Version 2.0 erwartet wird, deren Zeitrahmen noch nicht festgelegt ist.
In Zukunft prognostizieren die Entwickler eine schrittweise Abnahme der AktivitĂ€ten im Zusammenhang mit der Entwicklung von C-Code und eine Zunahme der Zeit, die der Bearbeitung in Rust gewidmet wird. Wenn die Implementierung in Rust das Niveau erreicht, das in der Lage ist, die C-Variante zu ersetzen, werden die Entwickler die HinzufĂŒgung neuer Funktionen zu der Implementierung in C einstellen und nach einer gewissen Zeit die UnterstĂŒtzung vollstĂ€ndig einstellen. Doch dies wird nicht schnell geschehen, und solange die Implementierung in Rust nicht das Niveau einer vollstĂ€ndigen Ersetzung erreicht, wird die Entwicklung des Tor-Clients und des Relays in C fortgesetzt.
Quelle: opennet.ru
