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

匿名 Tor ネットワークの開発者は、Rust 言語で書かれた Tor クライアントを開発する Arti 0.2.0 プロジェクトのリリースを発表しました。このプロジェクトは実験開発の段階にあり、機能の点でメインの C 言語の Tor クライアントに遅れをとっており、完全に置き換える準備はまだ整っていません。 1.0 月には、一般ユーザーによる初期使用に適した API、CLI、設定の安定化を備えたリリース XNUMX を作成する予定です。より遠い将来、Rust コードが C バージョンを完全に置き換えることができるレベルに達したとき、開発者は Arti に Tor の主要な実装の地位を与え、C 実装の保守を停止する予定です。

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

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

0.2.0 リリースの最も注目すべき変更点には、パフォーマンスと信頼性を向上させるための作業が含まれます。 IPv6 のみをサポートするネットワークでのパフォーマンスが向上しました。ディレクトリサーバーからのデータを保存するためのメモリ消費量が削減されました。 dns_port オプションを追加しました。これを使用すると、Tor 経由で DNS リクエストを送信するように設定できます。構成を操作するための新しいコードが提案されました。スレッド分離ルールを定義し、休止状態 (非アクティブなクライアントの作業を一時停止) を有効にするための API を追加しました。ディレクトリ サーバーを操作するために代替コード実装を接続することができます。

リリース 1.0.0 の公開前に、開発者はインターネットへのアクセスを提供する Tor クライアントとして動作するための完全なサポートを Arti に提供する予定です (オニオン サービスのサポートの実装は将来延期されます)。これには、ネットワーク パフォーマンス、CPU 負荷、信頼性などの分野で主流の C 実装との同等性を達成することや、すべてのセキュリティ関連機能のサポートを提供することが含まれます。

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

コメントを追加します