JPドメイン名のサービス案内、ドメイン名・DNSに関連する情報提供サイト


ドメイン名関連会議報告

2024年

[Interop Tokyo 2024出展報告] DNSを狙った攻撃の影響範囲とフルリゾルバーの可用性・信頼性を高めるためのポイント~KeyTrap脆弱性を題材として~

本記事では、6月12日から14日までの3日間にわたり幕張メッセで開催された「Interop Tokyo 2024」の出展ブースで実施した、ミニセミナー「DNSを狙った攻撃の影響範囲とフルリゾルバーの可用性・信頼性を高めるためのポイント」の内容についてご紹介します。

ミニセミナーでは、DNSのフルリゾルバー(キャッシュDNSサーバー)がサイバー攻撃を受けた場合の影響範囲と可用性[*1]・信頼性を高めるためのポイントについて、2024年2月に発表された新たな攻撃手法「KeyTrap」を題材として解説しました。

ミニセミナーの資料を公開していますので、併せてご参考にしてください。

フルリゾルバーに高い可用性・信頼性が必要になる理由

DNSは、スタブリゾルバー・フルリゾルバー・権威DNSサーバーという、基本となる三つの構成要素が連携して動いています[*2]

フルリゾルバーはスタブリゾルバー(DNSクライアント)から名前解決要求を受け取り、名前解決を実行して、その結果を返します。そのため、もしフルリゾルバーがサイバー攻撃を受けてサービスに影響が及ぶと、その影響は利用者の「インターネットが使えない・おかしい」に直接つながることになります。

こうした「使えない」「おかしい」といった状況の発生を防ぐため、フルリゾルバーには高い可用性・信頼性が必要になります(図1)。

(図1)

(図1)


KeyTrapの概要と対応状況

KeyTrapは2024年2月にドイツの研究グループが公開した、フルリゾルバーを標的としたDoS攻撃の手法です。KeyTrapには脆弱性を識別するための共通脆弱性識別子(CVE)として、CVE-2023-50387が割り当てられています。

▽KeyTrapの仕組み


KeyTrapは攻撃において、DNSSECの鍵と署名検証の仕組みを利用します。

DNSSECでは定期的な鍵の更新(キーロールオーバー)やDNS運用者の変更に対応するため、一つのゾーンに複数の鍵を設定でき、かつ一つのリソースレコードセットに複数の署名を追加できるように設計されています(図2)。

(図2)

(図2)


複数の鍵・署名が存在する場合、DNSSECでは鍵ごとに割り当てられる「鍵タグ[*3]」を使って対象を絞り込むことで、検証にかかるコストを削減します。KeyTrapでは、同じ鍵タグを持つ多数の鍵を意図的に設定したゾーンを作成し、検証に失敗する多数の署名を持つDNSデータを検証させることで検証にかかるコストを増大させ、フルリゾルバーの名前解決を妨害します(図3)。

(図3)

(図3)


▽KeyTrapの対応状況


KeyTrapへの対応は手法を発表した研究グループとフルリゾルバーの実装を開発している各ベンダーが連携する形で進められ、脆弱性の公開と同時に、対応するためのパッチが公開されました。

パッチではいずれの実装においても、DNSSEC検証の作業量を抑制することでDNSサービスが停止しないようにする対策が取られており、脆弱性の影響を軽減しています(図4)。

(図4)

(図4)


フルリゾルバーの可用性・信頼性を高めるためのポイント

後半では、フルリゾルバーの可用性・信頼性を高めるための重要な項目である「障害の予防」と「障害発生時の対応」の2点において考慮すべきポイントを、フルリゾルバーの設計・構築時(作る時)と運用時(動かす時)の二つの観点で解説しました。

▽障害を予防するための設計・構築時のポイント


障害を予防するために考慮すべき設計・構築時のポイントとして、サーバーの可用性・信頼性の向上とサーバーにおける十分なネットワーク帯域・アクセシビリティの確保の2点を挙げ、解説しました(図5)。

(図5)

(図5)


▽障害を予防するための運用時のポイント


障害を予防するために考慮すべき運用時のポイントとして、脆弱性やサイバー攻撃などの脅威への対応と攻撃に晒される・踏み台にされるリスクの軽減の2点を挙げ、解説しました(図6)。

(図6)

(図6)


▽障害に速やかに対応するための設計・構築時のポイント


障害に速やかに対応するために考慮すべき構築時のポイントとして、権威DNSサーバーとフルリゾルバーの分離と障害の発生を想定した設計・構築の2点を挙げ、解説しました(図7)。

(図7)

(図7)


▽障害に速やかに対応するだめの運用時のポイント


障害に速やかに対応するために考慮すべき運用時のポイントとして、運用状況の監視、統計情報・ログの取得・分析、障害発生時の運用耐性の構築・訓練の実施の3点を挙げ、解説しました(図8)。

(図8)

(図8)


運用担当者・責任者のみなさまへ

最後に、運用担当者・責任者のみなさまへのメッセージとして、2023年のミニセミナーで解説した権威DNSサーバーと同様、フルリゾルバーもDNSにとって重要な構成要素であり、守るべきものであることと、フルリゾルバーを守るためには常日頃からその存在を意識し、気を配ることが重要であることを、改めてお伝えしました(図9)。

(図9)

(図9)


[*1] サーバーやシステムが継続して稼働できる能力です。

[*2] スタブリゾルバーとフルリゾルバーの間にフォワーダーが存在する場合もあります。

[*3] 公開鍵であるDNSKEYリソースレコードからチェックサム計算される、16ビットの数値です。