Tor経由のBittorentが悪い考えである理由

こんにちは どのように、いつ、覚えていないが、一度疑問に思った:Torネットワークを介してBittorrentクライアントを使用するとどうなりますか? このトピックに関する情報をインターネットで検索した後、torproject.orgに公開されている興味深い記事「Bittorrent over Torは良いアイデアではありません」に出会いました。 読者のために「Habrahabr」を翻訳することにしました。 訂正は大歓迎です。







Bittorentおよび個人情報の脆弱性に関して、フランスのINRIAで公開された最新の出版物について尋ねる人が増えています。 その記事は、これらの脆弱性を説明し、それらが何であるかを伝えようとします。



脆弱性には3つのタイプがあります(より明確な場合は、相互に基づく3つの異なる脆弱性)。



最初の脆弱性


これは、トラフィックがTorを介してプロキシされるときに、プロキシを介して動作するようにbittorrentクライアントを設定する人々で発生します。 これらの人々は、自分のIPアドレスがトラッカー上のピアのリストを見ている誰かから秘密にされることを望んでいます。



問題は、いくつかの人気のあるBitTorrentクライアント(著者は主にuTorrentを呼び出しており、Vuzeもここに起因すると考えられます)が、Socksプロキシ設定を単に無視することです。



現代のトラッカーは接続にUDPプロトコルを使用し、TorなどのソックスプロキシはTCPプロトコルのみをサポートするため、プロキシ設定を無視する選択は非常に明確です。これらのアプリケーションの開発者は、「ユーザーがプロキシを構成しても、 「または」を使用して不可解にエラーから抜けさせ、ユーザーを混乱させることはできません。 その結果、bittorrentアプリケーションは、これらのアプリケーションのユーザーが期待するものとは異なるセキュリティ実装シナリオを使用します。



この脆弱性は一般に上記の脆弱性よりも悪いです:場合によっては、uTorrent、BitSpirit、libTorrentはIPアドレスをトラッカーや他のピアに送信するパケットに直接書き込むだけです。 トールは仕事をします。彼は「匿名で」あなたのIPアドレスをトラッカーまたはピアに送信します。 このように、IPアドレスを正確にどこから送信しているかは誰にもわかりません。 おそらく、これは予想されたものとはまったく異なります。



これが最初の脆弱性でした。



第二の脆弱性


最初に基づいています。 それは、好戦的なごちそうがあなたを正確に特定できるという事実にあります。 これは、ビットトレントプロトコル(少なくとも一般的なビットトレントアプリケーションで行われているように)が任意のポートを介して通信し、この任意のポートをトラッカー、およびそれと通信する他のピアに伝えるためです。



これはまさに脆弱性です。トラッカーは実際のアドレスとポートを記憶しています。 あなたのuTorrentクライアントがポートとして任意のポート50344を選択し、「匿名で」(Torを介して)トラッカー上の別のピアと通信する場合、同じピアはトラッカーに行くことができ、トラッカーリストでポートを公開したすべての人を見る50344(高い確率で、それはあなただけになります)そして-ほら-他のピアはあなたの本当のIPアドレスを知っています。 ボーナスとして、BitTorrentのごちそうが暗号化されていない通信チャネルを介して通信する場合、選択したTorahの「終了リレー」もトラフィックを表示し、ユーザーに対して攻撃を実行できます。



これは2番目のタイプの脆弱性でした。 要約すると、Torの上でBittorentを使用してもあなたを隠さないさまざまな理由を示しています。



では、これをどのように修正しますか? いくつかの答えがあります。 1つ目は、「Torの上でBittorentを実行しないでください」です。 Torはこのような負荷に耐えられないため、これについて何年も話してきました。 おそらく、この種の攻撃は人々の頭脳を整え、耳を傾けます。 2番目の答えは、プロキシを使用するときにBitTorrentクライアントを安全にしたい場合は、アプリケーションの開発者に連絡してプロトコルとそのア​​プリケーションを修正する必要があるということです。 この特定のケースでは、Torは個人情報の漏洩からあなたを保護しません。



第三のタイプの脆弱性


彼らの報告からの3番目のタイプの脆弱性は、本当に興味深いところです。 効率化のため、Torは各チェーンの上部に複数のアプリケーションスレッドをルーティングします。 このアプローチは効率を向上させます。時間を無駄にする必要がなく、オーバーヘッドがあり、小さな画像ごとに新しいチェーンを作成するからです。 Torネットワークを通る新しいパスを作成するたびに、攻撃者がこのパスを追跡する可能性が高まるため、匿名性が高まります。 これの欠点は、「出口リレー」が特定の回線から出てくるすべてのフローを含むユーザープロファイルの小さなスナップショットを作成できることです。



これらのフローの1つがユーザー(たとえば、BitTorrentクライアント)を識別する場合、「exit relay」はこれらのフローの残りがこのユーザーに属していることを知っているため、他のアプリケーションからのトラフィックが識別されます。



修正方法 古いヒントを使用します。BitネットワークをTorネットワーク経由で使用したり、開発者にアプリケーションの修正を強制したりしないでください。



Torネットワークの一部として、Torで安全でないアプリケーションを使用するリスクを減らすことができる方法はありますか? Tor経由でBittorentを使用して足を撃った場合、この問題を解決することはできませんが、おそらく残りの足を保存できます。



Torネットワークインフラストラクチャの問題に対処するために、各アプリケーションで異なる回路を使用することができます。 LinuxおよびUNIXでは、おそらくこのようなものをハッキングできます。ソケットに接続しているアプリケーションのプロセスIDを表示する方法があります。



これはWindowsでは難しいと思います。 また、多くのTorアプリケーションがPolipoやPrivoxyなどの中間HTTPプロキシを使用するため、より複雑になります。 これらの中間プロキシに異なるアプリケーション間でデータを配布する方法を教えてから、この情報をTor経由で送信する必要があります。



別のオプションは、エンドポートでストリームを分割することです。 ポート80に向かうすべてのフローは回線内にあり、もう一方のエンドポートのフローは別の回線を経由します。



かなり長い間、このアイデアをバックグラウンドでくつろいでいますが、BTクライアントが50の異なる宛先ポートに50のスレッドを作成するように要求すると、Torクライアントは50の異なる回路を作成しようとするという事実に皆が休みました。 これはネットワーク負荷が大きすぎます。



「80」ポートと「80ではない」ポートの動作を分離できると思いますが、他の多くのポート(IM、SSHなど)があるため、これが実際にどれほど効果的かはわかりません。 この場合、それらは別のロジックで処理する必要があり、第二に、今日のファイアウォールはますます80番目のポートを制御します。



ネットワーク経由で個人情報を送信できるアプリケーションを制御することはできませんが、これらの問題について引き続き検討する必要があります。 同時に、考えられる脆弱性をより広く見ることができるような研究がリリースされていることを嬉しく思います。



All Articles