Arti 1.1 veröffentlicht, die offizielle Implementierung von Tor in der Programmiersprache Rust

Die Entwickler des anonymen Netzwerks Tor haben die Version 1.1.0 des Projekts Arti veröffentlicht, das einen Tor-Client in der Programmiersprache Rust weiterentwickelt. Der Branch 1.x wird als für die Nutzung durch normale Benutzer geeignet erachtet und bietet dasselbe Datenschutzniveau, Benutzerfreundlichkeit und Stabilität wie die Hauptimplementierung in C. Der Code wird unter den Lizenzen Apache 2.0 und MIT verbreitet.

Im Gegensatz zur Implementierung in C, die zunächst als SOCKS-Proxy konzipiert und später für andere Bedürfnisse angepasst wurde, entwickelt sich Arti von Anfang an in Form einer modularen eingebetteten Bibliothek, die von verschiedenen Anwendungen genutzt werden kann. Darüber hinaus wird bei der Entwicklung des neuen Projekts die gesamte bisherige Erfahrung in der Tor-Entwicklung berücksichtigt, was hilft, bekannte architektonische Probleme zu vermeiden und das Projekt modularer und effizienter zu gestalten.

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 eine sichere Speicherverwaltung gewährleistet. Nach Einschätzung der Tor-Entwickler werden mindestens die Hälfte aller vom Projekt verfolgten Schwachstellen in der Rust-Implementierung ausgeschlossen, sofern im Code keine "unsafe"-Blöcke verwendet werden. Rust wird auch ermöglichen, eine höhere Geschwindigkeit in der Entwicklung zu erreichen als bei der Verwendung von C, dank der Ausdruckskraft der Sprache und der strengen Garantien, die eine doppelte Überprüfung und das Schreiben überflüssigen Codes vermeiden.

In der Version 1.1 wurde die Unterstützung für Brücken zur Umgehung von Sperren und anschlussfähige Transporte implementiert. Von den mit Arti getesteten Transporten zur Verschleierung des Verkehrs und zur Bekämpfung von Sperren sind obfs4proxy und snowflake hervorzuheben. Die Anforderungen an die Build-Umgebung wurden erhöht – für den Build von Arti wird nun mindestens der Branch Rust 1.60 benötigt.

In der nächsten Version (1.2) wird die Unterstützung für Onion-Dienste und verbundene Funktionen wie das Protokoll zur Steuerung von Überlastungen (RTT Congestion Control) sowie Schutzmaßnahmen gegen DDoS-Angriffe erwartet. Die Erreichung der Parität mit dem Client in C ist im Branch 2.0 vorgesehen, der auch Bindungen für die Nutzung von Arti in Code in verschiedenen Programmiersprachen anbieten wird. In den nächsten Jahren wird die Arbeit darauf abzielen, die notwendigen Funktionen für die Arbeit von Relais zu implementieren. Server Verzeichnissen. Wenn der Code in Rust ein Niveau erreicht, das in der Lage ist, die Implementierung in C vollständig zu ersetzen, beabsichtigen die Entwickler, Arti den Status der Hauptimplementierung von Tor zu verleihen und die Unterstützung für die Implementierung in C einzustellen. Die Unterstützung der C-Version wird schrittweise eingestellt, um eine sanfte Migration zu ermöglichen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4