気になるツイートを見つけた。
問題の記事はこれ。
No boundaries for user identities: Web trackers exploit browser login managers
FirefoxにはIDやパスワードを保存し、次の入力時に自動的に入力できるようにする機能がある。
どうもこれを利用してID、パスワードというログイン情報を外部へ送ってしまうらしい。
ざっとしか読めないので、ところどころ違うかも知れないが、おおむね以下のような感じだと思う。
当然、最初はログインし、そのときの情報を保存する。
そのサービスのサイトとは別の、悪意のあるサイトへ行ったときに、そのサイトがログインのフォームを見られない形で埋め込む。
するとFirefoxのログイン情報を管理する機能(ログインマネージャ)がそのログインフォームを検知して、ID、パスワードを入力してしまう。
すると、Javascriptがそれらの情報を読み取り、外部のサーバーへ送信してしまうというのである。
ただし、Chromeはログインの入力欄をクリックするまでは、オートフィルしないので見えない形で埋め込んでいると動作せず、この脆弱性はないらしい。
追記
Chrome doesn’t autofill the password field until the user clicks or touches anywhere on the page.
なので、ページのどこかをクリックするまで作動しないというのが正しいようだ。
広告
広告終わり
追記終わり
また、どうやらパスワードを盗みだすことはできていないのか、50,000サイトを調べた範囲では盗んだ形跡は発見できなかったらしい。
しかし、IDとして多くのサイトで利用されているEメールアドレスは盗まれているようだ。
その脆弱性を利用したスクリプトを使っているサイトのリストも紹介されていた。
それらのサイトで利用しているスクリプトはほぼ2つで、
- Adthink (audienceinsights.net)
- OnAudience (behavioralengine.com)
Adthink (audienceinsights.net)は、ユーザーの誕生日や体重などをカテゴライズするようなスクリプトがあるようで、ログイン情報を盗み取ったあと、そのログイン情報を使ってそれらのカテゴリに該当する情報を盗み取ってリストを作っているのかも知れない。
また、OnAudience (behavioralengine.com)の方は、ブラウザにインストールされているプラグインや、使っている言語や、使用しているモニタの画面解像度、OSやCPUなど色々な情報を集めているようだ。
盗んだEメールアドレスを利用して、上にあげた情報を紐づけしてデータベース化しているらしい。
今の所、これを防ぐ方法は、オートフィルを無効にすることしかないようだ。
Firefoxではabout:configでsignon.autofillFormsをfalseにすることだ。
また、面倒だと思う人もいるかも知れないが、メニューから表示できる設定で、フォーム入力情報やログイン情報を記憶しないようにすればそもそもオートフィルする情報が記憶されないので大丈夫だろう。
個人的に、パスワードは一回一回、パスワードは手で入力することにしている。
サイトに関連したルールを作って、それを反映させたパスワードを作ることにすれば意外に簡単にパスワードを複雑化することができる。
そうすれば覚えるのも難しくはない。