DNSリバインディングの仕組み 攻撃者はドメイン(attacker.comなど)を登録し、それを攻撃者が管理するDNSサーバーに委任します。このサーバーは、非常に短い 有効期限(TTL)のレコード で応答するように設定されており、DNS応答がキャッシュさ れるのを防ぎます。被害者が悪意のあるドメインにアクセスすると、攻撃者のDNSサーバーはまず、悪意のあるクライアント側コードをホストしているサーバーのIPアドレス で応答します。例えば、被害者のブラウザを、被害者のコンピュータ上で実行されることを目的とした悪意のあるJavaScript やFlash スクリプトを含むWebサイトに誘導することができます。
悪意のあるクライアント側コードは、元のドメイン名(attacker.comなど)に対して追加のアクセスを行います。これは同一オリジンポリシーによって許可されています。しかし、被害者のブラウザがこのスクリプトを実行すると、ドメインに対して新しいDNSリクエストが送信され、攻撃者は新しいIPアドレスで応答します。例えば、内部IPアドレスや、インターネット上の別の場所にあるターゲットのIPアドレスで応答する可能性があります。
保護 DNSリバインディング攻撃を防ぐための技術は、大きく2つのカテゴリに分類できます。[ 1 ] [ 2 ] [ 3 ] [ 4 ]
DNSベース チェーン内のDNSサーバーは、プライベートIPアドレス とループバックIPアドレス をフィルタリングできます。 外部のパブリックDNSサーバー(例:OpenDNS )はDNSフィルタリングを実装できます。[ 5 ] ローカルシステム管理者は 、組織のローカルネームサーバー を設定して、外部名を内部IPアドレスに解決することをブロックできます。(ただし、この設定には、攻撃者が使用中の内部アドレス範囲をマッピングできてしまうという欠点があります。) ゲートウェイまたはローカル PC にあるファイアウォール(dnswall など)は 、通過する DNS 応答をフィルタリングし、ローカル アドレスを破棄することができます。[ 6 ] [ 7 ] DNSフィルタリングはドメインネームシステムブロックリスト と競合することに注意してください。RFC 5782 [ 8 ] では、このような用途に127で始まるIPアドレス(例:127.0.0.2)を使用することを標準化しています。通常、メールサーバーは、ローカル構成に従って、またはSPFのEXISTS メカニズムなどの外部指示に従って、この種のさまざまなクエリを実行します。正確性を保つためには、メールサーバーが上記のようなフィルタリングを実行するDNSサーバーを使用しないことが重要です。
ウェブベース ウェブブラウザはDNSリバインディングに抵抗できる。 Web ブラウザは DNS ピンニングを実装できます。[ 9 ] IP アドレスは最初の DNS 応答で受信した値に固定されます。この手法は、ダイナミック DNS の正当な使用をブロックする可能性があり、すべての攻撃に対して機能するとは限りません。ただし、IP アドレスが変更された場合はフェイルセーフ (レンダリングを停止) することが重要です。TTL の有効期限が過ぎた IP アドレスを使用すると、IP アドレスが正当に変更され、期限切れの IP アドレスが攻撃者によって制御される可能性があるという逆の脆弱性が開かれる可能性があるためです。 Firefox 用のNoScript拡張機能には、ブラウザ内部にファイアウォールのような機能を持つ ABE が含まれています。ABEはデフォルト設定では、外部のウェブページがローカルIPアドレスにアクセスするのを防ぐことで、ローカルネットワークへの攻撃を防止します。 Webサーバーは、認識できないHostヘッダー を含むHTTP リクエストを拒否することができます。
参考文献 ↑ 「DNSリバインディング攻撃からブラウザを保護する」(PDF) 。crypto.stanford.edu 。2007年11月。 2018年12月10日 取得 。 ↑ 「DNSリバインディング攻撃からブラウザを保護する」 (PDF) 。www.adambarth.com 。 2009年1月。 2018年12月10日 取得 。 ↑ 「DNSリバインディング」 (PDF) . www.ptsecurity.com . 2012 . 2018-12-10 に取得 . ↑ 「DNSリバインディング攻撃の可能性からルーターを保護する - TrendLabsセキュリティインテリジェンスブログ」 . blog.trendmicro.com . 2010-08-04 . 2018-12-10 に閲覧 。 ↑ Ulevitch, David (2008-04-14). "ついに、DNSリバインディング攻撃に対する真の解決策が登場" . Cisco . 2017-08-14 の オリジナルからアーカイブ済み . 2017-07-15 に取得. ↑ GitHub 上の google-dnswall ↑ 「サービス — DNS — DNS リバインディング保護 | pfSense ドキュメント」 。www.netgate.com 。 2018年12月10日 取得 。 ↑ J. Levine (2010年2月). DNSブラックリストとホワイトリスト . インターネットリサーチタスクフォース . doi : 10.17487/RFC5782 . ISSN 2070-1721 . RFC 5782 . 参考情報。 ↑ 「FireDrill: 対話型 DNS リバインディング」 (PDF) . www.usenix.org . 2018-12-10 に取得.
外部リンク DNSリバインディング攻撃からブラウザを保護する(2007年) Adobe Flash Player (2008)のDNS 強化アップデートSun JVM に関するセキュリティアラートSun Alert 200041(2008年9月4日)ロバート・RSnake・ハンセンによるDNSリバインディング(2009年)