それってホンモノ?ニセモノ?/知って得するドメイン名のちょっといい話 #17
フィッシングの事例は後を絶たず、日常的になってしまったがゆえに大きく取り上げられることが少なくなった。しかし手口はより巧妙化し、被害はなくなってはいない。今回は、ユーザー視点だけではなく、サイト運営者視点でもフィッシング防止を考えてみたい。
※この記事は、レンタルサーバー完全ガイドの発行する雑誌『レンタルサーバー完全ガイドVol.18』(2009年8月31日発売)に掲載されたものを再編集して掲載しているものです。
フィッシングの手口
フィッシングとは、オンラインバンキングやショッピングサイトなどのニセモノウェブサイトを作り、アクセスしたユーザーに本物サイトと勘違いさせて、入力されたIDやパスワード、クレジットカード番号や銀行口座番号などの情報を盗み取る行為です。
社会問題として大きく取り上げられてから何年も経っていますが、いまだにその被害はなくなりません。本誌の読者の皆さんも、ユーザーとして被害者になる可能性がありますし、またウェブサイトを運営していれば、自分のサイトのニセモノサイトを作られてしまうという可能性もあります。
ところで、ユーザーとしては、ウェブサイトがホンモノかニセモノか、どう見分けたらよいのでしょうか。また、ウェブサイト運営者としては何をしたら良いのでしょうか。
ドメイン名(URL)でニセモノを見破る
ウェブサイトにアクセスしたときに、アドレスバーに表示されているURLを確認する、というのはフィッシングサイトに誘導されていないかどうかを確認する重要な方法の1つです。そこに見慣れないドメイン名があれば、変だな、と気付くことができます。しかし、フィッシングを仕掛ける側もいろいろと考えるもので、ホンモノと見間違えそうなURLを作る事例も報告されています。
- ホンモノサイトのURL
http://jprs.jp/ - ニセモノサイトのURL
http://jprs.jp.phishingdomainname.com/
このようなURLには、最近のウェブブラウザが搭載するようになったドメイン名強調機能が役に立ちます(図1)。しかし、自分がアクセスするすべてのサイトのドメイン名を覚えるというのは無理な話です。記憶に頼らずともホンモノであることを確認するためにはどうしたらよいのでしょうか。
SSLサーバー証明書でホンモノを確認する
アクセスしているウェブサーバーの素性を知るために使える道具として、SSLサーバー証明書があります。SSLサーバー証明書には、大きく2つの機能があります。1つは、通信路の暗号化です。ショッピングサイトなどで「このウェブサイトはSSLを利用しており入力内容は暗号化されて送られるので安心です」などと表記されているものです。SSLサーバー証明書を購入するウェブサイト運営者の多くは、この暗号化機能を必要としていることが多いでしょう。
しかし、SSLサーバー証明書にはもう1つの重要な機能があります。それは、ウェブサーバーの運営者が誰であるかを示すことです。「サーバー証明書」という名前のとおり、誰のウェブサイトであるかを証明してくれる機能があり、この情報はブラウザで証明書情報を表示することで確かめることができます。
SSLサーバー証明書の種類
SSLサーバー証明書は、この「誰であるかを証明する」機能の強さによって3段階に分けられています。最も強力なものが「EV SSL証明書」(EV:Extended Validation)で、発行に当たっては、サイト運営組織が確かに実在し、間違いなくドメイン名の登録者であることを厳格なプロセスで確認するもので、金融機関などを中心に普及しつつあります。ブラウザのアドレスバーが緑色になるのが特徴です(図2)。
次が「OV SSL証明書」(OV:Organization Validation、組織認証)で、EVほどではありませんが、書類などで運営組織の存在やドメイン名の登録者であることを確認します。3つ目は「DV SSL証明書」(DV:Domain Validation、ドメイン認証)で、これはドメイン名の登録者であることだけを確認して発行されるものです。
ウェブサイトの運営者が誰であるかを示すためには、EVもしくはOVを使う必要があります。ただ、SSLサーバー証明書にはコストがかかり、それはDV→OV→EVの順に高くなります。
いつもと同じサイトにアクセスしているのにニセモノ?
さて、初めてアクセスするウェブサイトだといろいろと疑ってかかる必要もあるかもしれません。でも、いつも使っているウェブサイトで「お気に入り(ブックマーク)」からアクセスする場合なら安心ですね。…といいたいところですが、そうでもないことがあります。ウェブサイトへはURLを指定してアクセスしますが、実際の通信ではURLに含まれるドメイン名に対応するIPアドレスをDNSで検索し、IPアドレスでウェブサーバーへアクセスします。このDNSが「ウソ」をついたらどうなるでしょうか。技術的には、外部から悪意の第三者がDNSにウソの情報を仕込むことが可能です。
DNSがニセモノウェブサイトのIPアドレスを返すことで、ユーザーはホンモノのウェブサイトにアクセスしているつもりでニセモノウェブサイトにアクセスしてしまうことになります。DNSがウソをつくということはユーザーもシステムも想定していないため、気付く術はありません。
DNSは、ウェブサーバーへのアクセスに限らず、ドメイン名とIPアドレスを関連付ける、インターネットの基盤システムです。インターネットの初期のころから使われている実績のある仕組みですが、セキュリティ的な弱さもずっと指摘されていました。その危険性は高いものではないと思われていましたが、2008年に話題となったカミンスキー型攻撃のように「DNSにウソをつかせる技術」が現実のものとして認識されるようになりました。いくつか暫定的な措置がとられることでこのような危険性の低減を図ってきていますが、根本的な解決には至っていません。この「DNSのウソ」の危険性を解消するために開発された技術が「DNSSEC」です。
DNSSEC
DNSSEC(DNS Security Extensions)は、その名のとおりDNSのセキュリティ拡張です。DNSSECでは、DNSの検索結果に電子署名が付けられます。これを確認することで、DNSがウソをついていないことを確認できるのです(図3)。
Web担編注
JPRSでは、2011年1月16日にJPドメイン名サービスにDNSSECを導入。JPRSの指定事業者各社が、各社サービスへのDNSSECの積極的な導入を表明している。JPRSのプレスリリース
DNSSECはDNSの安全性を確保する技術として世界的に導入の検討が進んでおり、JPRSが提供するJPドメイン名においても、2010年中の導入を予定しています。詳しくは以下をご覧ください。
- JPドメイン名サービスへのDNSSECの導入予定について
http://jprs.jp/info/notice/20090709-dnssec.html
DNSSECは、それぞれのドメイン名の情報を管理するDNSサーバーにおいても対応が必要になったり、またキャッシュDNSサーバーでの対応も必要になります。DNSにかかわる多くの方に影響するため、今後JPRSからも積極的な情報発信を行っていく予定です。DNSSECで守られたDNSは、もうウソをつくことはありません。
JPRSからのお知らせ BIND 9の脆弱性情報
2009年7月末、DNSサーバーソフトウェアのBIND 9において、悪意の第三者がサービス不能(DoS)攻撃を行うことができてしまう脆弱性に関する情報が公表されました。これを防ぐためにはパッチの適用を行う必要があります。DNSサーバーを自身で運用されている方はご確認のうえ、必要な対処をお願いします。
- JPRS DNS関連技術情報
http://jprs.jp/tech/
※この記事は、レンタルサーバー完全ガイドの発行する雑誌『レンタルサーバー完全ガイドVol.18』(2009年8月31日発売)に掲載されたものを再編集して掲載しているものです。
ソーシャルもやってます!