Veröffentlichung von Arti 1.4.0, der offiziellen Tor-Implementierung in Rust

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

60GB SSD 8Gb DDR4