合同会社小村ソフト
DNS201

DNSキャッシュポイズニングを図と演習で理解する

DNS101 で名前解決の基礎を掴んだあとに続けて読む、DNS セキュリティの follow-up コースです。「共有リゾルバの cache に偽の答えが残ると何が起こるか」を軸に、transaction ID・source port・bailiwick・TTL・DNSSEC を順に整理します。

防御・観測視点 全 42 問 ブラウザ内採点 localStorage 保存
所要
3〜4 時間
問題数
全 42 問
形式
7 章 + 小問 + ケース演習
費用
無料

注意: このコースは防御・診断目的の知識コースです。実環境への攻撃手順やツール作成は扱いません。

最初に持ちたい図

登場人物役割
利用者 / browser名前を引く側。resolver の答えを信じる。
shared recursive resolverここに cache がある。複数利用者で共有される。
authoritative servers各ゾーンの正規データを持つ。

誤った RRset が shared recursive resolver の cache に残ると、その resolver を使う利用者全体へ同じ誤答が配られます。

このコースの特徴

1. 高レベルの仕組み理解
実環境への攻撃手順ではなく、なぜ shared cache が危険なのか、防御側は何を見るべきかに絞っています。
2. bailiwick / race を模型で確認
in-bailiwick glue、out-of-bailiwick additional、entropy と試行回数の関係を小さな模型で触れます。
3. DNSSEC の守備範囲を誤解しない
origin authentication と integrity を得る代わりに、confidentiality は別物であること、last hop の trust 問題が残ることを押さえます。
4. 最後はケース問題
split-horizon、negative caching、NAT、AD bit など、現場で混同しやすい論点を 8 問のケースでまとめます。

このコースで繰り返し使う 5 つの見方

1. どの層の cache か
browser / OS / recursive resolver / authoritative を混同しない。
2. どの条件で応答を受理するか
question, ID, address, port が一致して初めて同じ transaction と見なされます。
3. その追加情報はどこまで信じてよいか
glue / referral / final answer を分け、bailiwick を意識します。
4. 成功確率に効くのは何か
entropy の広さと attempts の多さを分けて考えます。
5. DNSSEC と運用の境界
署名で守れる部分と、stub / recursive / channel の trust 問題を分けて考えます。

章構成

受講のコツ

  1. 「どの層の cache か」を先に固定してから問題を読んでください。
  2. 数値問題は暗算で飛ばさず、TTL と経過時間を秒で書き出してください。
  3. 第 2 章の bailiwick、第 3 章の entropy、第 5 章の DNSSEC は式と数字で確認してください。
  4. 総合演習のあと、未正解だけのレビューでもう 1 周すると定着しやすいです。

開始前の前提

  • DNS101 相当の基礎知識(再帰問い合わせ、権威サーバ、TTL)があると入りやすいです。
  • deep な暗号理論は不要です。必要な範囲だけ DNSSEC を扱います。

参考