ブラウザのIDパスワード自動入力機能から情報漏えい:どう情報を守るべきか
私たちが普段使っている、Google Chrome、Internet Explorer、Safariなどブラウザの「パスワードマネージャー(IDパスワード自動入力機能)」。一度入力したIDパスワードを登録しておくと、次回以降ログインする際に自動で入力してくれるため便利ですが、実はここからメールアドレスが盗み取れられる危険があることが判明しています。
具体的に何が危険なのか
この問題は、アメリカ・プリンストン大学の一部門である「Center for Information Technology Policy(情報技術ポリシーセンター、CITP)」が、2017年12月に公開したブログ「No boundaries for user identities: Web trackers exploit browser login managers」により明らかになりました。手口は以下のようなものです。
例えば、「example.com」というウェブサイトがあったとします。このサイトは会員制のサイトで、コンテンツを見るためには会員登録、ログインが必要になります。サイト閲覧者の多くは、会員登録時に自身の個人情報を入力するとともに、ログインIDとパスワードを作成し「example.com」に登録します。
そして多くの場合、同時に「example.com」のログインIDとパスワードをブラウザに登録しています。ブラウザにIDとパスワードを登録しておくと、「example.com」に今後アクセスするときに、毎度IDとパスワードを入力せずにすんで楽だからです。
問題はここからです。もし、この「example.com」が非常にセキュリティの高いサイトで、外部からの攻撃をすべてはじき返してれば問題は起こりません。
しかし、「example.com」が外部からの攻撃を受けてしまうと問題が起こります。具体的には、以下のような手法です。
(1)
不正アクセスによるスクリプト攻撃(クロスサイトスクリプティング、XSS)により、画面上には表示されない不正なログインフォームが各ページに作られる。
(2)
不正に作られたログインフォームは、あなたのブラウザのパスワードマネージャーに登録されているID(メールアドレス)を取得し、この情報を攻撃者に自動送信する。
なお、CITPにより確認された、攻撃に用いられているスクリプトは「Adthink」と「OnAudience」の2つです。 この2つは、匿名データの分析と統計を目的とした情報収集のために用いられているWebサービスで、日産、ダノン、ヤフー、アドビ、オラクルなど複数の大手企業で利用されています。 しかし、クロスサイトスクリプティング攻撃により、サイト運営者が意図しない形でこれらのスクリプトのいずれかを、サイトに不正に埋め込んで攻撃者の手元にID情報(メールアドレス)を送信しています。これは違法です。
クロスサイトスクリプティング攻撃を受けたサイトにアクセスしたユーザーは、不正に埋め込まれたスクリプトが動作して、ページ上に目に見えない形でログインフォームが表示されていること、不正に表示されたログインフォームにブラウザのパスワードマネージャーが自動でIDを入力していること、さらにその情報が攻撃者に送信されていること、これら一連の流れに全く気付く機会がないのです。ユーザーは、特段危険な行為を行っていないにもかかわらず、いつの間にID(メールアドレス)が盗まれてしまうのです。ちなみに、この攻撃ではID(多くの場合はメールアドレス)は盗まれますが、パスワードが盗まれることはありません。
どのような被害が考えられるか
仮に、「example.com」のIDが盗まれた場合、影響範囲は「example.com」だけかというと、多くの場合は異なります。その理由は、多くのユーザーは複数のサイトで同じID(メールアドレス)を用いているからです。「example.com」で取得したID(メールアドレス)を使って、facebookやgoogleアカウントなど、IDがメールアドレスになっているサービスにひたすら不正アクセスを試みていきます。
「ID(メールアドレス)が盗まれたといっても、パスワードは盗まれていないのだから、安全ではないか。問題ないのではないか」
そう思う方もいるかもしれませんが、そうではありません。「現時点でログインIDとして利用されているメールアドレスが取得される」ことは、攻撃者があらゆるサイトに片っ端から不正アクセスを試みて成功する確率を高めるからです。
現在、検索エンジンの検索結果に表示されず、暗号化ツールを利用しないとアクセスできない「ダークウェブ(闇ウェブ)」と呼ばれる場所で、サイトから流出したメールアドレスやパスワードが多く流通しています。攻撃者は、こうした場所でメールアドレスやパスワードを購入して攻撃を行うのですが、1つ問題があります。仮に以前流出した1万件のメールアドレスとパスワードの情報を購入しても、どのメールアドレスが現在使われているのか分からないことです。
どれが現在使われているか分からないと、リストの上から下へひたすら攻撃を行っていくことになり、効率が悪いのです。もし「直近で利用された履歴があるメールアドレス」だけに絞ることができれば、攻撃の成功率は格段に高まります。不正スクリプトをつかって新たに取得したメールアドレスと、過去に購入にした漏えいIDパスワード情報、多く設定されている脆弱なパスワードリストなどを組み合わせて、攻撃の精度を高めるのです。
攻撃に成功すると、住所、氏名、生年月日、登録クレジットカード情報といった個人情報が持ち去られるだけでなく、商品が勝手に購入され、さらにはお金やポイント、仮想通貨が持ち去られるといった被害が考えられます。繰り返しますが、1つのサイトでID(メールアドレス)を盗まれた場合、自身が利用する全てのサイトに不正アクセスされる可能性があると考えるべきです。
・参考情報(IDパスワード総当たり攻撃について)
ブルートフォース攻撃を阻止する方法とは
危険なサイトはどの程度あるのか
この情報を発表したプリンストン大学CITPでは、Alexaランキング(アクセス数が多いWebサイトランキング)の上位100万サイトのうち、1110サイトが攻撃により不正なスクリプトが仕込まれていたと報告しています。割合でいうと、全体の0.11%と非常に少ないですが、非常に少ない割合だからといって安全とは限りません。0.11%ということは、1000サイトのうち1サイトは、クロスサイトスクリプティング攻撃を受け「情報を盗み取られる」状態になっているということです。
攻撃者は常に同じ手法を用いているわけではありません。攻撃者は、日々自動で行っている攻撃の成功率、成功したケース、失敗した理由を分析して、攻撃が成功する確率を高めていきます。よって、現在攻撃を跳ね返したとしても、明日、来月、一年後も安全とは限らないのです。
ちなみに、このクロスサイトスクリプティングによる攻撃は新しいものではありません。CITPいわく、11年前から同様の攻撃が行われているとのことです。別な言い方をすると、クロスサイトスクリプティング攻撃は「ごく限られた攻撃者が使える高度な攻撃方法」ではなく、「極めて一般的な攻撃方法」であるため、攻撃のハードルが低いのです。
なぜこの種の攻撃がなくならないのか
「11年前から使われている古典的な攻撃なのに、なぜなくらないのか?」
このような疑問を持たれる方も多いかと思います。ここには「セキュリティと利便性のトレードオフ」という課題があります。
「IDパスワードをブラウザが管理することで、ユーザーは一度ログインしたサイトのIDパスワードを、2回目から入力しなくてよい(自動入力)」というのは、ユーザーにとって非常に利便性が大きいものです。よって、セキュリティの高さよりも利便性を優先している、ある程度のセキュリティが犠牲になるのは仕方ないと判断されているのが現状です。
もちろん、サイト運営者はクロスサイトスクリプティング攻撃が行われないよう、セキュリティホールのないWebサイト作成、プログラミングを行うべきです。しかし、一定の割合でセキュリティホールがあるWebサイトが作られてしまうのは致し方ないことともいえます。
ユーザーはどうすれば攻撃を防ぐことができるか
理想的には、クロスサイトスクリプティング攻撃が行われた時点で、サイト運営者がサイトを改修するのが理想です。しかし、サイトスクリプティングは「攻撃されたことに気が付かない」場合も多いため、サイト運営者の努力だけでなく、ユーザーの自衛も必要となります。
自衛方法にはいくつかありますが、「特定のスクリプトの動作を禁止する」といった方法は、今後別なスクリプトで同様の攻撃が行われた場合に、情報を守ることができません。よって、限定的で不完全な方法です。
最も確実な方法は、ブラウザのパスワードマネージャー機能自体をオフにすることです。ブラウザ内にパスワードを保管しなくなるため、こうした攻撃を防ぐことができます。また、ブラウザによっては、自動入力機能のみオフにすることも可能です。
一例として、Chromeのパスワードマネージャー機能をオフにする方法をご紹介します。以下の参考情報をご覧ください。
・参考情報
「危険!Chromeの機能でID・パスワードを保存していませんか?」
設定をオフにすることで、ブラウザでIDパスワード情報を一切管理しなくなるので、上記のような攻撃を受けたサイトにアクセスしたとしても、IDパスワード情報が盗まれることはありません。
しかし、パスワードマネージャーをオフにするということは、これまでブラウザが管理してくれていたIDパスワードを自分で管理しなければいけないということです。全てのIDパスワードを記憶しておくことは不可能なので、多くの場合Excelや紙などで保存・管理することになり、別な危険性が生じてしまいます。
攻撃を防ぎつつ利便性を犠牲にしない方法はあるか
ユーザーが、ブラウザのパスワードマネージャー機能を利用しないが、別なツールでパスワードを管理・自動入力することは可能です。具体的には「IDaaSの利用」となります。
IDaaS (Identity as a Service: アイダース)はクラウド型のIDパスワード管理サービスです。ブラウザにIDパスワードを保存するかわりに、安全なクラウド上にIDパスワードを保存し、ログイン時にIDaaSの強固なパスワードの入力を義務付けることで、「1つのIDaaSのパスワードだけ覚えておけば、あらゆるサイトのIDパスワード入力が自動化・シングルサインオンが可能」となるサービスです。
IDaaS製品の多くは、登録したログインURLに対してのみIDパスワードを自動入力する機能を備えています。つまり、同じサイト内であっても意図しないログインフォームにIDパスワードが自動入力を行うことはありません。よって、今回のように画面に表示されない不正なログインフォームが仕込まれていたとしても、IDパスワードの自動入力を行わず、安全です。
IDaaSは通常、1ユーザー当たり月額400円から1000円程度で提供されています。1人、2人が利用するのであれば問題ない金額ですが、仮に従業員が1000人の企業が全社導入しようとすると、月額費用だけで40万円から100万円、年額480万円から1200万円とかなり高額の負担となります。
当社GMOグローバルサインが提供するIDaaS「トラスト・ログイン」は、人数制限、機能制限、そして期間制限なしで無料でIDaaSを利用できるサービスです。
当社は、GMOインターネットグループで、20年以上SSL証明書を販売してきた高度な情報セキュリティ能力、そして顧客のデータを安全なデータセンターで守る堅牢性を有しています。他のIDaaSサービスの多くとは異なり、日本で開発を行っており、日本の企業が多く利用するクラウドサービスに対応しているため、「このサービスをIDaaSから使いたいのだが、登録されていない」ということはまずありません。外資系のIDaaSベンダーの中には「日本語だと追加料金が必要」という製品もありますが、トラスト・ログインは日本語も無料で利用できます。
トラスト・ログインは、登録したログインURLに対してのみIDパスワードを自動入力する機能を備えています。よって、日々利用しているサイトが今回のような手法で攻撃されていた場合も、トラスト・ログインを利用していれば情報が盗まれることはなく、安全です。そして、このトラスト・ログインの「登録ログインURLに対してのみ自動入力」機能も無料で提供しています。
そして、これらの設定をユーザー任せにするのではなく、管理者が一元的に管理できる点も強みとなります。ユーザーに「こうした機能があるので各自設定してください」と通達しても、設定できていなければ何の役にも立たないからです。
各企業様におかれましては、まずはトラスト・ログインを企業内で少人数ご利用いただき、機能や使いやすさを評価ください。評価といっても機能制限や期間の制限は全くありません。そして、十分にご理解、納得いただけた後に、各部門、また全社展開でのご検討ください。