Das Tor-Projekt stellte eine Implementierung in der Sprache Rust vor, die künftig die C-Version ersetzen wird

Die Entwickler des anonymen Tor-Netzwerks stellten das Arti-Projekt vor, in dessen Rahmen an einer Implementierung des Tor-Protokolls in der Sprache Rust gearbeitet wird. Im Gegensatz zur C-Implementierung, die zunächst als SOCKS-Proxy konzipiert und dann auf andere Bedürfnisse zugeschnitten wurde, wird Arti zunächst in Form einer modularen, einbettbaren Bibliothek entwickelt, die von verschiedenen Anwendungen genutzt werden kann. Die Arbeiten laufen seit über einem Jahr und werden aus dem Förderprogramm Zcash Open Major Grants (ZOMG) finanziert. Der Code wird unter den Lizenzen Apache 2.0 und MIT vertrieben.

Der Grund für das Umschreiben von Tor in Rust ist der Wunsch, ein höheres Maß an Codesicherheit zu erreichen, indem eine Sprache verwendet wird, die einen sicheren Betrieb mit dem Speicher gewährleistet. Laut Tor-Entwicklern werden mindestens die Hälfte aller vom Projekt überwachten Schwachstellen in einer Rust-Implementierung beseitigt, wenn der Code keine „unsicheren“ Blöcke verwendet. Dank der Ausdruckskraft der Sprache und strenger Garantien, die es Ihnen ermöglichen, keine Zeit mit doppelten Überprüfungen und dem Schreiben unnötigen Codes zu verschwenden, wird Rust es auch ermöglichen, schnellere Entwicklungsgeschwindigkeiten als mit C zu erreichen. Darüber hinaus werden bei der Entwicklung eines neuen Projekts alle bisherigen Tor-Entwicklungserfahrungen berücksichtigt, wodurch bekannte Architekturprobleme vermieden werden und das Projekt modularer und effizienter wird.

In seinem aktuellen Zustand kann Arti bereits eine Verbindung zum Tor-Netzwerk herstellen, mit Verzeichnisservern kommunizieren und mit einem SOCKS-basierten Proxy anonymisierte Verbindungen auf Tor aufbauen. Die Entwicklung wird noch nicht für den Einsatz in Produktionssystemen empfohlen, da nicht alle Datenschutzfunktionen implementiert sind und die Abwärtskompatibilität auf API-Ebene nicht gewährleistet ist. Die Veröffentlichung der ersten sicherheitskonformen Version des Clients, die Guard Nodes und Thread-Isolation unterstützt, ist für Oktober geplant.

Die erste Beta-Version wird im März 2022 mit einer experimentellen Implementierung der eingebetteten Bibliothek und Leistungsoptimierungen erwartet. Die erste stabile Veröffentlichung mit stabiler API, CLI und Konfigurationsformat sowie Auditing ist für Mitte September 2022 geplant. Diese Version ist für die Erstverwendung durch allgemeine Benutzer geeignet. Update 2022 wird für Ende Oktober 1.1 erwartet und bietet Unterstützung für Plug-in-Transport und Bridges zur Umgehung von Blockierungen. Die Unterstützung von Onion-Diensten ist für Version 1.2 geplant und die Erreichung der Parität mit dem C-Client wird für Version 2.0 erwartet, der Zeitpunkt dafür steht noch nicht fest.

Für die Zukunft prognostizieren die Entwickler einen allmählichen Rückgang der Aktivitäten im Zusammenhang mit der Entwicklung von C-Code und einen Anstieg der für die Bearbeitung in Rust aufgewendeten Zeit. Wenn die Rust-Implementierung ein Niveau erreicht, das die C-Version ersetzen kann, werden die Entwickler aufhören, neue Funktionen zur C-Implementierung hinzuzufügen und nach einiger Zeit die Unterstützung vollständig einstellen. Dies wird jedoch nicht so schnell geschehen, und bis die Implementierung in Rust das Niveau eines vollständigen Ersatzes erreicht, wird die Entwicklung des Tor-Clients und des Relays in C fortgesetzt.

Source: opennet.ru

Kommentar hinzufügen