DNSの仕組みとリスク
名前解決のプロセスと攻撃対象領域を学びます。
「DNSの仕組みとリスク」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
DNSがセキュリティに重要な理由
ドメインネームシステム(DNS)は、example.comのような人間に分かりやすい名前を、93.184.216.34のようなIPアドレスに変換します。ほぼすべてのネットワーク通信はDNSルックアップから始まるため、DNSは価値の高い攻撃対象になります。
攻撃者が名前解決を制御または操作すると、アプリケーション自体に触れることなく、被害者を悪意のあるサーバーへひそかに誘導したり、通信を傍受したり、データを外部へ持ち出したりできます。名前解決の経路を理解することが、防御の第一歩です。
名前解決のチェーン
一般的な再帰的ルックアップでは、次のサーバーのチェーンをたどります:
- クライアント(OS)上のスタブリゾルバー。
- 処理を引き受ける再帰リゾルバー(ISPや
8.8.8.8)。 - TLDサーバーを案内するルートサーバー。
- 権威サーバーを案内するTLDサーバー(例:
.com)。 - 実際のレコードを保持する権威サーバー。
各ホップが、傍受やなりすましの潜在的なポイントになります。
再帰リゾルバーと権威サーバー
再帰リゾルバーは、クライアントに代わって参照先をたどり、結果をキャッシュすることで、あらゆるクエリに応答します。権威サーバーは、自身が管理するゾーンに対してのみ、確定したデータを返します。
セキュリティの観点では、オープンな再帰リゾルバーは増幅攻撃に悪用される可能性があり、権威サーバーはゾーン乗っ取りやレジストラの侵害の標的になります。再帰問い合わせは自分のネットワーク内に限定してください。
よく使うレコード種別
分析中に目にするレコード:
A/AAAA— IPv4 / IPv6アドレス。CNAME— 別の名前へのエイリアス(サブドメイン乗っ取りにつながる、宙に浮いたCNAMEに注意してください)。MX— メールサーバー。NS— 権威サーバーへの委任。TXT— SPFやDKIMに使用され、トンネリングにも悪用されることが多い任意テキスト。
DNSはUDPポート53を使用する
従来のDNSはUDPポート53で動作し、大きな応答やゾーン転送ではTCP 53にフォールバックします。UDPはコネクションレスかつステートレスであるため、応答者が主張どおりの相手であることを証明するハンドシェイクがありません。
クエリと応答を対応付ける情報は、16ビットのトランザクションIDと送信元ポートだけです。この結び付きの弱さが、なりすましとキャッシュポイズニングの根本原因です。
dig +short example.com A
dig example.com MX
dig @8.8.8.8 example.comキャッシュとTTL
負荷を減らすため、リゾルバーはレコードのTTL(time to live)の期間だけ応答をキャッシュします。TTLが3600の応答は1時間キャッシュされます。
キャッシュには両面があります。性能は向上しますが、1つの汚染された応答がTTLの期限切れまで多くの被害者に提供される可能性があります。攻撃者は、悪意のあるエントリを長く残すために、長いTTLを設定させようとすることがあります。
攻撃対象領域
DNSには多くの攻撃対象があります:
- オンパスなりすまし — 正規サーバーより速く偽の応答を送信します。
- キャッシュポイズニング — 不正なレコードをリゾルバーのキャッシュに注入します。
- レジストラ/ゾーン乗っ取り — ドメイン自体の制御権を奪います。
- トンネリング — クエリ内にデータを埋め込み、送信制御を回避します。
- DDoS増幅 — オープンリゾルバーをリフレクターとして悪用します。
デフォルトでは認証されていない
通常のDNSには完全性や真正性を保証する仕組みがありません。応答は、送信元IP、宛先ポート、クエリ名、トランザクションIDが一致すれば信頼されます。これらはすべて、オンパス攻撃者によって推測または観測される可能性があります。
この設計上の前提(ネットワークは信頼できる)があるため、DNSSEC、DNS over TLS(DoT)、DNS over HTTPS(DoH)のような後付けの保護が存在します。
DNSは偵察の宝庫
攻撃者は攻撃の前にDNSを列挙し、管理対象環境の構成を把握します。設定を誤ったゾーン転送(AXFR)によって、すべてのレコードがダンプされる可能性があります。サブドメインの総当たりやCertificate Transparencyログから、隠れたホストが明らかになることもあります。
防御側はゾーン転送を既知のセカンダリに限定し、列挙の兆候となる大量のクエリパターンを監視してください。
dig AXFR example.com @ns1.example.com
# Should fail / be refused on a hardened server暗号化トランスポート:DoTとDoH
DNS over TLS(ポート853)とDNS over HTTPS(ポート443)はクエリを暗号化するため、オンパスの監視者は内容を読み取ったり改ざんしたりできません。これにより、なりすましを抑え、プライバシーを保護できます。
防御側にとってのトレードオフは、暗号化DNSによって自組織のフィルタリングや監視が見えなくなる可能性があることです。多くの企業では、エンドポイントが外部のリゾルバーを自由に選べないようにし、管理下のDoH/DoTリゾルバーにクライアントの接続先を固定しています。
防御側の要点
名前解決経路を実際に強化する方法:
- 内部の再帰リゾルバーを運用し、インターネットへの直接的な送信元ポート53の通信をブロックします。
- 権威サーバーではオープンな再帰問い合わせを無効にします。
AXFRゾーン転送を制限し、ログに記録します。- レジストラでドメインをロックします(レジストリロック、MFA)。
- トンネリングや列挙を検知するため、クエリ量とエントロピーを監視します。
確認問題
DNSが攻撃にさらされる理由の理解度を確認しましょう。
まとめ
DNSの名前解決は、スタブリゾルバーからルート、TLD、権威サーバーへとチェーンをたどり、応答はTTLによってキャッシュされることを学びました。従来のUDP/53上のDNSには認証がないため、なりすまし、キャッシュポイズニング、乗っ取り、トンネリング、増幅攻撃にさらされます。
主な防御策は、再帰問い合わせの閉鎖、ゾーン転送の制限、レジストラロック、暗号化トランスポート(DoT/DoH)、DNSSECです。次は、なりすましとキャッシュポイズニングについて詳しく見ていきます。
AI チューターと学ぶ Cyber Security Academy — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 76
- レッスン
- 303
よくある質問
「DNSの仕組みとリスク」レッスンは無料ですか?
はい。「DNSの仕組みとリスク」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「DNSの仕組みとリスク」で何を学びますか?
名前解決のプロセスと攻撃対象領域を学びます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「DNSの仕組みとリスク」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。