MENU

ブラウザ・イン・ザ・ブラウザ(BitB)攻撃とは?本物そっくりの偽ポップアップでSSO認証を騙す手口と対策をわかりやすく解説

「Googleアカウントでログイン」ボタンを押した瞬間、本物そっくりのログイン画面がポップアップで現れる。URLも「accounts.google.com」に見える。だからIDとパスワードを入力した——でも実は、そのポップアップはブラウザの外に存在しない偽物だった。これが「ブラウザ・イン・ザ・ブラウザ(Browser-in-the-Browser、通称BitB)攻撃」の典型的な手口です。
2022年にセキュリティ研究者が概念実証(PoC)を公開して以来、OAuthやSSOのログインフローを標的にするフィッシングキャンペーンで実際に悪用されています。
この記事では、BitB攻撃の仕組みから見破り方、情シス1人でもできる対策まで現場で使えるレベルで解説します。

ブラウザ・イン・ザ・ブラウザ(BitB)攻撃とは?本物そっくりの偽ポップアップでSSO認証を騙す手口と対策をわかりやすく解説 - 解説

目次

ブラウザ・イン・ザ・ブラウザ(BitB)攻撃とは?

BitB攻撃は、攻撃者が用意した悪意のあるWebページの中に、本物のブラウザポップアップウィンドウをHTML・CSS・JavaScriptで精巧に模倣して表示する攻撃手法です。
ターゲットは主に「Googleでログイン」「Microsoftアカウントでサインイン」「Appleでサインイン」などのOAuth/SSO認証フローです。普段どおりSNSやゲームプラットフォームでSSOログインを使おうとした瞬間、気づかないうちに偽のログインフォームに認証情報を入力してしまいます。

・通常のフィッシングとの違い: 一般的なフィッシングは「全く別のURLのページへ誘導する」のに対し、BitBは正規サービスのログイン画面をブラウザウィンドウ内に描画するため、URLバーを確認しても見破りにくいのが特徴です。
・なぜ効果的か: ウィンドウのタイトルバー・URLバー・南京錠アイコンまでHTMLで再現できるため、視覚的にはほぼ正規のポップアップと区別がつきません。
・攻撃対象: ゲームアカウント・企業のSSOログイン・暗号資産取引所など、OAuthによる認証を使うサービス全般が標的になります。

偽ポップアップはこうして作られる — 攻撃の仕組み

BitB攻撃の流れをステップで整理します。

ステップ1: 攻撃者が偽サイトを用意する
攻撃者はまず、本物そっくりのサービスサイト(ゲームポータルや企業ポータルなど)を模倣した偽サイトを作成します。ドメインはタイポスクワッティング(文字を微妙に変えた似たドメイン)や期限切れドメインの取得などで入手するのが一般的です。

ステップ2: 「Googleでログイン」ボタンに偽ポップアップを仕込む
ボタンがクリックされると、新しいブラウザウィンドウが開く代わりに、HTML/CSS/JavaScriptで描いた偽のブラウザウィンドウが画面上に重なって表示されます。タイトルバー・URLバー(「accounts.google.com」の文字)・閉じるボタンまですべてHTMLで描かれています。実際のネットワーク通信は攻撃者のサーバーに向かっています。

ステップ3: ユーザーが認証情報を入力する
ポップアップが本物だと信じたユーザーがメールアドレスとパスワードを入力すると、その内容は攻撃者のサーバーに送信されます。入力後に本物のサービスへリダイレクトして違和感を消す手口も使われます。

この攻撃の厄介な点は、攻撃者ドメインのURLバーを確認しても「正規のドメインしか見えない」ことではなく、偽ポップアップの中に描かれたURLが正規に見えるという点です。正規のログインURLはただのHTMLテキストとして描かれているだけで、実際の通信先ではありません。

AiTMフィッシングとの違い
BitBと混同されやすいのがAiTM(Adversary-in-the-Middle)フィッシングです。AiTMはリバースプロキシを使ってMFAのセッショントークンをリアルタイムで傍受する手法で、BitBよりも技術的に高度です。BitBはプロキシなしで偽の認証UIを表示する点が異なりますが、どちらもOAuth認証フローを標的にする点は共通しています。

BitB攻撃を見破る方法と具体的な防御手順

1. パスキー(FIDO2・パスワードレス認証)に切り替える

BitB攻撃に対する最も効果的な防御はパスキー(Passkey)への移行です。パスキーはFIDO2規格に基づく認証方式で、秘密鍵はデバイス内に安全に保存されます。認証時にはブラウザが実際のオリジン(ドメイン)を検証してから秘密鍵を使うため、BitBのように偽のUIで正規ドメインを模倣しても認証が成立しません。

・Google・Microsoft・Apple: いずれもパスキーに対応しており、アカウント設定から有効化できます。
・企業システム: Microsoft 365・Google WorkspaceではFIDO2によるパスワードレス認証の設定が可能で、フィッシング耐性の高い認証に移行できます。
・なぜ有効か: パスキーはオリジン(ドメイン)に紐付いているため、偽サイトからは認証が自動的に失敗します。BitBを含むあらゆるフィッシングに対して原理的に強い認証方式です。

SSOのセキュリティ全体についてはシングルサインオン(SSO)のセキュリティリスクと対策も参照してください。

2. ポップアップの「外出し確認」を習慣化する

技術的な移行が完了するまでの間、BitB偽ポップアップを見破るシンプルな確認方法をチームに周知しましょう。

・ブラウザウィンドウの外にドラッグする: 本物のOAuthポップアップウィンドウはブラウザの外(デスクトップ上)にも移動できます。BitBの偽ポップアップはHTMLで描かれているため、ブラウザウィンドウの境界を越えて移動できません。ドラッグしてみて動かなければ偽物と判断できます。
・URLバーをクリックして操作できるか確認する: 本物のウィンドウのURLバーはクリックすれば全体のURLを確認・コピーできます。偽ポップアップのURLバーはHTMLで描いた模造品なので、クリックしても何も起こりません。
・タスクバー(OS)の確認: 本物のポップアップが開けばOSのタスクバーに新しいウィンドウが現れます。BitBの偽ポップアップにはタスクバーエントリが増えません。

3. ブラウザのセキュリティ設定と運用面の強化

・ブラウザを常に最新版に保つ: ChromeのセーフブラウジングはフィッシングサイトのURLをGoogleが管理するリストと照合します。設定→プライバシーとセキュリティ→セキュリティ→「セキュリティ強化」(拡張保護)を有効化すると検出精度が向上します。
・企業端末へのセキュリティ拡張機能の展開: 一部のセキュリティベンダーが提供するブラウザ拡張機能には、BitBを含む高度なフィッシングを検知する機能を持つものがあります。エンドポイント管理ツール(MDM等)を使って一括展開することを検討してください。
・OAuthアプリの棚卸しと不審なアプリ連携の削除: Googleアカウントの「サードパーティへのアクセス」設定などで、心当たりのないOAuth連携を定期的に削除します。

中小企業でも今日からできること

セキュリティ予算や人員が限られている環境でも、以下から着手できます。

・Google・Microsoftアカウントのパスキーを今日有効化する: 設定画面から数分で完了し、コストは0円です。特にGoogleアカウントとMicrosoft 365は管理コンソールからポリシーを組織全体に適用できます。
・「外出し確認」の周知を1回やる: 月例のセキュリティ通知メールや朝礼で「SSOポップアップはドラッグして確認する」と伝えるだけで、チームのフィッシング耐性が上がります。
・Chromeの拡張保護を全端末で有効化する: グループポリシー(Windows)またはMDMプロファイルで一括適用できます。個人端末の場合は設定→プライバシーとセキュリティ→セキュリティから変更してください。
・SSOの利用状況を棚卸しする: 社内でどのサービスがOAuthを使っているか洗い出し、パスキー対応サービスへの移行を段階的に計画します。

よくある誤解と注意点

「HTTPSだから安全」は通じない
攻撃者のサイトもHTTPS証明書(Let’s Encrypt等)を無料で取得できます。URLバーの南京錠アイコンは「通信が暗号化されている」ことを示すだけで、「そのサイトが正規のサービスである」ことの保証ではありません。BitB攻撃の偽サイト自体がHTTPSで動いているケースが多く、南京錠を見て安心するのは危険です。

「MFAがあれば安全」とは言い切れないケース
SMS認証やTOTP(時間ベースのワンタイムパスワード)などの一般的なMFAは、BitBで奪った認証情報と組み合わせてリアルタイムで悪用される場合があります。攻撃者が入力されたMFAコードを即座に別セッションで転用する手口です。フィッシング耐性のある認証方式(FIDO2・パスキー)でないと、SMSやTOTPのMFAだけでは防ぎきれないことがあります。

スマートフォンは狙いにくいが油断は禁物
モバイルブラウザではウィンドウの概念が異なり、BitBのようなポップアップ偽造が技術的に難しいとされています。ただし、モバイル向けにアレンジされた類似の手口が継続的に報告されているため、過信は避けましょう。

ブラウザ・イン・ザ・ブラウザ(BitB)攻撃とは?本物そっくりの偽ポップアップでSSO認証を騙す手口と対策をわかりやすく解説 - まとめ

本記事のまとめ

BitB(ブラウザ・イン・ザ・ブラウザ)攻撃は、本物のブラウザポップアップをHTML/CSSで精巧に模倣し、OAuthやSSOのログイン画面を偽装するフィッシング手法です。

確認ポイント 正規ポップアップ BitB偽ポップアップ
ブラウザ外へのドラッグ デスクトップに移動できる ブラウザ内から出られない
URLバーのクリック操作 URL確認・コピー可能 クリックしても反応なし
OSのタスクバー 新ウィンドウのエントリが増える タスクバーに変化なし
パスキー(FIDO2)での認証 正常に認証が完了する ドメイン不一致で自動失敗

最も効果的な対策はパスキー(FIDO2)への移行です。コストゼロで始めるなら、まずGoogleアカウントとMicrosoft 365でパスキーを有効化することから着手してください。それと並行して、従業員に「SSOポップアップはブラウザの外にドラッグして本物か確認する」習慣を周知すると、すぐにフィッシング耐性が上がります。

PR

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版(徳丸浩/SBクリエイティブ)

WebアプリのセキュリティをOAuthや認証フローの脆弱性まで体系的に解説した定番書。BitB攻撃が悪用するOAuth認証の仕組みを根本から理解したい方に最適です。

関連記事をもっと読む

同じテーマの記事をまとめています。あわせて読みたい記事はこちらからご覧いただけます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次