あなたのインターネットは大丈夫?危険性の高いDNSを調べる方法

Web-based_DNS_Randomness_Test___DNS-OARC

たびたび問題になるサーバーやネットワークの脆弱性。OpenSSL問題やらApache Struts2やら問題になっているようですが、もっと根本的で影響範囲の広い課題についてご紹介します。それはDNSです。

ありがとうございます。ぶんちょうでございます。

目次

あなたのインターネットは大丈夫?危険性の高いDNSを調べる方法

DNSがやっぱヤバいらしい

すみません。タイトルからして今回の記事のコンセプトは初心者向けなので、識者からみたら色々と突っ込みどころがあるかもしれませんがご容赦下さい。

ちなみにIT用語で「脆弱性」というのは「ぜいじゃくせい」と読みます。私も業界入りたての頃は「おくじゃくせい」なんて言ってたりしますが誰も正解を知らなかったので事なきを得ました。弱点やリスク、欠点、攻撃されるとヤバい状態になることを「脆弱性がある」なんて言います。

で、話は戻りまして、要はJPRSが2014年4月15日付け「重要なお知らせ」にて、緊急扱いで公表した情報を元にDNSをチェックしてみたというのが今回のお話です。

そもそもDNSって何者?(初心者向け)

DNSとは、ドメインネームサーバー(Domain Name Server)のことを言います。業務用のコンピューターにインストールされているソフトの一つです。

仮に「www.hogehoge.co.jp」というURLのホームページがあったとします。

でも本当は、ホームページが動いているコンピューター(サーバ)とかホームページは「IPアドレス」という背番号が数字で決められています(ちなみに、この背番号は、世界でひとつしかないことになってます)。

とりあえず超適当に、このホームページの背番号(IPアドレス)は「123.456.789.123」とします。これがいわば本名です。

でも普段はなかなか背番号(数字)では覚えられませんね。数字だけじゃどんなホームページかも想像できないし不便です。

なので便宜上「www.hogehoge.co.jp」という呼び名を付けています。これがニックネームです。

ありがたいことにインターネット上に『「www.hogehoge.co.jp」は「123.456.789.123」なんだよ』と背番号と呼び名を読み替えてくれるコンピュータ(またはソフトウェア)があります。

この読み替えてくれるコンピュータを「DNSサーバー」と言います。

『「www.hogehoge.co.jp」は「123.456.789.123」なんだよ』と教えてくれるコンピュータ「DNSサーバー」さん、すごい働き者ですね。ホームページだけではなくメールも同様にやってくれます。

言い方を変えると「www.hogehoge.co.jp」はDNSが付けてくれているニックネームで、本名は「123.456.789.123」なんです。

でも世界で一台しかないと忙しすぎますよね。壊れたら全世界でインターネットができなくなりますから。なので、この読み替える情報を他の「DNSサーバー」にコピーして、たくさんの「DNSサーバー」で一致団結して頑張ってます。「DNSサーバー」の情報を「DNSサーバー」にコピーして、そのまた情報を他の「DNSサーバー」にコピーして・・・、を延々繰り返しています。

DNSがどうにかなると何が問題なの?(やっぱ初心者向け)

DNSってスゴいんだな、ってことは理解頂けたかと思います。

そこで悪いやつがいたとします(実際にいます)。

「ふへへ。うちのコンピュータ(またデタラメに背番号 555.555.555.555とします)に○×銀行のホームページソックリなやつ作って、IDとかパスワードとか入れさせてやるぜい。で、そのIDパスワードを使ってお金引き出しちゃうんだぜ」なんて。

この悪いやつは、大元の「DNSサーバー」にウソの情報を書き込もうとします。

「DNSサーバー」も馬鹿じゃありませんから、普通はウソの情報を書き込むことはできません。でもこの悪いやつはDNSサーバーに大量のアクセスを送るなどして軽く故障させてから「うりゃ!」とウソ情報を飲み込ませてしまいます。ウソ情報は「555.555.555.555は○×銀行のホームページである」というものです。このウソ情報は他の「DNSサーバー」にどんどんコピーされていきます。

その結果、データ上は『「www.○×bank.jp」は「555.555.555.555」なんだよ』に成りすますことが成功してしまうのです。

ちなみに、この「軽く故障」させることが可能であることを、「脆弱性がある」と言います。

あるとき、一般市民Aさんが「ネットで振り込みでもするべ」と、普段通りに○×銀行のホームページ「www.○×bank.jp」にアクセスして、IDとかパスワードとか入れたらなんだか様子がおかしい。ん?まあいいか、またあとでやろう。ということがあります。

お分かりいただけただろうか。悪いやつのコンピューターに、大切なIDとかパスワードを伝えてしまったことになります。悪いやつは手に入れたIDパスワードを使ってお金を引き出してしまうのです。

以上、DNSを操作されてしまうとこんなことも出来てしまうという例でした。もちろん簡単ではありませんが技術的には可能です。これが問題になっています。

対策方法

DNSなりすまし問題は、一般の人が対策できることはありません。また、この問題は完全に100%防止することはできません。100%に近づける方法を複数組み合わせることで安全性を保っているに過ぎません。例えばスマホのSMSショートメッセージを使った二段階認証も安全対策の一つですけどね。もっと言うと、もともとインターネットってそこまで堅牢には作られていません。

でも自分がインターネットを使うときに、より風邪の引きにくい「DNSサーバー」かどうかを確認する方法があります。DNS-OARCが提供するチェックツールで確認できます。

実際にDNSチェックツールを試してみた

チェックは簡単です。Web-based DNS Randomness Test(http://entropy.dns-oarc.net/)をブラウザで開きます。

Web-based_DNS_Randomness_Test___DNS-OARC

ちなみにブログを書いているこのパソコンは、現時点はauのiPad経由でインターネットにつないでいます。つまり今の私のパソコンはau(KDDI)の「DNSサーバー」を使っています。

英語のページですが絶対見るべきところは少ししかありません。このメーターのような画像がいくつかありますが全て「GREAT」となっています。

DNSランダムテストDNS-OARC2

JPRSという背番号(ドメインといいます)を管理している団体のWEBサイトには次のようにあります。
(http://jprs.jp/tech/security/2014-04-15-portrandomization.htmlより抜粋)

設定確認をするキャッシュDNSサーバーを利用しているDNSクライアント
(PCなど)から上記サイトにアクセスし、ページ中の「Test My DNS」をク
リックすることで、使用中のキャッシュDNSサーバーの状況を確認できます。

確認結果のすべての項目が「GREAT」と表示されている場合、ソースポート
ランダマイゼーションが有効になっていることを示しています。

もし、「POOR」あるいは「GOOD(*6)」と表示されている項目がある場合、
それぞれの項目に応じたキャッシュDNSサーバーやネットワーク機器のバー
ジョンアップ・設定修正などの対策が必要になります。

(*6)現状を考慮した場合「GOOD」と表示された場合も十分ではなく、適切な
対策が必要になります。

念のため「106.187.2.5」が本当にau(KDDI)の「DNSサーバー」かどうかを確認します。
http://whois.ansi.co.jp/111.87.4.87

DNSサーバテスト

ありました。ひと安心です。

まとめ

あんまり神経質になる必要もないとは思いますが、それなりにIT業界にいますとあきれるような管理をしている業者さんも見受けられます。

自分がより安全に楽しくインターネットを使うために、なんとなくでも上記のようなことを知ってもらえるといいかもです。

データ

DNS-OARC Web-based DNS Randomness Test
http://entropy.dns-oarc.net/

(緊急)キャッシュポイズニング攻撃の危険性増加に伴うDNSサーバーの設定再確認について(2014年4月15日公開)
http://jprs.jp/tech/security/2014-04-15-portrandomization.html

JPRS DNS関連技術情報
http://jprs.jp/tech/index.html

 

最後までご覧下さりありがとうございました。お時間の許されるかぎり他の記事もどうぞご覧下さいませ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次