Advanced DNS Protection:巧妙なDNS DDoS攻撃を軽減
2024-03-07
Advanced DNS Protectionシステムを紹介できることを嬉しく思います。これは、最も高度なDNSベースのDDoS攻撃から保護するように設計された堅牢な防御メカニズムです...
続きを読む »
\n \n
当社の既存のシステムは、DNSに対する「より単純な」DDoS攻撃の検知と軽減には成功していますが、より複雑な攻撃には苦戦しています。Advanced DNS Protectionシステムは、このブログ記事で紹介する新技術を活用して、このギャップを埋めることができます。
現在ベータ版のAdvanced DNS Protectionは、Magic Transitのすべてのお客様は、追加費用なしで利用できます。DNSのDDoS攻撃、新システムの仕組み、そして今後期待される新機能の詳細については、こちらをお読みください。
DNSサーバーの保護、可用性、パフォーマンスを維持するために当社がどのような支援ができるか、関心のある項目を登録してください。
\n分散型サービス拒否(DDoS)攻撃は、サイバー攻撃の一種で、Webサイトやその他のオンラインサービスを中断し、ダウンさせることを目的としています。DDoS攻撃が成功し、Webサイトが閉鎖されると、大きな収益損失と評判に損害を与えることにつながります。
2023年のDDoS攻撃タイプの分布
\nWebサイトを中断し、ダウンさせる一般的な方法の1つは、そのサーバーが処理できる以上のトラフィックを送り込み、サーバーをフラッディングすることです。これはHTTPフラッド攻撃として知られています。これはDDoS攻撃の一種で、大量のHTTPリクエストを使用してWebサイトを_直接_標的にします。当社の最新のDDoSトレンドレポートによると、2023年には、当社のシステムが自動的に520万件のHTTP DDoS攻撃を軽減しました—これは、DDoS攻撃全体の37%を占めていました。
HTTPフラッド攻撃の図
\nしかし、Webサイトをダウンさせる別の方法があります:それは、Webサイトを_間接的に_標的にすることです。脅威アクターは、Webサイトのサーバーをフラッディングする代わりに、DNSサーバーをフラッディングします。DNSサーバーが容量を超えるクエリで圧倒されると、ホスト名からIPアドレスへの変換に失敗し、DNSサーバーが正当なクエリに応答できなくなるため、Webサイトが間接的に機能停止に陥ります。
顕著な例としては、2016年10月にDNSプロバイダーのDynを標的とした攻撃です。悪名高いMiraiボットネットが着手した壊滅的なDDoS攻撃でした。この攻撃により、Airbnb、Netflix、Amazonなどの主要サイトの中断を引き起こし、サービスの復旧にDynは丸1日かかりました。これは、サービスの中断にとって長い時間でした。評判や収益に重大な影響を与える可能性があります。
7年以上経った今でも、Mirai攻撃やDNS攻撃は非常に一般的です。2023年には、DNS攻撃は、2番目に多い一般的な攻撃タイプでした。—DDoS攻撃(460万件)全体の33%を占めています。Mirai亜種ボットネットによって開始された攻撃は、ネットワーク層DDoS攻撃の5番目に多い一般的なタイプで、ネットワーク層DDoS攻撃全体の3%を占めています。
DNSクエリフラッド攻撃の図
\nDNSベースのDDoS攻撃は、各クエリに繰り返し発生するパターンがある場合、軽減しやすくなります。これが「攻撃指紋」と呼ばれるものです。指紋ベースの軽減システムは、これらのパターンを識別し、正当なトラフィックに影響を与えずに、攻撃トラフィックを外科手術のように慎重にフィルタリングする軽減ルールをデプロイします。
例えば、攻撃者がターゲットにDNSクエリを大量に送信するシナリオを考えてみましょう。この例では、攻撃者は送信元IPアドレスだけをランダム化しました。他のクエリフィールドはすべて一貫しています。軽減システムは、パターン(送信元ポートが1024で、クエリされたドメインが「example.com
」である)を検出し、それらのクエリをフィルタリングするための短期的な軽減ルールを生成します。
攻撃指紋概念の簡易図
\nしかし、DNSベースのDDoS攻撃は、はるかに高度でランダム化され、明らかな攻撃パターンがありません。一貫したパターンがない場合、指紋ベースの軽減システムがロックオンするパターンがなくなり、攻撃を軽減することは事実上不可能になります。さらに、高度にランダム化された攻撃で攻撃パターンが検出されたとしても、そのパターンはおそらく一般的なものであるため、正当なユーザートラフィックを誤って軽減したり、攻撃全体を捕捉したりすることはないでしょう。
この例では、攻撃者はDNSクエリフラッド攻撃でクエリされたドメインもランダム化しています。同時に、正当なクライアント(またはサーバー)も「example.com
」をクエリしています。これらにはランダムなポート番号が割り当てられましたが、それはたまたま1024でした。軽減システムは、指紋に一致する攻撃部分のみを捕捉するパターン(ソースポートが1024で、クエリされたドメインが「example.com
」)を検出しました。軽減システムは他のホスト名をクエリした攻撃部分を見逃していました。最後に、軽減システムが誤って、攻撃トラフィックと類似しているように見える正当なトラフィックを検知しました。
ランダム化DNSフラッド攻撃の簡易図
\nこれは、指紋法がランダム化されたDDoS攻撃を阻止する際にどのように失敗する可能性があるのかを示した、非常に単純な一例です。この課題は、攻撃者が信頼される公開DNSリゾルバー(DNSリゾルバーは、再帰DNSサーバーとも呼ばれ、さまざまな他のDNSサーバーからWebサイトのIPアドレスを追跡する責任を負うDNSサーバーの一種です)を介して攻撃トラフィックを「ロンダリング」する場合にさらに深刻化します。これはDNSロンダリング攻撃として知られています。
DNS解決プロセスの図
\nDNSロンダリング攻撃中、攻撃者が被害者の権威DNSサーバーが管理するドメインのサブドメインを照会します。サブドメインを定義するプレフィックスはランダム化され、複数回使用されることはありません。ランダム化要素により、再帰DNSサーバーはキャッシュされたレスポンスを持つことはなく、被害者となる権威DNSサーバーにクエリを転送する必要があります。権威DNSサーバーは膨大なクエリにさらされることになり、正当なクエリに対応できなくなるか、あるいは完全にクラッシュすることとなります。
DNSロンダリング攻撃の図
\n高度なDNS DDoS攻撃の複雑さは、その逆説的な性質にあります。つまり、DNS DDoS攻撃は、比較的容易に検出できる一方で、効果的に軽減することは非常に困難であるということです。この難しさは、権威DNSサーバーも正当なリクエストを行うため、再帰DNSサーバーからのクエリを単純にブロックすることができないという事実に起因しています。さらに、権威DNSサーバーは、アクセス可能な状態を維持する必要がある本物のドメインであるため、ターゲットドメインを対象としたクエリをフィルタリングすることができません。
\nこの種の高度なDNSベースのDDoS攻撃の増加により、当社は新たなソリューションを開発する必要に迫られました。—これは、より適切にお客様を保護し、従来の指紋法との間のギャップを埋めるソリューションです。そのソリューションがAdvanced DNS Protectionシステムです。Advanced TCP Protectionシステムと同様に、これは当社が構築したソフトウェア定義のシステムであり、当社のステートフルな軽減プラットフォームである_flowtrackd_(フロー追跡デーモン)が搭載されています。
Advanced DNS Protectionシステムは、当社の既存のDDoS防御システムスイートを補完するものです。当社の他のDDoS防御システムと同様のアプローチを取り、Advanced DNS Protectionシステムも分散型システムであり、そのインスタンスは世界中のすべてのCloudflareサーバーで実行されます。システムが開始されると、各インスタンスは一元的な規制を必要とせずに自律的に攻撃を検出して軽減できます。検知と軽減は瞬時に行われます(ゼロ秒)。各インスタンスは、データセンター内の他のサーバー上の他のインスタンスとも通信します。脅威インテリジェンスを持つ人々が、会話をし、脅威インテリジェンスを共有して、各データセンター内で包括的な軽減を実現します。
Cloudflareダッシュボードのスクリーンショットが、Advanced DNS Protectionシステムによって軽減されたDNSベースのDDoS攻撃を示しています
\n指紋法に基づくシステム(DDoS攻撃対策マネージドルールセット)とステートフルな軽減システムを組み合わせることで、最も高度でランダム化されたDNSベースのDDoS攻撃に対する強固な多層防御戦略を提供します。また、このシステムはカスタマイズ可能であるため、Cloudflareのお客様はニーズに合わせてカスタマイズできます。設定オプションの詳細については、当社のドキュメントを参照してください。
CloudflareのDDoS攻撃対策システムの図
\nまた、お客様がDNSトラフィックのパターンや攻撃をさらに理解できるように、DNSを中心とした新しいデータポイントを追加しました。これらの新しいデータポイントは、Cloudflareネットワーク分析ダッシュボード内の新しい「DNS保護」タブで利用できます。新しいタブには、どのDNSクエリが受け入れられたか、どのDNSクエリが破棄されたか、そしてクエリされたドメイン名やレコードタイプなどのクエリの特性に関する洞察が提供されます。分析結果は、Cloudflare GraphQL APIを使用したり、Logpushを介してログを独自の監視ダッシュボードにエクスポートしたりすることによっても取得できます。
\n高度にランダム化されたDNSベースのDDoS攻撃から保護するには、お客様にとって正当である可能性が高いDNSクエリを適切に判断できるようにする必要がありました。しかし、クエリ名だけを基にして何が正当であるか、そして何が攻撃の一部である可能性が高いかを推測するのは容易ではありません。一見ランダムなクエリ、例えばabc123.example.comのようなクエリが正当な場合があるため、指紋ベースの検出メカニズムだけに頼ることはできません。その逆もまた真なりで、mailserver.example.comのクエリは正当に見えるかもしれませんが、実際にはお客様の実在するサブドメインでない可能性があります。
さらに悪いことに、当社のレイヤー3パケットルーティングベースの軽減サービスであるMagic Transitは、ダイレクトサーバーリターン(DSR)を使用しているため、当社は、DNS配信元サーバーの応答を確認して、最終的にどのクエリが正当であるかについてフィードバックを提供できません。
ダイレクトサーバーリターン(DSR)を使用したMagic Transitの図
\n当社は、こうした攻撃に対抗する最善の方法は、当社が構築した履歴の記録に基づいて、各お客様の予想されるDNSクエリのデータモデルを構築することだと判断しました。このモデルを使用することで、どのクエリが正当なものかをより高い確信度で判断し、正当でないと思われるクエリを削除して、お客様のDNSサーバーを保護することができます。
このことが、Advanced DNS Protectionの基礎となります。Magic Transitのお客様に送信されるすべてのDNSクエリを検査し、データモデルと各お客様の個別設定に基づいてクエリを受け入れるか破棄するかを決定します。
そのために、当社のグローバルネットワークの各サーバーは、クエリのタイプ(例:Aレコード)やクエリされたドメイン(ただし、クエリの送信元は含まれません)などの特定のDNS関連データを絶えず当社のコアデータセンターに送信しています。ここで、各お客様のDNSクエリトラフィックのプロファイルを定期的に計算しています。これらのプロファイルは当社のグローバルネットワーク全体に分配され、どのクエリが適切であり、どのクエリが不適切かをより確信を持ってかつ正確に判断するために参照されます。お客様の設定に基づく予期せぬDNSクエリに対する許容度を考慮し、不適切なクエリを削除し、適切なクエリを受け入れます。
\nこのシステムを構築するにあたり、当社はいくつかの具体的な技術的課題に直面しました:
\n当社は、Cloudflareの他のDNS製品スイートを除いて、Magic Transitのお客様の当社のグローバルネットワーク全体で1日あたり数千万件のDNSクエリを処理し、上記のDNS関連データを使用してカスタムのクエリトラフィックプロファイルを構築しています。この種のデータを分析するには、データパイプラインを注意深く処理する必要があります。これらのトラフィックプロファイルを構築する際には、必要なデータの書き込み時と読み込み時にそれぞれサンプルオンライトとアダプティブビットレートテクノロジーを使用して、データインフラストラクチャを保護しながらきめ細かな粒度でデータをキャプチャし、エンドユーザーのプライバシーに影響を与える可能性のある情報を破棄します。
\n当社のお客様の中には、1日あたりだけで数千万件のDNSクエリを処理するところもあります。このような量のデータを非圧縮形式で保存し、分配するには法外なコストがかかります。この課題を解決するために、当社は各お客様のトラフィックプロファイルに対してカウントブルームフィルターを使用することに決めました。これは確率的なデータ構造であり、各お客様のDNSプロファイルを簡潔に保存、分配し、パケット処理時にお客様のDNSプロファイルを効率的にクエリすることができます。
\n当社は定期的に、データセンター間の各お客様のDNSトラフィックプロファイルをフリート内の各サーバーに対し、再計算し、再分配する必要があります。この作業を大幅に簡素化するために、当社独自のR2ストレージサービスを使用しました。地域ヒントとカスタムドメインを有効にして、キャッシングを有効にし、少数のR2バケットのみを使用しました。エッジフリート全体で顧客データモデルのグローバルビューを更新するたびに、転送されるデータの98%がキャッシュから提供されます。
\n新しいドメイン名がサービスに投入されても、これらの名前のクエリはこれまで見たことがないため、データモデルはすぐには認識しません。このような潜在的な誤検知の理由から、システムには一定の許容度を持たせて、潜在的に正当なクエリを通す必要があります。それを実現するために、トークンバケットアルゴリズムを活用しています。お客様は、Advanced DNS Protectionシステムの感度レベルを変更することで、トークンバケットのサイズを設定できます。感度が低いほど、トークンバケットは大きくなります—その逆も同様です。トークンバケットが大きいほど、予期しないDNSクエリやプロファイルから逸脱したDNSクエリに対する許容度が高まります。高感度レベルは、トークンバケットを小さくし、アプローチを厳しくします。
\n結局は、Cloudflareが解決に優れているのは、このようなタイプの課題なのです。お客様のトラフィックを処理し、インターネットプロパティの保護、可用性、パフォーマンスを確保することで、当社はお客様から信頼を得ています。当社はその信頼を非常に大切にしています。
Advanced DNS Protectionシステムは、当社のグローバルインフラストラクチャとデータ処理機能を、インテリジェントなアルゴリズムとデータ構造とともに活用して、お客様を保護します。
まだCloudflareをご利用でないお客様は、DNSサーバーの保護をご希望であればお知らせください。既存のCloudflareのお客様は、アカウントチームまたはCloudflareのサポートにご連絡いただくことで、新しいシステムを有効にすることができます。
"],"published_at":[0,"2024-03-07T14:00:36.000+00:00"],"updated_at":[0,"2024-11-06T16:32:46.452Z"],"feature_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/62AFeM2Vt5oZEWV3lP2ETi/0310cca680e228f3111ac59ddc4ad140/advanced-dns-protection.png"],"tags":[1,[[0,{"id":[0,"3DmitkNK6euuD5BlhuvOLW"],"name":[0,"Security Week"],"slug":[0,"security-week"]}],[0,{"id":[0,"5fZHv2k9HnJ7phOPmYexHw"],"name":[0,"DNS"],"slug":[0,"dns"]}],[0,{"id":[0,"5p7BMv5ZMukbTzLqGWgkUI"],"name":[0,"Advanced DDoS"],"slug":[0,"advanced-ddos"]}],[0,{"id":[0,"4oG9YT1nATKpmpwIzxSzat"],"name":[0,"Network Protection"],"slug":[0,"network-protection"]}]]],"relatedTags":[0],"authors":[1,[[0,{"name":[0,"Omer Yoachimik"],"slug":[0,"omer"],"bio":[0,"Product Manager / Cloudflare's DDoS Protection Service"],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6TXRnB1v4ZHGiL3nRlvRTZ/e47fa218da976d21b5074229b33b9589/omer.png"],"location":[0,"London"],"website":[0,null],"twitter":[0,"@OmerYoahimik"],"facebook":[0,null]}],[0,{"name":[0,"Cody Doucette"],"slug":[0,"cody-doucette"],"bio":[0,null],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6WuOIO745xQocmriRTJFpZ/07d50aba265e49e13f933cc2ee5681f0/cody-doucette.png"],"location":[0,null],"website":[0,null],"twitter":[0,null],"facebook":[0,null]}]]],"meta_description":[0,"We're proud to introduce the Advanced DNS Protection system, a robust defense mechanism designed to protect against the most sophisticated DNS-based DDoS attacks. "],"primary_author":[0,{}],"localeList":[0,{"name":[0,"Advanced DNS Protection: mitigating sophisticated DNS DDoS attacks Config"],"enUS":[0,"English for Locale"],"zhCN":[0,"Translated for Locale"],"zhHansCN":[0,"No Page for Locale"],"zhTW":[0,"Translated for Locale"],"frFR":[0,"Translated for Locale"],"deDE":[0,"Translated for Locale"],"itIT":[0,"No Page for Locale"],"jaJP":[0,"Translated for Locale"],"koKR":[0,"Translated for Locale"],"ptBR":[0,"No Page for Locale"],"esLA":[0,"No Page for Locale"],"esES":[0,"Translated for Locale"],"enAU":[0,"No Page for Locale"],"enCA":[0,"No Page for Locale"],"enIN":[0,"No Page for Locale"],"enGB":[0,"No Page for Locale"],"idID":[0,"No Page for Locale"],"ruRU":[0,"No Page for Locale"],"svSE":[0,"No Page for Locale"],"viVN":[0,"No Page for Locale"],"plPL":[0,"No Page for Locale"],"arAR":[0,"No Page for Locale"],"nlNL":[0,"No Page for Locale"],"thTH":[0,"No Page for Locale"],"trTR":[0,"No Page for Locale"],"heIL":[0,"No Page for Locale"],"lvLV":[0,"No Page for Locale"],"etEE":[0,"No Page for Locale"],"ltLT":[0,"No Page for Locale"]}],"url":[0,"https://blog.cloudflare.com/advanced-dns-protection"],"metadata":[0,{"title":[0,"Advanced DNS Protection:巧妙なDNS DDoS攻撃を軽減"],"description":[0,"We're proud to introduce the Advanced DNS Protection system, a robust defense mechanism designed to protect against the most sophisticated DNS-based DDoS attacks. "],"imgPreview":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7ci55Soqettz6tYWGcU65x/086eb7b244ad2ba66700600c19b4863f/advanced-dns-protection-wn4NP5.png"]}]}],"locale":[0,"ja-jp"],"translations":[0,{"posts.by":[0,"リーク元"],"footer.gdpr":[0,"GDPR"],"lang_blurb1":[0,"この投稿は{lang1}でも表示されます。"],"lang_blurb2":[0,"この投稿は{lang1}および{lang2}でも表示されます。"],"lang_blurb3":[0,"この投稿は{lang1}、{lang2}、{lang3}でも表示されます。"],"footer.press":[0,"プレス"],"header.title":[0,"Cloudflare ブログ"],"search.clear":[0,"消去"],"search.filter":[0,"フィルター"],"search.source":[0,"ソース"],"footer.careers":[0,"キャリア"],"footer.company":[0,"会社"],"footer.support":[0,"サポート"],"footer.the_net":[0,"theNet"],"search.filters":[0,"フィルター"],"footer.our_team":[0,"Cloudflareのチーム"],"footer.webinars":[0,"ウェビナー"],"page.more_posts":[0,"その他の投稿"],"posts.time_read":[0,"{time}分で読了"],"search.language":[0,"言語"],"footer.community":[0,"コミュニティ"],"footer.resources":[0,"リソース"],"footer.solutions":[0,"ソリューション"],"footer.trademark":[0,"商標"],"header.subscribe":[0,"登録"],"footer.compliance":[0,"コンプライアンス"],"footer.free_plans":[0,"Freeプラン"],"footer.impact_ESG":[0,"インパクト/ESG"],"posts.follow_on_X":[0,"Xでフォロー"],"footer.help_center":[0,"ヘルプセンター"],"footer.network_map":[0,"ネットワークマップ"],"header.please_wait":[0,"お待ちください"],"page.related_posts":[0,"関連ブログ投稿"],"search.result_stat":[0,"{search_keyword}の結果{search_range}/{search_total}"],"footer.case_studies":[0,"導入事例"],"footer.connect_2024":[0,"Connect 2024"],"footer.terms_of_use":[0,"利用規約"],"footer.white_papers":[0,"ホワイトペーパー"],"footer.cloudflare_tv":[0,"Cloudflare TV"],"footer.community_hub":[0,"コミュニティハブ"],"footer.compare_plans":[0,"プラン比較"],"footer.contact_sales":[0,"営業担当へのお問い合わせ"],"header.contact_sales":[0,"営業担当へのお問い合わせ"],"header.email_address":[0,"メールアドレス"],"page.error.not_found":[0,"ページが見つかりません"],"footer.developer_docs":[0,"開発者ドキュメント"],"footer.privacy_policy":[0,"プライバシーポリシー"],"footer.request_a_demo":[0,"デモ依頼"],"page.continue_reading":[0,"続きを読む"],"footer.analysts_report":[0,"アナリストレポート"],"footer.for_enterprises":[0,"エンタープライズ向け"],"footer.getting_started":[0,"利用開始"],"footer.learning_center":[0,"ラーニングセンター"],"footer.project_galileo":[0,"プロジェクトGalileo"],"pagination.newer_posts":[0,"次の投稿"],"pagination.older_posts":[0,"以前の投稿"],"posts.social_buttons.x":[0,"Xで議論"],"search.icon_aria_label":[0,"検索"],"search.source_location":[0,"ソース/ロケーション"],"footer.about_cloudflare":[0,"Cloudflareについて"],"footer.athenian_project":[0,"Athenianプロジェクト"],"footer.become_a_partner":[0,"パートナープログラム"],"footer.cloudflare_radar":[0,"Cloudflare Radar"],"footer.network_services":[0,"ネットワークサービス"],"footer.trust_and_safety":[0,"信頼性と安全性"],"header.get_started_free":[0,"まずは無料プランから"],"page.search.placeholder":[0,"Cloudflareを検索"],"footer.cloudflare_status":[0,"Cloudflareステータス"],"footer.cookie_preference":[0,"Cookieの設定"],"header.valid_email_error":[0,"有効なメールアドレスを入力してください。"],"search.result_stat_empty":[0,"検索結果 {search_total}件中{search_range}件を表示"],"footer.connectivity_cloud":[0,"コネクティビティクラウド"],"footer.developer_services":[0,"開発者サービス"],"footer.investor_relations":[0,"IR"],"page.not_found.error_code":[0,"エラーコード:404"],"search.autocomplete_title":[0,"クエリを挿入し、Enterキーを押して送信してください"],"footer.logos_and_press_kit":[0,"ロゴとプレスキット"],"footer.application_services":[0,"アプリケーションサービス"],"footer.get_a_recommendation":[0,"推奨製品"],"posts.social_buttons.reddit":[0,"Redditで議論"],"footer.sse_and_sase_services":[0,"SSEサービスとSASEサービス"],"page.not_found.outdated_link":[0,"古いリンクを使われたか、アドレスを誤って入力された可能性があります。"],"footer.report_security_issues":[0,"セキュリティの問題を報告"],"page.error.error_message_page":[0,"お探しのページは見つかりませんでした。"],"header.subscribe_notifications":[0,"新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:"],"footer.cloudflare_for_campaigns":[0,"Cloudflare for Campaigns"],"header.subscription_confimation":[0,"サブスクリプションが確定されました。ご登録ありがとうございます!"],"posts.social_buttons.hackernews":[0,"Hacker Newsでの議論"],"footer.diversity_equity_inclusion":[0,"多様性、公平性、包摂性"],"footer.critical_infrastructure_defense_project":[0,"重要インフラ防衛プロジェクト"]}]}" ssr="" client="load" opts="{"name":"PostCard","value":true}" await-children="">2024-03-07
Advanced DNS Protectionシステムを紹介できることを嬉しく思います。これは、最も高度なDNSベースのDDoS攻撃から保護するように設計された堅牢な防御メカニズムです...
続きを読む »