web-dev-qa-db-ja.com

HTTPサーバーを使用してSYN-ACKフラッドを起動できないのはなぜですか?

私は最近ネットワークを研究していて、この問題が頭に浮かびました。

(攻撃の)ターゲットのソースアドレスを含む多数のSYNリクエストを送信して、ターゲットのインターネット回線にSYN-ACKパケットを大量に送信することを妨げているのは何ですか?

これにより、攻撃対象に対する単純なSYNフラッド(またはUDPフラッド)よりも有利になります-匿名性、この方法で実際のIPを隠し、インターネット上の任意のHTTPサーバーを強制的に実行できるため、攻撃をブラックホール化によって軽減することをかなり困難にすることができますトラフィックを送信します。

別の利点は、ファイアウォールの背後にあるものも含めて、ボットネット内のほとんどすべてのコンピューターからSYNをHTTPサーバーに送信できることです。

私の質問は、なぜこれができないのですか?なぜこれが実際に悪用されていないのですか?

13
tensojka

これは、「反射DoS」と呼ばれる、長く知られた攻撃です。防御側にほとんど問題を引き起こさない理由は、予期しないSYN + ACKを受信して​​も、ターゲットサーバーで状態が発生しないためです。せいぜいパケットを送り返して、「ああ、申し訳ありませんが、それを期待していませんでした」可能性があります攻撃者が自由に使える多くの帯域幅を持っているシナリオですが、ほとんどの場合、これは攻撃者にとってあまり役に立ちません。ほとんどの場合、サービスの前のファイアウォールは、開いている接続がないことを確認し、サイレントにパケットをドロップするだけです。一般に、SYNおよびSYN + ACKパケットは非常に小さいため、フラッディングに関して防御側に問題を引き起こすには、非常に多くのパケットが必要です。

対照的に、SYNフラッディングが時々効果的である理由は、ネットワークリンクが飽和するのではなく、サーバーのTCPスタックが新しいクライアントがACKを送信することを期待しており、その待機まで状態を維持する必要があることです期間がタイムアウトすると、ハーフオープン接続制限に達し、正当なユーザーからの新しい接続が拒否されます。ただし、これは、最新のTCP/IPスタック実装と=などの防御策を使用することにより、ほとんどの賢明なシナリオで軽減されます。 TCP Cookieとファイアウォール/ IPSルール。

より一般的に見られるフラッディングリフレクション攻撃のタイプは プロセスの攻撃を増幅するもの です。これにより、攻撃者が送信した小さなパケットがサーバーから大きな応答パケットを生成し、攻撃者がトラフィックの量を増幅できるようになりますかなり。これは主にDNSサーバーに対して最初に悪用されましたが、最近では、攻撃者はさらに大きな増幅係数を生成する他の多くのサービス、特にNTPを特定しました。

21
Polynomial

ほとんどのISPまたは組織では、攻撃は外部に対しては機能しない可能性があります。これは、業界のベストプラクティスであり、シスコの専門用語である出力フィルタリングを実行することは良いマナーと見なされているためです。

一部のファイアウォールブランド、つまりCheckPointでは、スプーフィング対策が有効になっている場合、同じネットワーク上のマシンをスプーフィングされたパケットで接続するだけです。

単に任意の組織、そして実際には多くのISPは、ファイアウォールまたは境界ゲートウェイ、自社のIPアドレスをソースとして持たないインターネットに向かうパッケージをフィルターで除外します。

私が管理しているISPと大規模な組織では、常に入力と出力のフィルタリングを実装しています。

入力/出力フィルターは、偽造されたパケットとDDOS攻撃を軽減するために、90年代後半から標準的な方法となっています。多くはまだ対策を実施していません。

技術的なヒント:ネットワークのエッジを保護するために入力と出力のフィルタリングを使用する

逸話として、私は第三世界の国の最大のISPの1つでIP /通信/システムを管理しました。私たちはまだ衛星に縛られていて、特にアップストリームの帯域幅は貴重で不足していた。競合他社が私たちのモデムを購入したヘルプデスクからチケットを一度転送されましたが、彼らは苦情を言いました私たちのサービスは転送していませんでしたそれらのIPアドレス空間

もっと深刻な話として、私は一度、テストのためにイングレスフィルタリングを数分間無効にしましたが、アップストリームプロバイダーがマルチキャストビデオトラフィックを適切にフィルタリングしないというミスがあったため、かなりひどく速かったです。

2
Rui F Ribeiro

うまくいくかもしれませんが、痛みを伴うようです。

私が正しければ、 "reflector"マシン上のネイキッドSYNは、最終的にはIPSまたは最新のファイアウォールによってフラッディングの試みとして識別され、ドロップされます。

被害者の一方的なSYN-ACKはファイアウォールでドロップされます。それはサービスポートにも行きません。

[source] -ephermal:TCP(SYN):80-> [reflector] -80:TCP(SYN-ACK):ephermal-> [victim]

1Gbpsパイプを飽和させるには、SYN-ACKを送信するsynflood保護なしのlotのWebサーバーが必要です。

1
mgjk