概要

DNS(Domain Name System)はドメイン名をIPアドレスに変換する仕組みで、すべてのインターネット通信の基盤です。設計当初はセキュリティが考慮されておらず、攻撃者に悪用されるケースが多くあります。SC試験では「DNSの脆弱性と攻撃手法」「DNSSEC による対策」「通信の暗号化(DoH・DoT)」が問われます。

仕組みと動作原理

DNS の基本動作

クライアント → フルサービスリゾルバ(キャッシュDNSサーバ)
              → ルートDNSサーバ → TLDサーバ → 権威DNSサーバ
              ← IPアドレスを返す(TTLとともにキャッシュ)

DNS を悪用した主な攻撃

攻撃仕組み影響
DNSキャッシュポイズニング偽のDNS応答でキャッシュに不正レコードを注入ユーザをフィッシングサイト等に誘導
DNSハイジャックDNSサーバ自体を改ざん・乗っ取り広範囲なリダイレクト
DNS増幅攻撃(Amplification)小さなDNSクエリで大きな応答を引き出してDDoSDDoS攻撃の増幅に利用
DNSトンネリングDNSクエリにデータを隠してファイアウォールを迂回C2通信・データ窃取
NXDOMAIN攻撃存在しないドメインへの大量クエリでリゾルバを過負荷サービス妨害

DNSキャッシュポイズニングの仕組み(Kaminsky攻撃)

1. 攻撃者が大量のDNSクエリをリゾルバに送信(存在しないランダムサブドメイン)
2. リゾルバが権威サーバに問い合わせを行う間に…
3. 攻撃者が偽の応答を大量送信(トランザクションIDを総当たり)
4. 正規の応答より先に偽の応答が受け入れられるとキャッシュが汚染
5. そのドメインを引いたすべてのユーザが攻撃者の指定したIPに誘導

根本原因: 従来のDNSはUDP(ポート53)を使い、トランザクションID(16ビット)だけで応答を識別するため推測・偽造が容易。

DNSSEC(DNS Security Extensions)

DNSの応答に電子署名を付与して、応答の真正性と完全性を保証する拡張仕様です。

DNSレコード種別DNSSEC での役割
RRSIGRRセットへのデジタル署名
DNSKEYゾーン署名鍵(ZSK)と鍵署名鍵(KSK)の公開鍵
DS親ゾーンが子ゾーンのKSKのハッシュを保持(信頼チェーン)
NSEC/NSEC3存在しないドメインの証明(否定応答の認証)

DNSSEC の信頼チェーン:

ルートゾーン(Root)の公開鍵(IANA が管理・信頼のアンカー)
  └── .jp ゾーン(親のDS レコードで子の公開鍵を保証)
        └── example.jp ゾーン
              └── www.example.jp の A レコード(署名付き)

DNSSEC の限界:

  • 応答の機密性は保証しない(通信はUDPで平文のまま)
  • 実装率が低い(特に日本国内のサイト)
  • 設定ミスでゾーン全体が解決不能になるリスク

DNS over HTTPS(DoH)と DNS over TLS(DoT)

従来のDNSは平文で通信するため、ISPや悪意のある中間者に「どのドメインを調べたか」を盗聴・改ざんされます。

DoH(DNS over HTTPS)DoT(DNS over TLS)
プロトコルHTTPS(ポート443)TLS(ポート853)
見分けやすさ通常の HTTPS に混在(フィルタリング困難)専用ポートで識別しやすい
主な用途ブラウザ(Firefox・Chrome で標準サポート)OS レベル・企業ネットワーク
機能盗聴防止・改ざん防止盗聴防止・改ざん防止

SPF・DKIM・DMARC(メール送信ドメイン認証)

DNSを使ったメール送信ドメイン認証もSC試験で頻出です。

技術DNSレコード目的
SPFTXTレコード送信元IPアドレスの許可リストを公開
DKIMTXTレコードメール本文・ヘッダへの電子署名
DMARCTXTレコードSPF/DKIMの結果に基づくポリシー(拒否・隔離・なし)とレポート

SC試験での頻出ポイント

  • DNSキャッシュポイズニングの対策:DNSSECの導入・クエリにランダムなポートを使用(DNSSEC前の緩和策)
  • DNSSECが保証するもの・しないもの:完全性・真正性を保証するが、機密性は保証しない
  • DoHとDoTの違い:使用ポートと見分けやすさの違い
  • DNS増幅攻撃の仕組み:「ANY」クエリで大きな応答を引き出し、送信元IPを偽造してDDoS
  • SPF・DKIM・DMARCの役割の違い:なりすましメール対策として組み合わせて使う

よくある誤問・ひっかけパターン

誤り① 「DNSSEC を導入すれば DNS 通信の盗聴を防げる」→ 。DNSSEC は完全性・真正性の保証であり、通信の暗号化(盗聴防止)には DoH/DoT が必要です。

誤り② 「DoH はセキュリティ上すべての組織で推奨される」→ 状況次第。企業環境では DoH がエンドポイントで有効になると DNS フィルタリングが機能しなくなるリスクがあります。

誤り③ 「SPF の設定があればメールなりすましを完全に防止できる」→ 。SPFは送信IPアドレスのみを検証します。本文・ヘッダの完全性確認にはDKIM、ポリシー適用にはDMARCが必要です。

関連用語

重要キーワード

用語説明
DNSキャッシュポイズニング偽のDNS応答をキャッシュに注入してユーザを不正サイトに誘導する攻撃
DNSSECDNS応答に電子署名を付与して真正性・完全性を保証する拡張
DoHDNS クエリを HTTPS(ポート443)で暗号化して送受信する技術
DoTDNS クエリを TLS(ポート853)で暗号化して送受信する技術
SPF許可された送信元IPアドレスをDNSに公開するメール認証技術
DMARCSPF/DKIMの結果に基づくメール処理ポリシーを定義する技術