匿名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リリースの公開前に、開発者はArtiにインターネットアクセスを提供するTorクライアントとしての動作を完全にサポートする予定です(Onionサービスのサポートは将来に延期されます)。これには、ネットワークパフォーマンス、CPU負荷、信頼性などの分野でメインのC実装と同等の性能を実現すること、そしてすべてのセキュリティ関連機能のサポートが含まれます。
出所: オープンネット.ru
