効率的なWebブラウジングを可能にするタブ。多くのブラウザユーザーにとって欠かせない機能になっているが、MozillaのAza Raskin氏がタブの動作を悪用した新たなフィッシング攻撃の可能性をブログで指摘している。タブを使って複数のWebページを閲覧していると、ユーザーが気づかない間に背後のタブがフィッシングページに化けるという。同氏は、このテクニックを「タブナビング(Tabnabbing)」と呼んでいる。(Tabjacking、Tabnappingなどの名称もある)

Raskin氏はタブナビングを説明するブログページを、タブナビングのコンセプト証明ページとして公開している。このページを開き、さらに新しいタブを開いて、いくつかWebページを5秒以上閲覧していると、背後のRaskin氏のブログページがGmailのログイン画面に見せかけたページに変わる。Chromeではうまく変化しないこともあるが、全ての主要なWebブラウザでタブナビングは機能する。

Raskin氏のタブナビングのコンセプト証明ページ(左)を開いた状態で、新たにタブを開いてブラウジング

しばらくするとRaskin氏のページがGmailのログイン画面に見せかけたページに変わる

Gmailのログイン画面に見せかけたページに変わった後でもURLはRaskin氏のブログページのままだが、タブのファビコンや説明はGmailのものに変わっている。タブ機能を利用していると、タブは見てもURLまでは確認しないことが多い。Gmailのログインページに気づいたユーザーがログイン情報が記録される期間が過ぎたのかと思って再ログインを試みると、パスワードなどが盗み取られてしまう。フィッシングページがGmailページを表示すれば、ユーザーはログイン情報を盗まれたことに気づかない。

タブナビングのスクリプトを含むページを開いた状態で、新しいタブを開くとスクリプトが実行される。Raskin氏は「Flash Widget、またはページにサードパーティのスクリプトが含まれている場合、その度ごとに、こうした攻撃の足場が築かれることになる」と述べる。

例えば銀行のバンキングサイトではセキュリティを高めるために、しばらくユーザーのアクションがないと再ログインを求めるように設定されているケースが多い。そうしたセッションの時間切れを知らせる画面がタブナビングに使われる可能性がある。ユーザーがログインしているサービスとタブナビング画面が合致する確立は低い。その点を認めながらもRaskin氏は、タイミングアタックやイメージロードなどを使ってターゲットとなるユーザーがサービスにログインしているかを確認する手法もあると指摘している。

では、ブラウザベンダーはタブナビングにどのように対応するのか? Raskin氏はタブナビングのような振る舞いが可能であることよりも、ユーザー名/パスワードの入力でログインする方法の脆さの方を問題視している。「ブラウザがユーザーのアイデンティティや個人情報、クレデンシャルを安全に管理するスマートユーザーエージェントとして機能するべき時が来た」と指摘。開発中のFirefox Account Managerのような取り組みの重要性を訴えている。