web-dev-qa-db-ja.com

HTTPプロトコルがBitTorrentプロトコルよりも傍受されやすいのはなぜですか?

メインのWebサイトから提供されている.isoファイルをダウンロードしています。これは、ユーザーにBitTorrentの使用を推奨しています。さらに、彼らは異なる国に属する異なるミラーサイトを使用してHTTP経由でダウンロードを提供し、HTTPミラーからのダウンロードは、悪意のあるダウンロードを提供するために傍受される傾向があると主張しています。なぜこれらの種類のダウンロードが元のダウンロードよりも発生しやすいのか知りたいです。

推測しなければならないのは、ファイルを保持する世界中のサーバー間でのセキュリティ実装の違いによるものです。完全にオフですか?

42
noobandproud

違いは、BitTorrentプロトコルには、意図したものを受け取ったことを確認するメカニズムがあるのに対し、HTTPにはないということです。

HTTPにはメカニズムがありません...

  • 接続しようとしているサーバーに実際に接続していることを確認するには、
  • または実際に受信する予定のファイルをダウンロードします。

HTTPミラーのいずれかにセキュリティの脆弱性がある場合、またはプロバイダーの制御下にない場合、攻撃者はファイルを単に置き換えるだけで、受信者側で検出されなくなります。

さらに、状況が許せば、HTTPは 中間者攻撃 の影響を受けやすくなります。つまり、あなたの側からはexample.comに接続しているように見えますが、実際には、トラフィックを傍受し、ネットワークトラフィックを操作して、example.comに接続しているように見えるサードパーティに接続しています。次に、特定のファイルのダウンロードを要求しますが、攻撃者は代わりに悪意のあるファイルを送信します。 (補足として、Sを使用してHTTPSを正しく構成すると、これが防止されます。)

一方、BitTorrentを介して送信されるファイルは、最初にチャンクに分割されます。次に、これらのチャンクのそれぞれが SHA-1 を使用してハッシュされます。つまり、急流の作成者によって checksum が生成されます。ハッシュは、ダウンロードの前に各BitTorrentクライアントに与えられます-通常.torrentファイルに含まれています。次に、ファイルチャンクがクライアントによってダウンロードされると、それらは最初にクライアント自体によってハッシュされ、以前に受信したハッシュと比較されます。ハッシュが一致する場合、つまり、チャンクに予期されるチャンクとまったく同じバイトが含まれている場合にのみ、受け入れられます。悪意のあるコンテンツが含まれているが、元のハッシュサムを保持している変更されたチャンクを製造することは現実的に不可能です。

これらのハッシュは、おそらく信頼できるソースからのダウンロードの前に共有されるため、HTTPダウンロードと比較して、BitTorrent経由で受信したときに転送中に予期されるファイルを操作することは困難(不可能)です。プロバイダーは、独自の制御下でHTTPSを介して単一の保護されたサーバーから小さなファイルであるトレントを配布でき、ハッシュメカニズムは実際のダウンロードの検証を提供します。

一方、ハッシュまたはトレントファイルがダウンロード前に改ざんされている場合、またはHTTP経由でトレント自体をダウンロードする場合のMitM攻撃が原因で、チェックサム検証はセキュリティを提供しません。

最後に、攻撃者がハッシュサムの生成前、つまり元の急流の作成前にファイルにアクセスできる場合、攻撃者がチェックサムメカニズムを回避する方法があります。次に、攻撃者がファイルを変更して、SHA-1ハッシュサムチェックで検出されない場合でも、SHA-1ハッシュサムチェックで検出されずに、急流の送信中にファイルのコンテンツの一部が事前に設計されたコードに置き換えられる可能性があります。最初にチェックサムされたファイル。

60
ig-dev

ドキュメントの作成者(たとえば、.isoファイル)が、帯域外で.torrentファイルを共有する方法を持っているとします。これは、敵対者が転覆する権限を持たない、つまり、作成者がドキュメントを作成し、次に、そのための.torrentファイルを作成します。偽造ではなく、真の.torrentファイルを取得できることが(何らかの形で)保証されます。たぶんあなたはHTTPS経由で.torrentを手に入れましたが、HTTP経由でミラーから.isoを取得するでしょう。 これは非常に重要です!HTTP経由で.torrentファイル自体をダウンロードした場合、BitTorrentに関する以下のすべては意味がありません。

攻撃者が悪意のあるドキュメントを取得するように仕向けようとしている場合、HTTP経由でのドキュメントのダウンロードの違いは何ですかvs .torrentファイルを使用してBitTorrent経由でドキュメントをダウンロードする?

敵が持っているかもしれないいくつかの力はここにあります:

  1. インターネット接続でトラフィックを傍受し、転送中にそれを置き換える力。

    • HTTPを使用すると、インターネット接続を傍受する能力があれば、攻撃者はあなたをだまして悪意のある偽造品を受け入れることができます。これは、HTTPが何もしないためです。インターネットで受信したデータの信憑性を検証します。それは、彼らがやるべき仕事があると言ったので、高い視認性の男たちが秘密の制御室に着くことを許可する特に素朴な店員のようです。

    • BitTorrentでは、インターネット接続を傍受する力は十分ではありませんであり、攻撃者があなたをだまして悪意のある偽造を受け入れさせます。これは.torrentファイルには実際のドキュメントの各チャンクのSHA-1ハッシュがあるため、実際のドキュメントを制御せずに、攻撃者はSHA-1に一致する悪意のある置換を見つける望みがありません.torrentファイル内のハッシュ。 (これは、SHA-1が「プリイメージ耐性」、より具体的には「2番目のプリイメージ耐性」であると暗号技術者が言うときの意味です。)

  2. ミラーまたはBitTorrentノードを実行する能力。

    ミラーはさまざまな関係者によって実行される可能性があり、メインサイトほど厳密に調査されない可能性があります。また、誰でもがBitTorrentノードを実行できます。これは、ネットワークの傍受を必要としません。

    • HTTPの場合、ミラーを実行する能力は、敵が悪意のある偽造を受け入れるようにだましてしまうのに十分です。要求されたときに、偽造を提供するだけです。そのため、偽造と実際のドキュメントを区別する方法はありませんアプリオリ

    • BitTorrentを使用すると、BitTorrentノードからデータを提供する能力は十分ではありませんであり、攻撃者はあなたをだまして悪意のある偽造を受け入れさせます。繰り返しますが、敵がフィードを偽造しても、この力だけでは、.torrentファイル内のSHA-1ハッシュに一致する偽造を見つけることができません。

  3. レビューに合格する限り、作成者が実際のドキュメントに何を入れるかに影響を与える力。

    これは心配するのは奇妙な力のように聞こえるかもしれませんが、現代のソフトウェア開発が、copypastaのStack Overflowスタイルから、 left-pad のようなnpmパッケージへの無頓着な依存にどのように進化したかを考えてください。 event-streamのようなパッケージのメンテナーは、タスクに飽きて、 パッケージ名の所有権を嫌なキャラクターに売ります OSイメージのような展開されたソフトウェアパッケージの新しいバージョンに影響を与える力を持つ人BitTorrentで配布する場合があります。 (このパワーでプレイできるゲームの詳細: [1][2] 。)

    明らかに、攻撃者が誰にも気付かれずに悪意のあるコードを実際のドキュメントに挿入できる場合、あなたはうんざりしています。ただし、攻撃者を少しだけに制限して、実際のドキュメントに良性の影響を与えると、作成者によるレビューに合格し、まだ BitTorrentに夢中です!

    • BitTorrentを使用すると、ドキュメントの内容に影響を与える追加パワー(たとえレビューの対象であっても、実際のドキュメントに悪意のあるものは何もない!)で十分かもしれません。悪意のある偽造を受け入れるようにあなたをだます敵

      どうやって?長いゲームをしている敵は、文書のチャンクの2つのバージョン、良性バージョン、およびSHA-1の下で衝突するの悪意のあるバージョンを同時に作成する可能性があります。 (これは、SHA-1がではない暗号学者が「衝突耐性」と呼んでいるものだからです。彼らは、SHA-1ハッシュに対して何の力も持っていない可能性があります良性バージョンのみ悪意のあるバージョンには同じ SHA-1ハッシュがあります。)

      次に、攻撃者は、文書に良性バージョン(レビューに合格!)を含めるように作成者を説得しますが、ダウンロード中にインターネット上の急流を傍受し、悪意のあるバージョンを悪意のあるバージョンに置き換えます。悪意のあるバージョンには.torrentファイルで指定されたSHA-1ハッシュが正確に含まれているため、BitTorrentクライアントは賢くありません。

いつの日か、BitTorrentは、SHA-1に代わる、SHA-256のような衝突に強いSHA-1に移行するかもしれません。それはこの物語の複雑さを悲観的にするでしょう。より微妙な話を語る上での私のポイントは、BitTorrentがHTTPほど悪いということではありません— .torrentファイルが良好であるという前提の下で、BitTorrentは敵(1)と(2)に対して防御しますが、HTTPはそうしませんそれでも、BitTorrentにはまだトリッキーな問題があります。これは、SHA-1は悪いニュースであり(MD5はさらに悪いニュースであり)、衝突抵抗の仮定に基づいて単純に構築されたプロトコルの分析は、その仮定がSHA-1 aの場合のようにウィンドウの外に出ると非常にトリッキーです。 SHA-1への衝突攻撃が2005年に初めて発表された10年半前 。 ( SHA-1の終了の危険性とタイムラインの詳細 。)

15

HTTPミラーの主な問題は、ミラーのメンテナがファイルを自由に変更できることです。トラッカーにはファイルのハッシュが含まれているため、これはBitTorrentを使用して軽減されます。

ハッシュを手動で確認する限り、トレントファイルと同じ場所にあるファイルのハッシュを提供することで同等のセキュリティを実現できます。

BitTorrentはセキュリティのために必要ではありません、作者はそれが好きです。

2
trognanders

この主張が真実であるというあなたの仮定は誤りです。それらは両方傍受されやすい。 BitTorrentは分散化されているのでそれほどではないと主張することもできますが、.torrentマニフェストをダウンロードするだけで、他のピアにどのようなリクエストを送信しても再構築できます。

少なくとも.torrentファイルには、破損を防ぐために暗号化ハッシュが計算されています。ただし、この.torrentがHTTPを介して提供される場合は、ネットワーク上で操作される可能性があるため、これは実際の質問のアサーションをサポートしていません。

1
Stephen Touset

推測しなければならないのは、ファイルを保持する世界中のサーバー間でのセキュリティ実装の違いによるものです。

確かな情報を十分に提供していませんが、おそらく正しいでしょう。

他の回答で説明したように、.torrentファイルには、ファイルデータの暗号化ダイジェストが含まれています。これは、彼らが説明するファイルと同じくらい信頼できることを意味します。 (ハッシュ関数はSHA-1であるため、衝突攻撃が可能ですが、衝突攻撃ではファイル自体を悪意を持って生成または変更する必要があります。その場合、ファイルと.torrentはどちらも等しく信頼できないと言えます。)

したがって、急流を介したダウンロードは、直接ダウンロードするよりも本質的に安全であると言うのは間違っていると思います。

.torrentファイルの利点は、はるかに小さいということです。 Linuxのインストールイメージなどを提供するWebサイトでは、一般にディスクイメージを無料で誰にでも提供することはできません。彼らが直接ダウンロードするオプションを提供する場合、通常、彼らが制御しないサードパーティのサーバーに帯域幅が寄付されます。対照的に、彼らは自分のサーバーからすべての人に.torrentファイルを提供する余裕があります。

ランダムなサードパーティサーバーから画像をダウンロードし(公式のミラーでなくても)、画像の暗号化ダイジェスト(理想的にはSHA-256以上)を計算し、公式サーバーで公開されているダイジェストと一致する場合、これは、セキュリティの観点からは、同じ公式サーバーから同じプロトコルでダウンロードされた.torrentファイルを使用するのと同じくらい優れています。そのプロトコルが(HTTPSではなく)実際にHTTPである場合、両方のオプションはかなり安全ではありませんが、どちらも他方よりも著しく劣っています。

1
benrg

彼らはあなたがビットトレントを使用することを望んでいます、なぜならそれは彼らのサーバーの帯域幅(彼らが支払う必要がある)とは対照的に他のダウンローダーによって提供された(彼らにとっては無料です)帯域幅を使用するからです。

これはかなり一般的です。 Battle.netのようなゲームサービスは、ダウンローダー(無意識)をアップローダーにすることで帯域幅を「盗む」ものでした。 Debian は、ビットトレントを使用する理由として、サーバーの帯域幅使用量の削減について明示的に言及しています。

したがって、セキュリティについての話はナンセンスであり、注意散漫を意味するだけだと思います。

1
Haukinger