対象と手法によるDNS関連攻撃の分類
攻撃対象 \ 攻撃手法 | flood | 仕様の弱点を突く | 実装の不具合・ 運用の問題を突く |
---|---|---|---|
DNSそのもの | ランダムサブドメイン攻撃 | ランダムサブドメイン攻撃 | DoS攻撃 |
他者 | DNSリフレクター攻撃 | キャッシュポイズニング | キャッシュポイズニング ドメイン名ハイジャック |
対象と効果による攻撃対策の分類
守る対象 \ 対策の効果 | 攻撃の無力化 | 攻撃の効果の低減 |
---|---|---|
DNSの構成要素を守る | ||
DNSのデータを守る |
攻撃の影響範囲
スタブリゾルバーの影響範囲
- その機器のアプリケーション全て
フルリゾルバーの影響範囲
- ホームルーターのDNSフォワーダーが攻撃を受けると、そのLAN全ての利用者
-
ISPなどのフルリゾルバーが攻撃を受けると、契約者すべて
- 影響甚大
権威サーバーの影響範囲
- そのドメイン全体
Column: IP Anycast
- 先述のように、フルリゾルバーや権威サーバーの可用性は重要
- 可用性を高める手法のひとつ
- 共通のIPアドレスを複数ホストに同時に割り当てる
-
効能
- 負荷分散・冗長化
-
応答時間の短縮
- 【補】latency based routing的な
-
DoS攻撃の効果の低減
- DoS: 1つのホストに攻撃が集中し、他のホストは無事
- DDoS: 攻撃を複数のホストに散らす
DNSの特性が攻撃に及ぼす影響
-
通信プロトコルに由来する影響
- DNSはTCP/UDP対応
- UDPは送信元IPを偽装しやすい
-
普及状況に由来する影響
- DNSはインターネットの基盤である
- ゆえ、攻撃対象 or 攻撃に利用可能なフルリゾルバー、権威サーバーがインターネット上に数多く存在する
-
通信の特性に由来する影響
- DNSは 1 question - 1 answer
- questionセクションはそのままコピーされるので、answerはかならずquestionよりも大きくなる
- この特性は攻撃の規模の増大に利用される
代表的な攻撃手法、概要、対策
DNSリフレクター攻撃
- 送信元IPを攻撃対象のIPに偽装して問い合わせる
- フルリゾルバー/権威サーバーは攻撃対象にanswerしてしまう
特徴
-
送信元IPの偽装
- UDPの特性を利用
-
DDoS
- フルリゾルバーや権威サーバーがインターネット上に多数存在する
-
通信の増幅
- DNSの仕様上、answerはquestionよりも必ず大きくなることから
- DNSアンプ攻撃(DNS Amplification Attack)とも
対策
-
DNSリフレクターはじめとするDDoS全般の対策は2つのポイントがある
- 攻撃からの防御
- 攻撃に利用されない
-
攻撃に利用されないための対策
- フルリゾルバーにIPベースのACLを設ける
-
権威サーバーにRRLを導入する
- Response Rate Limiting
- 応答先が単一または一定のネットワーク内に収まっていたら応答を間引く
ランダムサブドメイン攻撃
- 問い合わせのドメイン名にランダムなサブドメインを付与
- フルリゾルバーのキャッシュが効かなくなる
- 権威サーバーに名前解決が集中する
- DNS水責め(water torture)とも
特徴
- 通常の問い合わせとの区別がつかず、根本的な解決を実施しにくい
対策
-
外部から不正使用可能な状態のオープンリゾルバーを無くす
-
IP53B
- 利用者側のホームルーター(DNSフォワーダー)へのInbount Port 53をBlockする
-
- 検知の強化
-
攻撃の影響の緩和
- フルリゾルバーでフィルタリングや問い合わせレートによる制限等を導入する
BINDの脆弱性を点いたDoS攻撃
対策
- ソフトウェアを最新版に保つ
-
多様性の確保
- BIND以外のソフトウェア、外部DNSサービスなどと併用する
- ゼロデイ攻撃対策
キャッシュポイズニング
- 権威サーバーの応答よりも先に偽のDNS応答をフルリゾルバーに送りつけてキャッシュさせる
- フィッシングや電子メールの窃盗などに用いられる
特徴
- UDP(コネクションレス)ゆえ割り込まれる
対策
-
ソースポートランダマイゼーション
- 権威サーバー -> フルリゾルバー の応答のポートが毎回同じだと攻撃されやすい
- ので、フルリゾルバー -> 権威サーバー の問い合わせ時、UDPのソースポートを毎回変える
-
DNSクッキー
- 次章にて
登録情報の不正書き換えによるドメイン名ハイジャック
-
手法
-
レジストリに登録される情報を不正に書き換え
- 登録者-リセラ-レジストラ-レジストリ までの流れに割り込む
- 権威サーバーに不正なデータを登録
- フルリゾルバーに不正なデータをキャッシュ(= キャッシュポイズニング)
-
対策
-
不正書き換えの防止
-
レジストリロック
- 情報書き換え時にパスフレーズ確認などを課す
-
運用コストとのトレードオフ
- 登録情報の更新に時間がかかるようになる
- パスフレーズの管理
-
-
不正書き換えの検知
- 登録者がWhois情報や委任情報を定期的にチェックする