dns脆弱性問題とopendns

【2ch】ニュー速クオリティ:インターネット終了のお知らせ。DNSの脆弱性の実証コードがリリースされる。僅か数分で汚染可能
DNSサーバの危険性を実証するコードが公開されたようだ。
Web-based DNS Randomness Test | DNS-OARCにてテストできるようなので試してみるといいかもしれない。

この記事に対するコメントの中でopenDNSに変更する旨のコメントが多いことに気がついた。

安全で高速なDNSを提供する「OpenDNS」 – GIGAZINE

そして、少し、opendnsのビジネスモデルが気になった。

noch@noch-ubuntu:~$ dig @resolver1.opendns.com www.google.com

; < <>> DiG 9.4.2-P1 < <>> @resolver1.opendns.com www.google.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 31819 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 30 IN CNAME google.navigation.opendns.com. google.navigation.opendns.com. 30 IN A 208.67.219.231 google.navigation.opendns.com. 30 IN A 208.67.219.230

CNAMEによってwww.google.com.はgoogle.navigation.opendns.com.にエイリアスが張られている。
google.navigation.opendns.com.のIPアドレスは208.67.219.231と208.67.219.230。

noch@noch-ubuntu:~$ dig www.google.com

; < <>> DiG 9.4.2-P1 < <>> www.google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 40395 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 80 IN A 66.249.89.99

本来であれば、www.google.com.は66.249.89.99。

http://208.67.219.231/にアクセスしてみる。

www.google.co.jp.も確認してみると、CNAMEでwww.google.com.に誘導。

少なくとも上記のサイトなどでopendnsを紹介されて、そのまま利用して、広告が出てきても気にしないように。例えば、OpenDNSに変更したユーザが、Googleに対するDNSリクエストが差し替えられてしまうので、Googleアカウントにログインできないという不具合が発生しているかもしれない。その場合、気づくことができるだろうか。問題はHTTPS、SSLにて発生するかもしれない。

ちなみに”存在しないドメイン”をDNSサーバにリクエストしたときに広告が出る場合のリクエストはこんな感じ。

noch@noch-ubuntu:~$ dig @resolver1.opendns.com www.hogehoge

; < <>> DiG 9.4.2-P1 < <>> @resolver1.opendns.com www.hogehoge
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 37038 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.hogehoge. IN A ;; ANSWER SECTION: www.hogehoge. 0 IN A 208.67.219.132

DNSで208.67.219.132に誘導しておいて、HTTPのリクエスト部分のURIに応じてWebサーバ側で文字列検出をして、検索を行う。仕組み的には、とても簡単。

面倒になる可能性があるのは、DNSサーバに来るリクエストに対して、ドメインが見つからなかった場合に強制的に広告サーバのIPアドレスを返すところか。それもDNSサーバに実装されている機能であれば、ほとんど面倒はない。

こういったサービスを見ていると、DNSサーバにて、ブラウザのドメインの打ち間違いなどによって、危険なサイトに誘導されそうな場合に対処するためのブラックリストを利用した管理組織単位(企業内)のアクセスブロックなども簡単に対応できそうな気がする。

カテゴリー: チラシの裏 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください