QUICは、比較的新しいトランスポートプロトコルです。QUICフラッドDDoS攻撃では、攻撃者は大量のQUICトラフィックをサーバーに送り付けます。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
QUICプロトコルは、従来のプロトコルよりも、高速で、効率よく、安全にインターネットを介してデータを送信する新しい方法です。QUICはトランスポートプロトコルです。つまり、データがインターネット上を移動する方法に影響を与えます。大部分のインターネットプロトコルと同様に、QUICはDDoS攻撃を実行するために悪用される可能性があります。
より技術的に言えば、QUICプロトコルは理論的にはTCP(トランスポートプロトコル)とTLS(暗号プロトコル)の両方に取って代わることができるトランスポート層のプロトコルです。2019年7月時点では、全Webサイトの約3%がQUICを使用していました。Cloudflareをはじめとする、このプロトコルの支持派は、採用率が今後も上昇していくことを願っています。最新バージョンのHTTPプロトコルであるHTTP/3は、QUIC上で実行されます。
QUICプロトコルは、従来のインターネット接続よりも高い高速性能と安全性の実現を目指します。速度を向上させるために、TCPよりも高速性能が高いが信頼性が低いトランスポートプロトコルであるUDPを使用します。複数のデータストリームを一度に送信して途中で損失するデータを補完します。こうした手法のことをマルチプレキシングと呼びます。
セキュリティを強化するために、QUIC経由で送信されるすべてのものを自動的に暗号化します。通常、データを暗号化するにはHTTPS経由で送信する必要がありますが、QUICはTLS暗号化を通常の通信プロセスに組み込みます。
このように暗号化を組み込むことで、プロトコルをさらに高速化します。典型的なHTTPSでは、複数のステップを踏むTLSハンドシェイクが開始する前にトランスポート層で3ウェイTCPハンドシェイクが完了していなければなりません。これらすべてを、クライアントとサーバー間で実際のデータを送信する前に行う必要があります。QUICは、すべてが同時に行われるように、2つのハンドシェイクを組み合わせます。クライアントとサーバーは、オープンな接続であることを認識して、TLS暗号鍵を同時に生成します。
QUICフラッドDDoS攻撃とは、攻撃者がターゲットサーバーにQUIC経由で大量のデータを送信してサービスを妨害しようとするものです。被害を受けたサーバーは、受信したすべてのQUICデータを処理しなくてはならないので、正当なユーザーに対するサービスの提供スピードが遅くなり、場合によってはサーバーがクラッシュします。QUICを介したDDoS攻撃は、次のような理由から阻止するのが難しいです:
QUICフラッド攻撃は、多くの方法を用いて実行できますが、QUICプロトコルは特にリフレクション型DDoS攻撃を受けやすいです。
リフレクション型DDoS攻撃では、攻撃者は被害者のIPアドレスを模倣して、複数のサーバーに情報を要求します。サーバーが応答すると、すべての情報は攻撃者ではなく被害者に送信されます。誰かが他人の差出人住所を使用して悪意を持って手紙を送付することで、その差出人住所に大量の迷惑郵便物が返送されることになる状況を想像してください。
QUICプロトコルを使用すると、QUIC接続を開始する最初の「hello」メッセージを使用したリフレクション攻撃を実行することが可能です。TCP接続とは異なり、サーバーが単純な「ACK」メッセージを送信してQUIC接続がオープンすることはありません。QUICは、UDPトランスポートプロトコルとTLS暗号化を組み合わせるため、サーバーはTLS証明書をクライアントへの最初の応答に含めます。つまり、サーバーの最初のメッセージはクライアントの最初のメッセージよりずっと大きくなります。被害者のIPアドレスを模倣してサーバーに「hello」メッセージを送信することで、攻撃者はサーバーをだまして大量の不要なデータを被害者に送信させます。
こうした攻撃を部分的に軽減するために、QUICプロトコルの設計者は、クライアントを装った大量のhelloメッセージを送信するのに相当な帯域幅を攻撃者が消費するように、最初のクライアントのhelloメッセージの最小サイズを設定しました。しかし、依然としてサーバーのhelloメッセージはクライアントのhelloメッセージよりも大きいため、この手の攻撃は引き続き可能となります。
UDPフラッド攻撃とは、DDoS攻撃の一種で、標的とするサーバーに大量の不要なUDPパケットを送信するものです。QUICはUDPを使用しますが、QUICフラッド攻撃は、必ずしもUDPフラッド攻撃と同じとは限りません。
UDPフラッド攻撃が標的とするサーバーを停止させる1つの方法は、模倣したUDPパケットを実際には使用されていないサーバーの特定のポートに送信することです。サーバーはすべてのパケットに対してICMPエラーにて応答しなければならないため、処理能力を費やしてサーバーの速度が低下します。この攻撃はQUICを使用して実行できますが、攻撃者にとっては、QUICパケットを生成する追加のオーバーヘッドなしでUDP経由のみで実行する方が安上がりになります。
Cloudflareは、QUICフラッド攻撃を含む様々なDDoS攻撃を軽減しています。125を超える国の335都市にまたがるCloudflareのグローバルネットワークは、史上最大級のDDoS攻撃でさえも十分に吸収して軽減できる規模を誇ります。DDoS攻撃についての詳細をご覧ください。