Isolineガイド
ブラウザープロファイルの分離で実際に分かれるもの
プロファイル分離はブラウザー状態を分け、アカウントの取り違えを減らせますが、端末、ネットワーク、ダウンロード、すべてのプロセスまで自動的に分けるものではありません。
「別のプロファイル」という言葉は、業務がその意味に依存するまでは正確に聞こえます。ある製品では別のフォルダーを意味するだけかもしれません。別の製品では、プロセス管理、プロファイル別ネットワークポリシー、暗号化、ロック、バックアップ、チーム権限まで加わる場合があります。ラベルだけでは、こうした境界の特定の組み合わせを保証しません。
したがって実務上の質問は、何から分離し、どの障害または実行主体に対抗し、どの根拠で確認するのかです。
混同しやすい四つの境界
| 境界 | 分離するもの | 確立できないこと |
|---|---|---|
| Webオリジン | あるオリジンでスクリプトから読めるストレージを、別のオリジンから分離 | 一つのプロファイル内で同じサイトに使う二つのログインの分離 |
| ブラウザープロファイル | 一つのプロファイルに関連づくブラウザー状態の集合 | 同じOSアカウントへアクセスできる別の人からの保護 |
| Site Isolationとサンドボックス | 異なるサイトのWebコンテンツを制限されたレンダラープロセスへ分離 | 各プロファイル専用のブラウザーインストールやネットワークスタック |
| OSアカウント、コンテナ、仮想マシン | システム境界でのファイル、プロセス、認証情報、場合によってはネットワークポリシー | 構成しない限り、ブラウザー内アカウントの自動分離 |
これらの層は、異なる問題を解決します。Webの同一オリジン規則は、あるオリジンの通常のスクリプトが別のオリジンのストレージを読むことを防ぎます。ChromiumのSite Isolationセキュリティモデルは、サイト間にサンドボックス化されたレンダラープロセスの境界を加えます。ブラウザープロファイルは、一人または一つの業務に属するブラウザー状態をまとめます。OSアカウントや仮想マシンは、より強いローカル攻撃者やホスト分離の問題を扱います。
ある層に関する主張を、別の層の根拠として使ってはいけません。
永続ブラウザープロファイルが通常分離するもの
Chromiumは、ユーザーデータディレクトリに履歴、ブックマーク、Cookieなどのプロファイルデータが含まれ、各プロファイルがそのユーザーデータディレクトリ内のサブディレクトリであると説明しています。Chromeのプロファイルガイダンスも同様に、プロファイルがブックマーク、履歴、パスワード、設定を分離すると説明しています。
永続的な作業プロファイルでは、通常、想定される状態境界に次が含まれます。
| 状態 | 分離による実務上の効果 |
|---|---|
| Cookieと認証状態 | プロファイルAでサービスへサインインしても、同じCookie jarを通じてプロファイルBまでサインイン状態にならない |
| ローカルストレージとサイトデータベース | Webアプリケーションがローカルに保持する状態は、それを作成したプロファイルに属する |
| HTTPキャッシュとCache Storage | 再利用可能な応答とオフラインアプリケーションデータは通常、別のプロファイルへ渡らない |
| 履歴、ブックマーク、開いていたセッションの状態 | 移動記録と保存済みの宛先は、意図した業務に関連づけられる |
| サイト権限 | カメラ、マイク、通知、位置情報などの判断をプロファイルごとに変えられる |
| 拡張機能と拡張機能の状態 | インストール済み拡張機能、その設定、付与されたアクセスをプロファイルごとに管理できる |
| パスワードとAutoFillの状態 | 有効なアカウント同期の影響を受けるものの、ローカルに保持する認証情報とフォームデータは選択したプロファイルに留まる |
実際の配置はプラットフォームごとに異なります。Chromiumの文書では、キャッシュパスがプロファイルパスから導出され、他のプロファイルデータと同じ場所ではなくOSのキャッシュ領域へ保存される場合があると説明しています。また、プロファイルデータと、ユーザーデータディレクトリ内にあるインストール単位のローカル状態を区別しています。したがって信頼できる分離設計では、所有するすべてのパスを追跡し、目に見える一つのプロファイルフォルダーを境界全体とみなさず、共有されるインストール状態を文書化します。
ディレクトリ境界にもライフサイクル管理が必要
固有のデータパスが誤った状態の再利用を防ぐのは、すべての起動に正しいパスが渡される場合だけです。Chromiumは、二つの実行中Chromeインスタンスが同じユーザーデータディレクトリを安全に共有できないことも説明しています。管理型プロファイルシステムは、次のライフサイクル規則を明確にする必要があります。
- 各プロファイルに固有のストレージルートを割り当てる。
- 二つの書き込み担当が同じ永続状態を開くことを防ぐ。
- 起動に属するプロセスを特定する。
- それらのプロセスを一つのライフサイクルとして停止または復旧する。
- バックアップや移行の前に書き込みを完了する。
- 次回起動前に不完全な終了を検出する。
これらがなければ、「別フォルダー」でも誤ったプロファイルの起動、古いロック、不完全なコピー、中断後の破損が起こり得ます。
ブラウザープロファイルだけでは自動的に分離されないもの
ローカルアクセス
Chromeは、端末へアクセスできる人なら別のChromeプロファイルに切り替え、閲覧したサイトなどの情報を表示できると警告しています。そのガイダンスでは、信頼できる人とのみ端末を共有するよう勧めています。通常のプロファイル選択画面は、信頼する利用者を整理するものです。同じOSアカウントを使う別の人に対するアクセス制御ではありません。
好奇心を持つ、または悪意あるローカル利用者がリスクに含まれる場合は、別のOSアカウント、端末管理、より強い実行境界を使います。プロファイル暗号化とロック解除ポリシーは保存時の露出を減らせますが、その設計、鍵保管、復旧経路、ロック解除中の動作は別途確認が必要です。
ブラウザーバイナリと更新経路
一つのChromiumユーザーデータディレクトリの下に複数のプロファイルを置けます。通常は、同じインストール済みブラウザーとアップデーターを利用します。プロファイル状態を分けても、セキュリティパッチの適用は別々になりません。
一つの継続管理されるブラウザーを一貫して更新する方が容易なため、この共有要素は望ましい場合があります。一方、古いまたは侵害されたブラウザービルドは、それを使うすべてのプロファイルに影響します。ブラウザーの鮮度、署名検証、ロールバックの安全性を分離評価に含めてください。
ネットワークID
新しいプロファイルを作るだけでは、公開IPアドレス、DNS経路、ローカルネットワーク、上流プロキシは変わりません。ブラウザー、拡張機能、OSポリシー、プロファイル管理ツールが別の設定をしない限り、一台の端末上のプロファイルは通常同じネットワーク経路を使います。
業務でプロファイル別プロキシが必要な場合は、設定済みアドレス以上のことを確認します。認証、DNS処理、WebSocketなどのプロトコル動作、障害後のフォールバック、プロキシ準備前の動作をテストしてください。直接接続へフェイルオープンすると、プロファイルに保存したプロキシ設定が正しくても、意図したネットワーク境界が失われます。
端末と環境の特性
プロファイルごとにCookieや設定が異なっても、同じブラウザー、OS、ハードウェア、ディスプレイ、言語設定、ネットワークの特性が観察される場合があります。W3Cはフィンガープリンティングを、観察可能な特性による再識別と説明し、フィンガープリンティングのガイダンスで、リクエストヘッダー、IPアドレス、ウィンドウサイズ、フォント、接続機器、性能、センサー、グラフィック描画などを入力候補に挙げています。
プロファイル分離は状態の再利用を防げます。しかし、端末を認識不能にしたり、別のフィンガープリントを保証したり、第三者サービスへのアクセスを保証したりはしません。
プロファイル外のファイル
ダウンロードは、ブラウザーが所有するプロファイルストレージを離れ、通常のユーザーフォルダーへ入ることがよくあります。Chromeのデータ削除文書は、この違いを具体的に示しています。ダウンロード履歴を消しても、ダウンロード済みファイルは削除されません。
アップロードは逆方向のリスクを作ります。ファイル選択画面から、複数のプロファイルに同じホストファイルシステムが見える場合があります。クリップボード、ドラッグ&ドロップ、印刷出力、スクリーンショット、OS通知も、周囲の製品またはOSが封じ込めない限り、ブラウザープロファイルの境界を越えます。
ダウンロード方針を選び、文書化してください。プロファイルごとの専用フォルダー、一時作業ディレクトリ、明示的なエクスポート、より強いコンテナ境界などの選択肢があります。適切な選択は、目的が取り違え防止、秘密情報の保護、互いに信頼しない業務の分離のどれかによって変わります。
クラウドアカウントと同期
ディスク上で分離されたブラウザー状態も、有効な同期サービスを通じて複製される場合があります。プロファイルがその区分を同期するアカウントへ接続されていれば、パスワード、ブックマーク、設定、履歴が別の場所に現れる可能性があります。たとえばChromeでは、サインインした人がGoogle Accountへ保存するプロファイル情報を選択できます。
同期を別の信頼境界として扱います。何をアップロードするか、どう暗号化するか、誰が新しい端末を認可できるか、削除がどう伝播するか、復元時に誤ったプロファイルの状態がマージされないかを記録してください。
Site Isolationは別のセキュリティ管理策
ChromiumのSite Isolationは、対応プラットフォームで異なるサイトのページを別々のサンドボックス化されたレンダラープロセスに配置します。これにより、あるサイトで侵害されたレンダラーが、別のサイトに属する機密データを取得する可能性を減らします。
この保護はブラウザーセッションの内側で機能します。二つの作業プロファイルが別々のデータルート、専用のライフサイクル管理、異なるプロキシ、独立したバックアップ、別のチーム権限を持つかには答えません。逆に、製品が別々のデータディレクトリを作っても、敵対的なWebコンテンツに対して通常のブラウザーサンドボックスを利用します。
両方の管理策が重要です。別々にテストし、説明してください。
永続プロファイル、シークレットセッション、使い捨てプロファイルの選択
Chromeのシークレットモードは、プライベートセッションを開いている間は一時的にCookieとサイトデータを保持し、セッション終了後はそのサイトデータと訪問先記録を保持しません。Googleは、シークレットモードでも訪問先サイトとそのサービスによるデータ収集方法は変わらないとも説明しています。
そのため、シークレットモードは信頼できる端末上の短期間セッションには役立ちます。再現可能な拡張機能、復旧可能な状態、割り当て済みの所有者、管理された引き継ぎが必要な永続業務プロファイルの代わりにはなりません。
管理された使い捨てプロファイルは、一時的な状態方針と明示的な起動、ネットワーク、消去管理を組み合わせられます。それでも削除には根拠が必要です。管理ツールは、プロファイル所有のパスと認証情報が削除されたことを確認し、監査または法的理由でプロファイル外に残るファイルや記録を明示する必要があります。
復旧も分離の一部
分離は、起動時と同じように復元時にも破れる可能性があります。実行中のプロファイルをコピーすると、新旧データベース状態が混ざる場合があります。誤った識別子へ復元すると二つの業務がマージされることがあります。新しいブラウザーで書かれたデータを古いビルドで開くと互換性問題が生じる場合があります。Chromiumには明示的なユーザーデータのダウングレードおよび互換性規則があります。
復旧設計は、次を証明する必要があります。
- バックアップが不変の一つのプロファイルIDに属する。
- ライフサイクル上の一貫した時点でスナップショットが作られた。
- 秘密情報がアーカイブ内と復元中の両方で保護される。
- ブラウザーバージョンが復元状態と互換性を持つ。
- 復元が既存プロファイルと暗黙にマージされない。
- 中断時に最終正常状態へ戻せる。
キャッシュは通常、置き換えられます。ブックマーク、利用者が作成したローカルデータ、認証情報、拡張機能の状態、監査メタデータは置き換えられない場合があります。復旧方針ではこれらを区別してください。
実践的な分離テスト
同じWebアプリケーションの二つのテナントをテストする、承認済みQAチームを考えます。テナントAとテナントBは互いに独立していなければなりません。
各プロファイルについて、チームは小さなテスト表を記録できます。
- プロファイルAでサインインし、設定変更、サイト権限の付与、オフラインアプリケーション状態の登録を行う。
- プロファイルBで同じオリジンを開き、Aの認証済み状態とローカル状態が存在しないことを確認する。
- Bに意図したネットワーク経路を設定し、認証情報を入力する前に通常の要求と障害時の動作を確認する。
- 各プロファイルから無害な目印ファイルをダウンロードし、保存場所と読取可能な人を確認する。
- 一方の起動を中断して開き直し、状態が別のプロファイルへ移っていないことを確認する。
- Aをバックアップし、新しいテスト識別子へ復元して、Bが変化していないことを確認する。
これは観察可能な動作をテストします。異なる色の二つのウィンドウのスクリーンショットでは不十分です。
分離へ依存する前に尋ねる質問
- 正確にどのデータ区分をプロファイルが所有するか。
- メインのプロファイルディレクトリ外に状態またはキャッシュのパスがあるか。
- 二つの起動が同じプロファイルへ書き込めるか。どう防ぐか。
- どのブラウザープロセスまたはサービスを共有するか。
- 最初の要求前にネットワークポリシーを適用し、安全側に失敗するか。
- ダウンロード、アップロード、クリップボード、通知がどこで境界を越えるか。
- 誰がプロファイルをロック解除、エクスポート、コピー、復元、削除できるか。
- 暗号鍵をどう保管し、復旧するか。
- 同期がプロファイルまたは端末間の状態をマージできるか。
- クラッシュ、アップグレード、バックアップ、ロールバックについてどの根拠があるか。
判断の要点
主な目的が、信頼する人々が管理する端末での整理とアカウント分離なら、通常のブラウザープロファイルを使います。誤ったプロファイルの起動、同時書き込み、ネットワークの取り違え、復旧失敗、チームでの引き継ぎが重大なリスクになるなら、管理された分離プロファイルシステムを求めます。別のローカル利用者、信頼できないネイティブコード、より強いホスト境界が脅威に含まれる場合は、OSアカウント、コンテナ、仮想マシンへ移します。
「分離」という言葉は出発点にすぎません。実際の製品は、文書化された境界、その障害時の動作、日常利用でも境界が保たれるという根拠です。
限界
ブラウザーとOSの動作は時間とともに変わり、プラットフォーム、ポリシー、拡張機能、製品実装によって異なります。ここに示した区分は評価の枠組みであり、すべてのプロファイル管理製品が同じデータを分離するという主張ではありません。利用予定の正確なブラウザーバージョン、端末、ネットワーク、拡張機能、IDプロバイダー、復旧手順をテストしてください。
編集上の注記
- AIの利用
- この日本語版の翻訳、用語の整合性確認、構造検証にはAIを利用しました。公開するすべての記述については、組織としての編集主体が引き続き責任を負います。
- 編集確認
- Isoline編集チーム
情報源
各情報源は、それが裏づける記述のまとまりと対応づけています。参照日は、編集チームが引用資料を確認した日を示します。
- Chromium Docs:User Data Directory Chromium project
- 裏づける内容
- プロファイルのサブディレクトリ、インストール単位の状態、プラットフォーム別キャッシュパス、ユーザーデータディレクトリの同時利用制限を裏づけます。
- 参照日
- Chromium Docs:User Data Storage Chromium project
- 裏づける内容
- バージョン付きChromiumプロファイルデータの前方移行と、ダウングレード時の機能低下を裏づけます。
- 参照日
- Google Chrome Help:複数のプロフィールでChromeを使用する Google Chrome Help
- 裏づける内容
- Chromeプロファイルのデータ分離と、端末利用者が別のローカルプロファイルへ切り替えられるという注意を裏づけます。
- 参照日
- Google Chrome Help:すべてのデバイスでブックマーク、パスワードなどを利用する Google Chrome Help
- 裏づける内容
- 利用者が選んだChromeデータ区分をGoogle Accountへ保存し、他の端末で利用する動作を裏づけます。
- 参照日
- Chromium Security:Site Isolation Chromium project
- 裏づける内容
- Site Isolationによるレンダラープロセスとサンドボックスの境界、およびプロファイル分離との違いを裏づけます。
- 参照日
- Google Chrome Help:Chromeの閲覧データを削除する Google Chrome Help
- 裏づける内容
- 閲覧データ区分の違いと、ダウンロード履歴を消してもダウンロード済みファイルは削除されないことを裏づけます。
- 参照日
- Google Chrome Help:シークレットモードでブラウジングする Google Chrome Help
- 裏づける内容
- シークレットモードの保持制限と、訪問先サイトおよびそのサービスから活動が引き続き見えることを裏づけます。
- 参照日
- W3C:Mitigating Browser Fingerprinting in Web Specifications World Wide Web Consortium
- 裏づける内容
- 観察可能なフィンガープリント入力と、保存状態の消去だけではIDをリセットできないという限界を裏づけます。
- 参照日