Die Entwickler des anonymen Netzwerks Tor haben die Version 1.1.0 des Projekts Arti veröffentlicht, das den Tor-Client in Rust weiterentwickelt. Die Version 1.x ist als stabil für den Einsatz durch normale Nutzer gekennzeichnet und bietet das gleiche Maß an Datenschutz, Benutzerfreundlichkeit und Stabilität wie die Hauptimplementierung in C. Der Code wird unter den Lizenzen Apache 2.0 und MIT verteilt.
Im Gegensatz zur Implementierung in C, die zunächst als SOCKS-Proxy konzipiert wurde und später für andere Bedürfnisse angepasst wurde, entwickelt sich Arti von Anfang an als modulare, einbettbare Bibliothek, die von verschiedenen Anwendungen genutzt werden kann. Zudem wird bei der Entwicklung des neuen Projekts das gesamte frühere Wissen aus der Tor-Entwicklung berücksichtigt, wodurch bekannte architektonische Probleme vermieden und das Projekt modularer und effizienter gestaltet werden kann.
Als Grund für die Neuprogrammierung von Tor in Rust wird der Wunsch genannt, ein höheres Maß an Sicherheit im Code zu erreichen, indem eine Programmiersprache verwendet wird, die sicheren Speicherzugriff gewährleistet. Die Entwickler von Tor schätzen, dass mindestens die Hälfte aller vom Projekt verfolgten Sicherheitsanfälligkeiten in der Rust-Implementierung ausgeschlossen werden kann, sofern im Code keine "unsafe"-Blöcke verwendet werden. Zudem ermöglicht Rust eine höhere Geschwindigkeit in der Entwicklung im Vergleich zu C, dank der Ausdrucksfähigkeit der Sprache und strengen Garantien, die dazu führen, dass keine Zeit mit doppelten Überprüfungen und überflüssigem Code verschwendet wird.
In Version 1.1 wurde die Unterstützung für Brücken zur Umgehung von Blockaden und für modularen Transport implementiert. Aus den mit Arti getesteten Transportprotokollen zur Verschleierung des Datenverkehrs und Bekämpfung von Blockierungen sind obfs4proxy und snowflake hervorzuheben. Die Anforderungen an die Build-Umgebung wurden erhöht – für die Build von Arti wird jetzt mindestens Rust-Version 1.60 benötigt.
In der nächsten Version (1.2) wird die Unterstützung von Onion-Diensten erwartet, einschließlich begleitender Funktionen wie das Protokoll zur Überlaststeuerung (RTT Congestion Control) und DDoS-Schutzmaßnahmen. Das Ziel, mit dem Client in der Programmiersprache C gleichzuziehen, ist für den Branch 2.0 vorgesehen, in dem auch Bindungen für die Verwendung von Arti in Code für verschiedene Programmiersprachen angeboten werden. In den kommenden Jahren wird die Arbeit darauf ausgerichtet sein, die für den Betrieb von Relais und Verzeichnissen erforderlichen Funktionen zu implementieren. Server Sobald der Rust-Code das Niveau erreicht hat, das notwendig ist, um die C-Variante vollständig zu ersetzen, planen die Entwickler, Arti als die primäre Implementierung von Tor zu etablieren und die Unterstützung der C-Implementierung schrittweise einzustellen. Die Unterstützung der C-Version wird nach und nach reduziert, um eine reibungslose Migration zu ermöglichen.
Quelle: opennet.ru
