Die Entwickler des Projekts Tor haben die Version Arti 1.4.0 veröffentlicht, eine Implementierung des Tor-Clients, die in Rust geschrieben wurde. Die Version 1.x wird als fĂŒr normale Benutzer geeignet angesehen und bietet das gleiche MaĂ an Datenschutz, Benutzerfreundlichkeit und StabilitĂ€t wie die Hauptimplementation in C. Das Erreichen des Gleichstands mit dem C-Client ist fĂŒr die Version 2.0 geplant. Wenn der Rust-Code das Niveau erreicht, um die C-Variante vollstĂ€ndig zu ersetzen, beabsichtigen die Entwickler, Arti zum Hauptimplementierung von Tor zu ernennen und die UnterstĂŒtzung der C-Implementierung schrittweise einzustellen. Der Code wird unter den Lizenzen Apache 2.0 und MIT verteilt.
Arti wird ursprĂŒnglich als modulare, einbettbare Bibliothek entwickelt, die von verschiedenen Anwendungen genutzt werden kann. Bei dem Design von Arti wurde auf die bisherigen Erfahrungen mit der Entwicklung von Tor RĂŒcksicht genommen, was es ermöglichte, bekannte architektonische Probleme zu vermeiden, die damit zusammenhĂ€ngen, dass die C-Implementierung zunĂ€chst als SOCKS-Proxy konzipiert wurde und erst spĂ€ter an andere BedĂŒrfnisse angepasst wurde.
Neben der Modernisierung der Architektur war der Wunsch, die Sicherheit des Codes zu erhöhen, ein Grund fĂŒr die Neuschreibung von Tor in Rust, da eine Sprache verwendet wurde, die sichere Arbeit mit Speicher ermöglicht. Laut den Entwicklern von Tor wird die Verwendung von Rust ohne 'unsafe'-Blöcke verhindern, dass mindestens die HĂ€lfte aller typischen Schwachstellen im Projekt auftritt. AuĂerdem wird angenommen, dass Rust die Entwicklungsgeschwindigkeit durch die Ausdruckskraft der Sprache und strenge Garantien erhöht, was es ermöglicht, keine Zeit mit doppelten ĂberprĂŒfungen oder dem Schreiben ĂŒberflĂŒssigen Codes zu verschwenden.
In der neuen Version wurde eine neue RPC-Schnittstelle bereitgestellt, die das Steuerungsprotokoll ĂŒber den TCP-Port ersetzt, der ĂŒber den Parameter ControlPort festgelegt wird. RPC kann verwendet werden, um Anwendungen und Dienste ohne Einbettung der Arti-FunktionalitĂ€t in die Anwendung zu integrieren.
Die wichtigsten Unterschiede zum neuen Protokoll:
- Verwendung des JSON-Formats anstelle eines speziellen Formats, das einen eigenen Parser erfordert;
- Einfachheit bei der Erweiterung des Protokolls. Formalisierung, wie der Client und Server nicht unterstĂŒtzte Nachrichten, Parameter und Daten verarbeiten sollten;
- Mechanismus zur Bestimmung der VerfĂŒgbarkeit von RPC;
- UnterstĂŒtzung der gleichzeitigen Ăbertragung mehrerer Anfragen in einer Netzverbindung;
- VerfĂŒgbarkeit von fertigen Client-Bibliotheken fĂŒr C, Python und Rust.
Von weiteren Ănderungen in Arti 1.4.0 wird erwĂ€hnt, dass Vorbereitungsarbeiten zur UnterstĂŒtzung von Relays durchgefĂŒhrt wurden und die Umsetzung von Funktionen zum Schutz von Onion-Diensten vor DDoS-Angriffen fortgesetzt wird.
Quelle: opennet.ru
