web-dev-qa-db-ja.com

DDoS:発信元のIPアドレスをブロックしないのはなぜですか?

私は主要な掲示板のモデレーターです。悪者が現れたら、そのIPアドレスをブロックします。少なくとも新しいものが見つかるまでは機能します。 IPアドレスやメッセージのコンテンツなどによってDDoSに対抗してDDoSを阻止するためのプロトコルを世界のルーター向けに開発できないのはなぜですか?明らかに答えがあります、さもなければそれはすでに行われているでしょう。誰かがなぜのエグゼクティブサマリーを提供できますか?たとえば、存在しない中心的な権限が必要になります。

100
vonlost

あなたが店を経営しているとしましょう。毎日、数百の顧客を獲得する可能性があります。

ある日、何万人もの人々が集まり、チェックアウトラインに参加し、小物を購入して、すぐに戻って繰り返すことができます。

明らかに、何時間も待たなければならない本物の顧客からビジネスを失っています。

次に、入口で警備員を雇って、これらの顧客がいくつかの基準を満たしていることを確認します。

ただし、まだ何万人もの人が参加したいと思っています。唯一の違いは、今は誰もがセキュリティを通過しなければならないということです。

正真正銘の顧客の観点からは、まだ何時間も待っていることに気づきましたが、それは今やセキュリティを通過するためです!

198
user128269

TL; DR複数のソースIPがあるため、防御するのが非常に困難です


長い回答については、名前を見てみましょう。 [〜#〜] d [〜#〜] DoS攻撃。最初の[〜#〜] d [〜#〜]は分散を意味します。つまり、ブロックするIPはありません。または、2つ、または3つ、さらには4つです。数百または数千の一意のIPがあります。

通常、DDoS攻撃は、ボットネットまたはゾンビマシンのネットワークを制御しているハッカーから発生します。攻撃者はすべてのボットにコマンドを発行して、特定のリソース/ URIをリクエストするようにボットに指示します。多数のリクエストがサーバーを圧倒し、サーバーを停止します。

116
HashHazard

@Hollowprocの優れた回答に加えて、ソースとして使用されている実際の「アドレス」は、このような攻撃で偽装されることがよくあります。攻撃ホストは、特にDNSプロバイダーに対して使用されるようなUDPベースの攻撃では、他の任意の数のIPを装うことができます。

これと呼ばれる BCP 38 、またはネットワーク入力フィルタリングの解決策があります。すべての世界が集まり、コークスがあり、ネットワークに侵入するスプーフィングされたアドレスをブロックする制御を実装した場合、これらの攻撃はトラフィックをスプーフィングできなくなります。 Dynの人々自身 役に立つ防御として言及

多くのソースポイントで防御を実装すると、スケーラブルになるという利点があることに注意してください。個々のブロック要件のサイズはそれほど面倒ではありません。しかし、直接および悪影響を及ぼさないものに対してより多くの人々が正しいことを行わなければならないという点で、彼らは厄介です...人間の性質は、10年以上にわたって、この解決策が臨界質量に達するのを妨げてきました。

DDoS攻撃の影響が大きくなると、ネットワーク入口フィルタリングの採用が促進されるのは可能性があるです...インターネットは被害を検閲として扱い、その周りをルーティングします:)

27
gowenfawr

DDoSの問題は次の2つです。

1)ボットは非常に多いため、単一のボットほど高いリクエストスロットルを持つ必要はなく、ボットほど簡単に認識できません。

2)表示されるのはIPアドレス(およびボットトラフィックのフィルター方法に応じてUser-Agents)だけです。任意のIPアドレスがDDoSボットであり、任意のIPアドレスが正当な訪問者である可能性があります。一部のIPアドレスには、DDoSボットと正当な訪問者の両方が含まれます。職業はなんですか?

サイトが1000リクエスト/秒を処​​理でき、ビジターが10リクエスト/秒を超えることはないとします。 100 req/sの1つのボットは簡単にブロックでき、100 req/sの10つのボットは簡単にブロックできます。ただし、5 req/sの200ボットは、適切に動作しているため、ブロックするのが困難です。

100 req/sの200ボットも5 req/sを超えることはできず、適切に動作するように見えるため、ブロックするのも困難です。この状況は、実際に5 req/sの200ボットよりもはるかに悪いものです。ビジターは、サーバーに正常に到達している1010のより扱いやすい10ではなく、接続にスクイーズしようとしている10010リクエストの10になっているためです。

100 req/sの1000ボットは、実際の各ビジターがサイトに接続することはほとんどありません。そして、この規模の攻撃は、他の場所でも同様に問題を引き起こすでしょう。

サイトの強力な防御策は、攻撃者にとって強力な武器です。

サイトがIPアドレス(またはIP上の特定のブラウザー)をブロックし、それらが正しく動作しない場合、誰かが防御を悪用してクライアント側にDoS攻撃を仕掛ける可能性があります。

例:マロリーはmargin-left: -1000em; width: 1px; height: 1px;を含む100の「画像」を含むWebページを作成し、それらの画像はすべてサイト上の「機密」URLです。訪問者がマロリーのページにアクセスすると、100の不正なリクエストがサーバーに送信されるため、ブロックされます。

したがって、(D)DoS攻撃に対してより積極的な防御を行うと、別の脆弱性も引き起こされます。

CAPTCHA(訪問者が訪問者であり、悪意のあるボットだけではないことを証明する機会を与える)のような「スマートな」防御も、サーバーのリソースを実際に必要とするという副作用があります。

接続が詰まっているときに画像をアップロードすることは、あまり良い考えのようには思えません。また、CAPTCHAの膨大な数のセッションを覚えていません。CAPTCHAは回答されません。これは、一部は画像を送信できなかったため、一部は訪問者の大多数が人間ではないためです。

そして、(非常に、またはキャッシュされていない)動的なサイトでは、ガソリンで消火活動を行うことになります。

8
Oskar Skog

特定の地理的位置にサービスを提供することを主な目的とするある種のサービスをホストしているとします。IPアドレスに基づくアクセスルールによってこれを実行したと仮定します。

[〜#〜] udp [〜#〜]

UDPがそのコンテキストで使用される場合、パケットクラフトツール(例:scapy)の知識を持つ誰もがアクセスを許可される正当なIPを偽装でき、ブロックアプローチを選択すると、正当なユーザーをブロックします。サービスへのアクセス。

[〜#〜] tcp [〜#〜]同様になりすましTCP(たとえば、Syn Flood)DDoS攻撃は、アクティブなブラックリストのアプローチに従っている場合、本物のユーザーを苦しめる可能性があります。

そのため、DDoSに対処するには、DPIまたはその他のアルゴリズムによって正規のトラフィックと攻撃トラフィックを区別できるほどインテリジェントなデバイスを使用して、注意深いフィルタリングを適用することをお勧めします。

CDN、NAT、PROXY

ユーザーがCDNなどの背後にいる場合、1人のユーザーをブロックすると、プロキシの背後にある束全体が影響を受ける可能性があります。

さらに、ルーターがコンテンツベースでフィルタリングできるようにするには、「IPアドレスまたはメッセージコンテンツなどのいずれかによる」を使用すると、ルーティングパフォーマンスが低下します。しかし、はい、それを行うためのルーター(NBARなど)がまだあり、すべてが彼の敷地内で適用できます。

また、ブロッキングはより具体的な基準に基づいている必要があります。

7
8zero2.ops

DDoSの軽減に関する技術的な課題についてすばらしい回答をした人もいますが、ここでは私の回答を示しますが、サイトで多数のIPアドレスをブロックしてDDoSをフィルタリングする機能を構築した後の状況に焦点を当てます。

多数のIPアドレスをブロックすることが常に望ましいとは限りません。 DDoSが大きいために多数のIPアドレスをブロックすることにより、望ましくない副作用としてそれらのIPアドレスを共有する可能性のある多数の正当なユーザー(Tor、プロキシユーザー、大学、共有世帯、=を使用するISPなど)をブロックすることができますNAT)。

これは小さな個人用サイトではそれほど問題ではないかもしれませんが、ユーザーが深刻な匿名性を正当に必要としている多くのサイトでは、政治活動家、LGBT、抑圧国での女性サービス、家庭内暴力などに対応しているサイトなどです。単純なIPブロッキングは、これらのサイトに対する攻撃者の策略に本質的に該当します。匿名ユーザーへのサービスによるサービスへのアクセスを拒否することにより、最も脆弱な正当なユーザーがサイトに安全にアクセスするのを防ぎ、攻撃者の目標と元のDDoSを達成することができます。

3
Lie Ryan

DDOS攻撃はさまざまな方法で実行できるため、単純な解決策や単一の解決策はありません。インターネットの背後にあるテクノロジーの性質は、広く開かれていることにほかなりません。セキュリティを強化し、多くの問題を緩和するためのパッチや回避策はたくさんあります。まとめると、サイトやネットワークを攻撃から保護することは、攻撃することよりもはるかに困難です。それが今日のセキュリティの状態です。

ネットワークレベルの攻撃(Dynの最近のDNSのような)については、前述のNetwork Ingress Filteringが役立ちます。これは、少なくともなりすましの問題に役立ちます。

ただし、このタイプの攻撃のより差し迫った問題は規模です。ボットネット内の感染したシステムの数がかなりの数の攻撃に到達した場合、数十万ではないにせよ数万のシステムに到達するため、IPベースのブロックを行うことは合理的ではありません。ブロックする場合、生き残るためにブロックする必要があるネットワークチェーンのはるか上にありますか? Krebs DDOS攻撃は600Gbsの範囲にあると主張されました。あなたまたはあなたのプロバイダーはそれを処理できますか(または私の経験では10-120Gbsでより一般的です)とにかく、あなたはその時点で単にモグラを遊んでいます、一度ブロックされると攻撃者はおそらく別の悪用されたマシンのセットに切り替わるでしょう異なるIPを使用します。

IPレピュテーションゲーム<cough> CloudFlare <cough>をプレイすることにした場合、大規模なプロバイダーをブロックするなど、愚かなことを行うことができます。 Pokemon Go ベルギーからのほとんど/すべてのトラフィックをドロップします。繰り返しますが、これはほくろに過ぎず、実行可能なソリューションではありません。

スタックの上位で話しましょう。資格情報の詰め込みやスクレイピングなどのWebサービス攻撃は、正当なトラフィックのように見えます。ジュニアリーグのスクリプトキディには、探すことができるブラウザー署名がありませんが、 Sentry MBA やPhantomJSのようなものでも、この単純なHTTPヘッダー/ブラウザーIDフィンガープリントを無効にする適切なブラウザーを模倣します。優れた攻撃者は、マウスとキーボードの適切な使用をシミュレートし、自動化された性質をさらに不明瞭にします。

CAPTCHAは、実装の観点(サーバー上のリソース、または$$のアウトソーシングのいずれか)から見ると、どちらも高価です。シンプルなものは、妥当な画像検出アルゴリズムで無効にすることができます。より複雑なキャプチャはユーザーを怒らせ始め、視覚障害のあるユーザーにアクセシビリティの問題を引き起こす可能性があります。機械的タークを介して直接(キャプチャでペニーを支払った人々の声)または間接的に(別のサイトで疑いを持たないユーザーが回答したサイトのキャプチャ)、キャプチャを効果的に無効にするシステムもあります。

とにかく、攻撃は多面的であるため、防御には多面的なアプローチが必要です。 MicrosoftがFBIと協力してボットネットを乗っ取ってシャットダウンしたため、大規模なオペレーターも攻撃を行っています。残念ながら、IoTは開梱されたばかりのシステムのまったく新しいシステムを開拓したばかりです。

3
Shackledtodesk

通常のトラフィックとDDoSトラフィックを区別するのは簡単ではありません。

DDoSは簡単な言葉で説明できます-
私は人間として、一度に1人の人としか話し合うことができない(雑談をする)ことができ、何十人もの人が同時に私に話しかける場合、私はいずれにも答えることができませんそれらと私はそれらすべての利用不可状態になります。

攻撃者は通常、侵害されたマシン(** botとも呼ばれます)からDDoS攻撃を生成します。質問の回答を書いている時点で、私のマシンが何らかの宛先へのddos攻撃に関与している可能性があります(私のマシンが危険にさらされている場合、その可能性は非常に低くなります)。

説明したように、ddos攻撃の制御(またはブロック)に利用できる白黒のソリューションはありません。

@gowenfawrで説明されているように、ddos攻撃パターンがudpの場合、インターネット全体のISPレベルでのURFの実装は、スプーフィングされたトラフィックのブロックに役立ち、ddos攻撃の制御に役立ちます。

3
Gaurav Kansal

DDoS攻撃の天才は、トラフィックが実際の顧客の潜在的に正当なIPから発信されているという事実から生じています。

米国に住んでいる普通の人が彼のルーターを危険にさらしてDDoSにそれを使用させたとしましょう。被害者の会社はIPアドレスを完全にブロックしました。会社がIPを完全にブロックし、潜在的に有効なIPがサーバーに再びアクセスするのを遮断したため、その人は会社のWebサービスにまったく接続できなくなりました。

これは簡単な例ですが、NAT Webブラウジング用のIPがいくつかあり、企業がそれらの一部をブロックしていると想像してください。NAT DDoS軽減中にIPそのキャンパスの何万人もの人々がその会社のサーバーへの接続を失う可能性があり、これはビジネスにとって壊滅的です。

言うまでもなく、十分に大きなDDoS攻撃は、膨大な数の異なるIPアドレスを使用する可能性があります。

3
downwardCorgi

ここでの実話

以前は小型のカメラシステムを販売していました。有名ブランドによるもので、カメラは壮観ではありませんでしたが、それでもまともな金額がかかりました。ある日、クレジットカードの請求について誰かから電話があった。誰かがそれを手に入れて、これらのカメラの1つを購入し、おそらくそれらを集約して誰かに直接出荷し、直接フェンスで囲んだり、それらをフラウスターにバルク出荷したりしたことがわかりました。

私は進取的な管理者であるため、ログを調べて、詐欺の原因を突き止めました。私はアフリカの知的財産からのものを見つけましたが、残りの疑わしい命令はすべてアメリカの知的財産でした。実際、それらはすべて、私たちのWebサーバーが置かれていた同じデータセンター内の侵害されたサーバーを介してプロキシされていました。ホストに報告する以外に、何もする必要がありませんでした。これをした人は誰でも、侵害されたマシンを介して文字列を引っ張っていました。ネットワークソース自体を確認することで、この種の事態を防ぐ方法はありません。誰かがいつどこで侵害され、IPが武器になるかは決してわかりません。

Dynに対する最近の攻撃は、 これがどれほど愚かで単純であるかを示しました

家庭用Wi-Fiルーターやインターネットプロトコルビデオカメラなどのデバイスで構成されるボットネットは、DynのDNSサービスに大量のリクエストを送信しています。これらのリクエストは正当に見えるため、Dynのシステムが通常のドメイン名ルックアップリクエストからそれらを除外することは困難です。

そして

彼らはしばしば再帰的なプロバイダーを経由するため、攻撃を阻止するのは困難です。ランダムなプレフィックスがあるため、キャッシュできません。 3年前にこのようなランダムプレフィックス攻撃が発生し始めましたが、それらは依然として非常に一般的な攻撃です。 IoTデバイスが使用されている場合、それはサイズとスケール[および攻撃がどのように影響するか]を説明します。Dynのサイズです。

IPv6の登場により、間もなく、それぞれに独自のIPを備えた数十億のデバイスを使用できるようになります。スコープが大きすぎて効果的にフィルターできません。

1
Machavity

「誰か」がインターネットインフラストラクチャ/バックボーンパーツに特定のアドレスからのトラフィックの受け入れ/転送を停止することを許可するプロトコルは、この「誰か」がDDOS技術を使用して必要な人をオフラインにする必要さえないことを意味します。 「存在しない中央の権威」がなければ、そのような力で誰を信頼すべきかについて合意するのは難しいでしょう。

0
rackandboneman