Rust での Tor の公式実装である Arti 1.1 のリリース

匿名 Tor ネットワークの開発者は、Rust 言語で書かれた Tor クライアントを開発する Arti 1.1.0 プロジェクトのリリースを公開しました。 1.x ブランチは、一般ユーザーによる使用に適しているとマークされており、メインの C 実装と同じレベルのプライバシー、使いやすさ、安定性を提供します。 コードは、Apache 2.0 および MIT ライセンスに基づいて配布されます。

最初に SOCKS プロキシとして設計され、その後他のニーズに合わせて調整された C 実装とは異なり、Arti は当初、さまざまなアプリケーションで使用できるモジュール式の組み込みライブラリの形式で開発されました。 さらに、新しいプロジェクトを開発する際には、過去の Tor 開発経験がすべて考慮されるため、既知のアーキテクチャ上の問題が回避され、プロジェクトがよりモジュール化され効率的になります。

Tor を Rust で書き直す理由として挙げられているのは、メモリセーフな言語を使用して、より高いレベルのコード セキュリティを達成したいという要望です。 Tor 開発者によると、コードで「安全でない」ブロックが使用されていなければ、プロジェクトによって監視されているすべての脆弱性の少なくとも半分は Rust 実装で排除されるとのことです。 また、Rust を使用すると、言語の表現力と厳格な保証により、C を使用するよりも速い開発速度を実現でき、二重チェックや不必要なコードの作成による時間の浪費を避けることができます。

バージョン 1.1 では、ブロッキングとプラグイン トランスポートをバイパスするためのブリッジのサポートが導入されています。 トラフィックの隠蔽とブロッキングへの対処のために Arti でテストされたトランスポートの中で、obfs4proxy と Snowflake が注目されました。 ビルド環境の要件が増加しました。Arti のビルドには少なくとも Rust 1.60 ブランチが必要になりました。

次のバージョン (1.2) では、オニオン サービスと、輻輳制御プロトコル (RTT 輻輳制御) や DDoS 攻撃に対する保護などの関連機能がサポートされる予定です。 2.0 ブランチでは、C クライアントとの同等性の実現が計画されており、さまざまなプログラミング言語のコードで Arti を使用するためのバインディングも提供されます。 今後数年間は、リレーとディレクトリ サーバーの実行に必要な機能の実装に重点を置いて作業が行われます。 Rust コードが C バージョンを完全に置き換えることができるレベルに達したら、開発者は Arti に Tor の主要実装の地位を与え、C 実装の保守を停止する予定です。 C バージョンは、スムーズな移行を可能にするために段階的に廃止されます。

出所: オープンネット.ru

コメントを追加します