web-dev-qa-db-ja.com

Chrome 1人のユーザーの拡張機能は他のユーザーにアクセスできますか?

インストールされているGoogle Chrome/Chromium拡張機能を、よりプライベートなWebブラウジングアクティビティから分離しようとしています。2つのChrome "Users"、一方ではより多くのプライベートブラウジングが行われ、もう一方では拡張機能を使用したプライベートブラウジングが少なくなります。これが「合理的に」(*以下を参照)安全かどうかを知りたいです。

次の設定があるとします。

  • 2人の「ユーザー」がいるようにChrome/Chromiumを設定しました( Chrome設定ページ を介して)。それらをUserAliceおよびUserBobと呼びます。
  • UserAliceにはno拡張機能がインストールされています。
  • UserBobは、インストールされているいくつかの拡張機能をインストールします。インストールすると、それらの一部にはアクセス許可が付与されます。

このシナリオでは、主な質問は次のとおりです。

  • UserBobの拡張機能には、anyのアクティビティのほんの少しでもアクセスできる可能性がありますか? UserAlice?のコンテンツ
    • 「はい」の場合、このクロスユーザーアクセスを許可する許可はどれですか。

*「合理的」とは、次のことから保護したいという意味です。UserBobに悪意のある拡張機能がインストールされていて、閲覧されたWebサイトからユーザー名とパスワードを読み取ることができるとします。メールまたは銀行として。 UserAliceは、電子メールおよび銀行のWebサイトを参照します。 「適度に安全」とは、UserAliceのユーザー名とパスワード、電子メール、銀行などに、UserBobによってインストールされた悪意のある拡張機能からアクセスできないことを意味します。

6
user29020

短い答え:Chrome拡張機能をChromeウェブストアで、個別のスタンドアロンバイナリを明示的にインストールしない場合、拡張機能はデフォルトでブラウザプロファイル内にトラップされ、他のChromeユーザーにアクセスしたり、変更したりすることはできません。 ChromeはXULタイプの拡張機能をサポートしたことがないため、「適切なファイルシステム保護」は不正確です。


拡張機能がブラウザプロファイルの制限を回避し、ファイルシステムの他の部分にアクセスするために利用できるルートとして、他の回答が言及している2つの方法に加えて、追加の方法について説明します。 1つ目はnativeMessaging WebExtension権限によるもの、2つ目はファイルダイアログのトリガーによるもの、3つ目はisAllowedFileSchemeAccessAPIによるものです。自動(バックグラウンドまたはその他)のものはなく、すべてユーザーがそのようなアクセスに明示的に同意する必要があります。

1)nativeMessaging権限を使用するWebExtensionは、特権のあるネイティブアプリケーションを単独で取り込むことはできません。ユーザーがネイティブアプリケーションのインストールを明示的に決定するまで、WebExtensionはインストールされたブラウザープロファイル内にトラップされます。

他の答えから、「[i] f any ... extensio [n] require [s] Administrator access to install」とすると、ソフトウェアは純粋なChrome拡張機能、たとえば、拡張機能は、Chromeの外部にインストールされたスタンドアロンのnativeMessagingクライアントを利用し、外部クライアント(Chromeの外部)をインストールすることで、ブラウザだけでなく、システム全体のスタンドアロンのキーロガーバイナリをインストールした可能性があります。 。ゲームオーバーですが、ブラウザによって提供されるセキュリティを上書きしたため、ユーザーの責任です。

2)他の回答から:「私は... sqliteブラウザをインストールしたFirefoxのポータブルコピーを起動できました...そして古いプロファイルを参照して、私の履歴を確認できました。」ファイルダイアログには明示的なユーザー操作が必要であるため、これはセキュリティバグではありません。ユーザーが拡張機能で操作するファイルをブラウザプロファイルに明示的にロードする場合、ユーザーはデータを拡張機能と共有することに同意したことになります。それ以外の場合、拡張機能は、ユーザーが[ファイルを開く]ダイアログでファイルを選択することを期待する以外に何もできません。ユーザー(プロファイルを思い出すと、信頼できない可能性のある拡張機能をトラップするためのものです)は単に閉じることができます。

3)ChromeのisAllowedFileSchemeAccess AP​​Iは、file://プロトコルを介したファイルシステムへの読み取り専用アクセスを許可します。ただし、「ユーザーは、特定の場合にこの動作を明示的に許可する必要があります。 Chrome設定ペイン」を介した拡張機能。2017年の初めの時点で、CWSの55の拡張機能のみがそれを要求しています。(出典: Mozilla Wiki )この特権を悪用してファイルシステムにスヌープする拡張機能に遭遇する可能性は非常に低いだけでなく、この特権では、ユーザーが手動でブラウザ拡張機能に付与する必要があります。


ChromeのWebExtensionAPI権限モデルを完全に破壊するゼロデイブラウザの悪用を防御しない限り、個別のブラウザプロファイルを使用して潜在的に危険な拡張機能を分離するだけで十分です。ただし、個別のOSレベルのユーザーアカウントはやり過ぎです。VMレベルの場合保護が整っています。エクスプロイトを利用するソフトウェアで遊んでいる場合、現在マルウェアをいじっているため、OSレベルのユーザーアカウントでは十分な保護が提供されません。

Chromeアプリは、標準のChrome拡張機能よりも多くの権限を享受しているため、まったく別のやかんですが、非推奨のテクノロジーであり、さらに重要なことに、OPの質問の範囲外です。 Chrome拡張機能。したがって、Chromeアプリはこの回答ではカバーされていません。

結論として、Chrome拡張機能は、1)ユーザーがChromeの外部にスタンドアロンの実行可能ファイルを手動でインストールした場合を除き、ブラウザプロファイル間をジャンプできません。この場合、すべての賭けはオフになります。2)ユーザーはでファイルを選択します。拡張機能によって生成されたファイルを開くダイアログ。この場合、ユーザーは任意のファイルアクセスに対する拡張機能のアクセス許可を明示的に付与します。3)ユーザーは、拡張機能自体が変更できないchrome:// extensionsのボックスに手動でチェックマークを付けます。

3
user873319

これらのユーザーがChrome内の単なる個別のプロファイルではなく、Windows内の完全に個別のユーザーである限り、またどちらのユーザーも管理者権限を持っていない限り、拡張機能とデータは完全に分離されている必要があり、1人のユーザーはにアクセスできません。他のユーザーのデータ。

ChromeはProgram Filesディレクトリにインストールされます。このディレクトリは誰でも書き込み可能ではなく、ユーザーは自分の個人データを自分のC:\Users\myProfileディレクトリに保存する必要があります。アリスがログインした状態でChromeを実行すると、C:\Users\Alice\appdataの下にプロファイルが作成され、ボブがChromeを実行すると、新しいプロファイルがC:\Users\Bob\appdataの下に作成されます。 。

これらのChromeプロファイルには、そのユーザーの拡張機能、ブックマーク、キャッシュが保存されます。あるユーザーが別のユーザーのデータにアクセスできるかどうかを決定するのは、Windows自体とファイルシステムのアクセス許可です。デフォルトでは、管理者以外のユーザーは他のユーザーのデータにアクセスできません。

これらの拡張機能のいずれかをインストールするために管理者アクセスが必要な場合は、ファイルシステムのアクセス許可を変更したり、管理ヘルパーサービスをインストールしたり、別のユーザーのユーザープロファイルを完全にコピーしたりすることができます。この最初のインストール後、拡張機能は、管理ヘルパーサービスをインストールした場合を除いて、アクセス許可を変更したり、他のユーザープロファイルを表示したりする機能を失うことに注意してください。

アリスの外部でボブへのアクセスを明示的に許可するか、ボブが管理者にアドオンのインストールを許可してもらい、Chromeユーザープロファイルの外部にインストールする必要がある場合、ボブはアリスのデータにアクセスできないはずです。 。

ボブまたはアリスのいずれかが管理者である場合、どちらも他のユーザーデータにほぼ無料でアクセスできます。

もちろん、ボブがマシンを危険にさらし、既知のシステムの脆弱性を使用してルートキットをインストールするという別のシナリオもありますが、それはまた別の日の話です...


これらはWindowsではなくChrome内のプロファイルであり、1つのChromeプロファイル内の拡張機能がアクセスすることは完全に可能であるとあなたが言った質問の部分を見逃しましたファイルシステム保護が設定されておらず、Chromeは、オペレーティングシステム内の個別のユーザーの仕事であるため、プロファイル間のファイルへのアクセスを防ぐための保護を強制しません。

以前にFirefoxを使用してアンインストールした例として、Firefoxのポータブルコピーを起動して、sqliteブラウザ(FFはsqliteデータベースにデータを保存します)をインストールし、古いプロファイルを参照して履歴を確認することができました。 Chromeでもほぼ確実に同じことが可能です。

本当に複数のユーザーが必要な場合は、プログラム機能ではなくオペレーティングシステム機能を使用してセキュリティを強化する必要があります。ボブとアリスの両方が同じWindowsユーザープロファイルを共有している場合は、Chromeの外部で他のユーザーのデータを参照するだけで、拡張機能はまったく必要ありません。

2
Mokubai