BITB(Browser in the Browser)攻撃:新たなるフィッシング手法

パスワードを盗む狡猾な新手法について、またフィッシングサイトの罠を回避する方法を解説

認証情報や秘密の質問、そのほか貴重な情報を執拗につけ狙うサイバー犯罪者たちは、ユーザーを騙すための手口を次から次へと考えつきます。このような手口がどれほど巧妙になろうとも、犯罪者たちは常にユーザーの気の緩みを狙っていることを忘れないでください。フィッシング被害に遭わないためには、何よりもまず、認証情報を入力するよう求めてきたWebサイトのアドレスなど、細かいところに注意を払うことです。

少なくとも、ほとんどの場合にこれがあてはまります。しかし本日お話ししたいのは、これらとは手口が違う攻撃についてです。WebサイトのURLが正しく、安全に見える場合があります。この攻撃についてご説明します。

フィッシングサイトのアドレスにはなぜ誤りがあるのか

アドレスバーに表示されるドメインアドレスというのはどれも、そのWebサイトのオーナーに割り当てられた固有のものです。Webサイトを作るときに真っ先に必要になるのが、ドメイン名を登録する専門事業者への申請です。専門事業者は国際データベースをチェックして、そのアドレスがすでに使われていないかどうか確認します。使われていなければ、そのアドレスが申請者に割り当てられます。

つまり、本物のWebサイトと同じアドレスで偽物のWebサイトを登録することは不可能です。ですが、カナダ(.ca)の代わりにコロンビア(.co)とするなど、似ているドメインゾーンを選べば、既に存在するWebサイトと非常によく似たドメインを作ることは十分に可能です。それでもそのアドレスを注意してよく見れば、見分けるのは難しいことではありません。

そこでサイバー犯罪者は、ドメイン名を登録するのではなく、信頼されているWebサイトのアドレスが表示されたブラウザーウィンドウを装うことを思いついたわけです。

BITB(Browser in the Browser)攻撃とは?

BITB(Browser in the Browser)攻撃と呼ばれるこのタイプの攻撃は、情報セキュリティの研究者でありペネトレーションテスター(pentester)であるハンドルネーム mr.d0x 氏 が類型化したものです。彼は、Webサイトを作る最新の方法(HTML、CSS、JavaScript ツール)がかなり高度になり、さまざまな色や形をしたフィールドからインターフェース上で動作するコンポーネントを模したアニメーションまで、事実上どんなものでもページに表示できることに気がつきました。つまり、フィッシング詐欺師もそうした機能を使って、自分が作ったWebサイトに、別のサイトにそっくりなページを表示することができるわけです。

実験するために、mr.d0x 氏はポップアップのログインウィンドウに注目しました。Webサイトで、新しくアカウントを作成する代わりに「Googleでログインする」や「Appleで続ける」といった選択肢を選ぶと出てくるポップアップウィンドウを、おそらく皆さんも見たことがあるでしょう。この選択肢が便利なのは、新しいパスワードを考えたり、それを覚えておいたりする必要がなく、また、確認のためのリンクやコードが届くのを待たなくてもいいことです。しかも、このログイン方法は比較的安全でもあります。~でサインインするというボタンをクリックすると、認証情報を入力する関連サービスのページが開き、これからログインしようとしているWebサイトには一時的にでもパスワードが送られることはありません。

サードパーティサービスの本物のログインウィンドウ

サードパーティサービスの本物のログインウィンドウ

では、BITB(Browser in the Browser)攻撃の話に入ります。そのしくみはこうです。サイバー犯罪者はまず、正規Webサイトのクローンを作る従来のフィッシング手口を使ってWebサイトを登録します。ただし被害者を引き寄せるように、お買い得品の案内や転職の勧誘、あるいはユーザーがコメントしたくなるようなニュースなど、魅力的なアドレスとコンテンツを選びます。そしてサイトを訪れたユーザーが興味を持ったものについて、買い物をしたりコメントしたり、そのほかの機能にアクセスしたりする場合にはサインインが必要となるような設定をします。そこで、どこかの正規サービスを通してログインを許可する、というボタンを追加するのです。彼らが手に入れようとしているのは、この正規サービスのパスワードです。

このボタンをクリックすると、MicrosoftやGoogle、Appleなどの見慣れたログインウィンドウが表示されます。アドレスもロゴも、入力フィールドも正規のものです。要するに、いつも目にしているウィンドウが表示されるのです。ユーザーが「ログイン」ボタンや「パスワードを忘れた場合」のリンクにマウスを重ねたときに、正しいアドレスが表示されるようにすることもできます。

これが落とし穴です。新しいウィンドウが現れたように見えて、実はそうではありません。この手口のすごいところは、ユーザーを騙そうとしているそのページにポップアップ画面が表示されるようになっていることです。このウィンドウに認証情報を入力すると、その情報は MicrosoftやGoogle、Appleに送られるのではなく、サイバー犯罪者のサーバーに直行するのです。ウィンドウがどのように見えるかはこちらのページで確認できます。

偽物のログインウィンドウを見分ける方法

明らかに偽物とわかるログインウィンドウはありませんが、偽物を特定する方法はあります。

本物のログインウィンドウはブラウザーのウィンドウなので、ブラウザーのウィンドウとして操作できます。つまりウィンドウを最大化または最小化したり、画面上のどこにでも移動させることができます。しかし偽物のポップアップウィンドウはそれが表示されたページ内に固定されています。自由に動かしたり、ボタンや画像を隠したりもできますが、それは枠の中だけ、つまりそのブラウザウィンドウの内側だけのことです。外側には移動できません。この違いが見分けるためのポイントです。

画面上のログインフォームが本物か偽物かを確かめるには、次のことを試してください:

  • 入力フォームをポップアップさせたブラウザウィンドウを最小化してみる。別ウィンドウになっているはずのログインフォームも一緒に消えたら、それは偽物だということです。本物のログインウィンドウは画面上に残ります。
  • ログインウィンドウを元のウィンドウの枠の外側に移動してみる。本物のウィンドウは簡単に枠の外側に移動できますが、偽物は枠の外に出せません。

ログインフォームがあるウィンドウが、他のウィンドウと一緒に最小化される、アドレスバーの下で止まってしまう、あるいはその下に消えてしまうなど不審な動きをした場合、偽物の可能性があるので認証情報を入力しないでください。

もっと簡単な方法で自分の身を守るには?

この攻撃は、一見して受ける印象ほど危険ではありません。BITB(Browser in the Browser)攻撃を人間が見分けるのは難しくても、コンピュータが助けてくれます。危険なサイトに何が書かれていようと本物のアドレスが変わるわけではなく、セキュリティソリューションにとって大事なのはそこなのです。

  • すべてのアカウントで パスワードマネージャを使うこと。パスワードマネージャはページの本物のアドレスを確認するため、見かけがどれほど本物らしく見えても未確認のサイトのフィールドには認証情報を入力しません。
  • フィッシング対策機能を搭載した、堅牢なセキュリティソリューションを導入すること。このソリューションがURLを確認して、危険なページであればすぐに警告が表示されます。

そしてもちろん、二要素認証の利用も忘れないでください。あらゆるソーシャルネットワークを含め、使える場面では有効にします。そうすれば、もしも認証情報を盗まれたとしても、盗んだ相手ではなくあなたのところに送られてくるワンタイムコードがなければ、アカウントにアクセスすることはできません。

特に重要なアカウントをより強力に保護する場合には、U2F(Universal 2nd Factor)のハードウェアトークン(最も有名なのはYubiKey です)の利用をお勧めします。このシステムはWebサイトのアドレスだけでなく、暗号化キーを知っているかどうかも確認してくれます。これを使えば、たとえオリジナルのサイトと偽物がそっくりに見えたとしても、そうした認証システムを突破することは不可能になります。

ヒント