DNSのホントとウソを見分ける/知って得するドメイン名のちょっといい話 #22
インターネットの基盤のひとつであるDNSに、2010年から2011年にかけて大きな変化が起こった。それがDNSのセキュリティー拡張である「DNSSEC」だ。今回は、レンタルサーバー利用者の視点でDNSSECとは何かを解説する。
※この記事は、レンタルサーバー完全ガイドの発行する雑誌『レンタルサーバー完全ガイドVol.23』(2010年11月29日発売)に掲載されたものを再編集して掲載しているものです。
DNSキャッシュポイズニング
改めて説明する必要もないほどですが、フィッシングの事例は後を絶たず、フィッシングサイト(偽サイト)への誘導手法はより巧妙になっています。偽サイトへの誘導手法としては、メール文中の偽URLをクリックさせるものが代表的ですが、近年そのリスクが高まっていると注目されているのが「DNSキャッシュポイズニング」です。
DNSは、ドメイン名とIPアドレスの対応付けを管理する仕組みです。DNSには権威DNSサーバーとキャッシュDNSサーバーの2種類があります。
ドメイン名とIPアドレスの対応情報を管理しているのが権威DNSサーバーで、レンタルサーバーサービスでは通常、サイト運営者が設定した情報をもとに、レンタルサーバー事業者がこの権威DNSサーバーを運営しています。
ウェブサイトにアクセスしようとするインターネット利用者が参照するのがキャッシュDNSサーバーで、これは通常(利用者が契約している)ISPが運用しています。利用者からの要求を受けたキャッシュDNSサーバーは、権威DNSサーバーにアクセスし、ドメイン名に対応するIPアドレスの情報を得て、それを利用者に返します。
このとき、キャッシュDNSサーバーは、やり取りした情報を一定期間保持(キャッシュする、と言います)することで、同じ問い合わせを受けたときに、権威DNSサーバーへ再度アクセスすることなく、すばやく回答できる仕組みになっています(図1)。DNSキャッシュポイズニングはその名の通り、このキャッシュDNSサーバーに偽の情報をキャッシュさせることで、利用者を偽サイトに誘導しようとするものです(図2)。
発信元IPアドレス、ポート番号、IDなどすべての情報が一致していた場合、キャッシュDNSサーバーは偽の情報を本物として受け入れてしまいます。そのため、キャッシュDNSサーバーに偽の情報がキャッシュされてしまうと、利用者は容易に偽サイトへ誘導されてしまうのです。
偽情報をキャッシュしないための仕組み
キャッシュDNSサーバーが偽の情報を受け入れないようにするために考えられたセキュリティ拡張の仕組みが「DNSSEC(ディーエヌエスセック、と読みます)」です。
DNSキャッシュポイズニングは、偽の情報をあたかも権威DNSサーバーからの応答のように偽造し、それをキャッシュDNSサーバーに送りつけることで、偽の情報をキャッシュさせようとします。DNSSECは、権威DNSサーバーからの応答に電子的な署名を付加し、それを受け取ったキャッシュDNSサーバーが署名を検証することで、本物の応答かどうかを確実に検証できるようにする仕組みです。外部の第三者は本物と同じ署名を偽造することができないため、キャッシュDNS サーバーで偽の情報をシャットアウトすることができるわけです(図3)。
利用者視点からのDNSSEC
読者の皆さんは、レンタルサーバーの利用者であり、またインターネットの一般的な利用者でもあるでしょう。レンタルサーバーの利用者、つまりサイトの運営者の視点では、DNSSECは自分のウェブサイトにアクセスしてくれる人たちのフィッシングのリスクを低減する、という効果があります。フィッシングのリスクをどう評価するか、というのはサイトの性質次第ですが、ユーザー向けにサービスを提供していてログイン情報を管理していたり、ショッピングサイトでクレジットカード情報などを扱ったりする場合は、フィッシングのリスクは非常に高くなります。このようなサイトでは、利用者を守るためにも、ぜひDNSSECの導入を検討すべきです。
一般的に、メール文中にある偽のURLをクリックさせてフィッシングサイトに誘導するような場合は、真似されたサイト運営者が責任を問われることは少ないでしょう。しかし、DNSキャッシュポイズニングは、ウェブにアクセスする利用者側でできる対策は少なく、逆に、サイト運営者がDNSSECを導入することでそのリスクを低減することができるものです。情報の入力を求めるサイトでSSLサーバー証明書の利用が一般的になったように、将来的にはDNSSECに対応していないと心配、と見られるようになるかもしれません。
また、一般的なインターネット利用者の立場では、自分がフィッシングの直接的な被害に遭うリスクを考えることになります。アクセスする先のドメイン名がDNSSECを導入しており、自分が利用しているISPのDNSキャッシュサーバーがDNSSECの署名検証に対応していれば、DNSキャッシュポイズニングのリスクは限りなく低くなります。
DNSSECはいつから利用できるか
DNSは非常に長く使われている仕組みですが、DNSキャッシュポイズニングのリスクは以前より知られていました。ただ、偽の情報をキャッシュに入れることの成功率が非常に低いと考えられていたために、大きく取り上げられることはありませんでした。しかし、2008年、非常に効率よく(という言い方も変ですが)DNSキャッシュポイズニングを成功させるための手法が発表され、世界的にDNSSECの導入の機運が高まりました。
DNSSECを有効にするためには、権威DNSサーバー側では署名を付加する処理が追加で必要になり、キャッシュDNSサーバー側では署名を検証する処理が追加で必要になります。DNSという仕組みに対する大きな変更であり、それぞれの関係者がひとつひとつ、慎重にステップを進めています。DNSの最上位階層であるルートDNSでは、今年2010年の7月からDNSSECの運用が始まりました。これを受けて、トップレベルドメインごとのDNSSEC導入も進んでいます。
JPドメイン名では、2011年1月16日から、それぞれのJPドメイン名でDNSSECを運用するために必要な情報の登録受付を開始します。これらの動きを受けて、権威DNSサーバーを運用するレンタルサーバーサービス事業者でも、DNSSECの導入検討が進められています。今後は、レンタルサーバーサービスを選ぶ際に「DNSSECに対応しているかどうか」ということも、重要な選択肢になってくるでしょう。
セキュリティカンパニーのマカフィー社の調査によれば、「.jp」は世界で最も安全な国別ドメインと評価されました。昨年に引き続き、2年連続での評価となります。
フィッシングサイトや、マルウェアの配布、ブラウザの脆弱性を利用して悪意あるコードを実行させようとするサイトなど、インターネット上には多くの危険なサイトが存在しています。JPドメイン名は、このような危険なサイトの存在率が最も低いと評価されました。
このことは、JPドメイン名をご利用いただいている登録者の皆さんはもちろんのこと、レンタルサーバー事業者や、安全なインターネットの実現に向けた日本全体の取り組みの成果であると考えています。
国名または名前 | 2010年 | 2009年 |
---|---|---|
.jp(日本) | 1位 | 1位 |
.gg(ガーンジー島) | 2位 | 44位 |
.hr(クロアチア) | 3位 | 3位 |
.ie(アイルランド) | 4位 | 2位 |
.ch(スイス) | 5位 | 7位 |
国名または名前 | 2010年 | 2009年 |
---|---|---|
.com | 1位 | 2位 |
.info | 2位 | 5位 |
.vn(ベトナム) | 3位 | 39位 |
.cm(カメルーン) | 4位 | 1位 |
.am(アルメニア) | 5位 | 23位 |
※この記事は、レンタルサーバー完全ガイドの発行する雑誌『レンタルサーバー完全ガイドVol.23』(2010年11月29日発売)に掲載されたものを再編集して掲載しているものです。
ソーシャルもやってます!