DNS リバインディング
DNS リバインディング とは何ですか?
DNS リバインディング短い DNS TTL を悪用して、ホスト名を最初は攻撃者サーバ、次に内部 IP へ解決させ、同一オリジンポリシーを回避するブラウザ側の攻撃。
DNS リバインディング攻撃では、攻撃者が evil.example.com のような権威 DNS サーバを管理し、ごく短い TTL を返します。被害者のブラウザは最初にこのホスト名を攻撃者のパブリック IP に解決して JavaScript を読み込み、同一オリジンポリシーは満たされます。直後、攻撃者の DNS は同じ名前を 192.168.1.1、127.0.0.1、あるいはクラウドメタデータ IP(169.254.169.254)などの内部アドレスに再バインドします。ブラウザ側のオリジン(スキーム、ホスト、ポート)は変わらないため、既に読み込まれた JavaScript が内部の HTTP API と対話してデータを盗み出したり、特権的な操作を実行したりできます。対策には Host ヘッダ検証、内部サービスでの認証、DNS ピン留め、ブラウザキャッシュ、パブリックリゾルバでの RFC 1918 およびメタデータ IP のフィルタリングがあります。
● 例
- 01
悪意ある広告が evil.example.com を 192.168.1.1 にリバインドし、被害者のルーター管理画面を読み取る。
- 02
侵害されたブラウザセッションから、攻撃者が 169.254.169.254 にある AWS インスタンスメタデータへアクセスする。
● よくある質問
DNS リバインディング とは何ですか?
短い DNS TTL を悪用して、ホスト名を最初は攻撃者サーバ、次に内部 IP へ解決させ、同一オリジンポリシーを回避するブラウザ側の攻撃。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。
DNS リバインディング とはどういう意味ですか?
短い DNS TTL を悪用して、ホスト名を最初は攻撃者サーバ、次に内部 IP へ解決させ、同一オリジンポリシーを回避するブラウザ側の攻撃。
DNS リバインディング はどのように機能しますか?
DNS リバインディング攻撃では、攻撃者が evil.example.com のような権威 DNS サーバを管理し、ごく短い TTL を返します。被害者のブラウザは最初にこのホスト名を攻撃者のパブリック IP に解決して JavaScript を読み込み、同一オリジンポリシーは満たされます。直後、攻撃者の DNS は同じ名前を 192.168.1.1、127.0.0.1、あるいはクラウドメタデータ IP(169.254.169.254)などの内部アドレスに再バインドします。ブラウザ側のオリジン(スキーム、ホスト、ポート)は変わらないため、既に読み込まれた JavaScript が内部の HTTP API と対話してデータを盗み出したり、特権的な操作を実行したりできます。対策には Host ヘッダ検証、内部サービスでの認証、DNS ピン留め、ブラウザキャッシュ、パブリックリゾルバでの RFC 1918 およびメタデータ IP のフィルタリングがあります。
DNS リバインディング からどのように防御しますか?
DNS リバインディング に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
DNS リバインディング の別名は何ですか?
一般的な別名: ブラウザ DNS リバインディング。
● 関連用語
- attacks№ 343
DNS スプーフィング
偽造した DNS 応答を注入し、正規ドメインへの問い合わせを攻撃者管理の IP アドレスへ誘導する攻撃。
- attacks№ 337
DNS キャッシュポイズニング
DNS リゾルバのキャッシュに偽造レコードを挿入し、TTL が切れるまで以降の問い合わせが攻撃者指定のアドレスを返すようにする攻撃。
- attacks№ 338
DNS ハイジャック
クライアント設定、ルーター設定、リゾルバ応答、または権威 DNS レコードを書き換え、DNS 解決を攻撃者が制御する応答へ誘導する攻撃。
- network-security№ 1112
サブドメイン乗っ取り
宙吊りになった DNS レコード(多くは CNAME)が、誰にも所有されていないクラウドや SaaS リソースを指している隙を突き、攻撃者がそのリソースを取得してサブドメインに成りすます攻撃。
- network-security№ 553
IP アドレス
IP ネットワーク上のルーティングのためにネットワークインターフェースへ割り当てられる数値識別子で、IPv4(RFC 791)は 32 ビット、IPv6(RFC 8200)は 128 ビット。
- network-security№ 501
HTTPS
TLS で保護された接続上で HTTP を伝送することで、Web 通信に機密性・完全性・サーバー認証を提供するプロトコル。