GoogleChromeでサイトの分離を無効にする必要があります
その他 / / November 29, 2021
今では、不吉に吹き替えられたセキュリティ上の欠陥である「スペクター」について聞いたことがあるはずです。 最近のほぼすべてのCPUに影響します. そして当然のことながら、この脆弱性は、実際にはすべきではない領域からのデータにアクセスする悪意のあるアプリケーションやWebサイトを中心に展開しているためです。 この問題に具体的に対処するために、ブラウザはさまざまなセキュリティメカニズムを開発しており、そのようなChrome固有の実装の1つがサイト分離です。
オプションのセキュリティ機能としてChromev63で最初に導入されたサイト分離は、バージョン67以降デフォルトで実行されるようになりました。 技術的に言えば、使用するサンドボックス化されたプロセスによる投機的実行攻撃(Spectreのベース)を軽減するのに非常に優れています。
しかし、他の良いものと同じように、それは代償を伴います—具体的にはパフォーマンスです。 では、サイトの分離を無効にすると、Chromeの機能が向上しますか? セキュリティのトレードオフの価値はありますか? 確認してみましょう。
スペクターとサイトの分離
他のブラウザと同じように、GoogleChromeではさまざまなタブを使用して複数のウェブサイトを開くことができます。 サイト分離を実装する前は、タブは共通のプロセスを共有するために使用されていました。これは、タスクの複製がシステムリソースの浪費になるため、理にかなっています。 ただし、これは、欠陥のあるCPU設計に基づいて悪意のある攻撃が発生するのに理想的な状況です—Spectre。
最新のマイクロプロセッサは、投機的実行を使用して、システムメモリからデータをプリロードします。 かなり高速なCPUキャッシュ 全体的なパフォーマンスを向上させる手段として。 ただし、これは、悪意のあるコードが共有プロセスを悪用して機密データをキャッシュにフェッチするようにCPUに促すユニークな機会を提供します。 データがCPUキャッシュに入ると、(システムメモリとは対照的に)保護されないままになり、簡単に盗まれる可能性があります。
いくつかのタブを開いているとします。1つは銀行口座を使用し、もう1つはランダムなサイトを使用します。 理論的には、後者は悪意がある場合、によって使用されるCPUキャッシュに飛び込むことができます。 以前のタブをクリックしてから、ログインの詳細から暗号化まで、あらゆる場所の情報を読み込んで読み取ります キー。
CPUキャッシュが限られているため、このようなインシデントが発生することを想像するのは非常に困難ですが(これは比較するとごくわずかです) システムメモリへ)、悪意のあるコードは、CPUアクセス間の違いを比較することにより、盗むデータを正確に決定します 速度。 結局のところ、物事が通常よりも速い場合、それは正確な推測によってすでにCPUキャッシュにあるデータが原因です。
Spectreの脆弱性が発見されると、 ブラウザはさまざまな回避策の使用を開始しました (CPUアクセス速度を決定する精度を下げるための低解像度タイマーなど)標的型攻撃を阻止します。 ただし、これらはSpectreベースの脅威に対抗するための完全な手段ではないため、サイト分離の理由です。
サイトの分離は、その名前が示すように、他のタブに共通のプロセスを含むすべてのiframe(埋め込み外部リンク)に対して個別のプロセスを作成することにより、タブを互いに完全に分離します。 共有プロセスは、悪意のあるコードが情報を監視して読み取るのに大きな役割を果たします。 他のタブでは、サイト分離の独立したプロセスの使用は、そのようなものを軽減するのにうまく機能します 脆弱性。
前の例を見ると、サイト分離がオンになっていると、銀行口座ポータルはまったく異なるプロセスで実行され、他のタブと同様のものは何も共有しません。 この「分離」により、侵害が発生した場合に情報を盗む可能性が最小限に抑えられます。
メモリオーバーヘッドの増加
したがって、独立した各プロセス(ブラウザタブ)によって使用される追加のシステムメモリが原因で、サイトの分離がパフォーマンスを犠牲にするかどうか疑問に思う必要があります。 によると Googleオンラインセキュリティブログ、セキュリティの実装は、機能が最初にアクティブでない場合よりも最大10〜13%多くのRAMを使用します。
この数値が実際にどれほど正確であるかを確認しましょう。 サイト分離が有効になっていない場合、以下のスクリーンショットは、多くの同様のiframeを使用するいくつかのWebサイトを示しています。 2つのタブのみに個別の進行中のタスクがあり、iframeのいずれにも独立したプロセスはありません。
ノート: スクリーンショットは、Chromeの組み込みのタスクマネージャーを使用して表示されます。 アクセスするには、Chromeメニューを開き、[その他のツール]をポイントして、[タスクマネージャー]をクリックします。
次のスクリーンショットは、サイト分離が有効になっている同じ2つのタブを示しています。 ご覧のとおり、各サイトで使用されているiframeにより、追加のプロセスの数が大幅に増加しています。 さらに、同様のプロセスがさらに2つに分割され、投機的実行攻撃が成功する可能性が軽減されます。 (ブラウザとGPUプロセスのタスクを無視して)計算を行うと、両方のサイトで約33%多くのメモリが使用されることになります。
メモリ使用量は、Googleが述べているものを大幅に上回っています。 ただし、長期平均の10〜13%多い数値を考慮してください。 サイト、さらには個々のWebページでさえ、必要なプロセスとメモリの数が時々異なります。 したがって、上記のシナリオは外れ値と見なすことができます。
とにかく、サイトの分離により、メモリオーバーヘッドが中程度、またはこの場合は大幅に増加します。
セキュリティと パフォーマンス
サイト分離を無効にすると、メモリ使用量が減少し、ローエンドデバイスのパフォーマンスが向上する可能性があります。 ただし、Chromeはかなりです 利用可能なメモリの管理に長けている 未使用のタブを一時停止します。 メモリ使用量はサイトごとに大幅に異なることを考えると、決定的な答えはありません。 システムメモリが多いデバイスでは、パフォーマンスの違いはごくわずかです。
しかし、ここに問題があります。 サイト分離の実装により、ChromeはSpectre攻撃に対する既存の対策を徐々に廃止することになっています。 したがって、これを無効にすると、悪意のある攻撃にさらされる可能性がさらに高くなります。
2つを比較検討すると、Spectreによって引き起こされる潜在的な脆弱性と、増え続ける個人データの使用が相まって、サイト分離をオフにすることは悪い考えです。 ローエンドのマシンでネットサーフィンをしていて、個人データをまったく使用しない場合を除いて、この重要なセキュリティ機能を無効にすることを検討する必要があります。
サイト分離の無効化
サイトの分離を無効にすると、コンピューターが重大なセキュリティの脅威にさらされます。 ただし、先に進んで機能を無効にする場合は、以下にそのための具体的な手順を示します。
警告: サイトの分離を無効にした状態で、Webサイトで個人の閲覧データを使用しないでください。 パスワードなどの機密情報をChromeに保存する場合も同様です。
ステップ1: 新しいタブで「chrome:// flags」と入力し、Enterキーを押してChrome実験フラグにアクセスします。
ステップ2: 検索バーに「SiteIsolation」と入力し、Enterキーを押します。
ステップ3: Strict SiteIsolationとSiteIsolation Trial OptOutというラベルの付いた2つのChromeフラグが表示されます。
- Strict SiteIsolationフラグをDisabledに設定します。 特定のデバイスでは、これがデフォルトで無効に設定されている場合があります。その場合は、何もしません。
- サイト分離試行オプトアウトフラグをオプトアウトに設定します(非推奨)。
次に、[今すぐ再起動]をクリックして変更を適用します。
ステップ5: サイトの分離が無効になりました。 確認するには、新しいタブにchrome:// process-internalsと入力し、Enterキーを押します。
サイト分離モードは、確認を示すために無効として読み取る必要があります。 後でサイトの分離を有効にするには、戻ってフラグを以前の状態に変更し、Chromeを再起動します。
いいえ、リスクに見合う価値はありません
サイトの分離などの重要なChromeセキュリティ機能を無効にしてメモリ使用量を減らすことは保証されていません。 特に、各サイトがメモリをどのように異なる方法で使用するかを検討します。 したがって、個人情報を犠牲にしてわずかなパフォーマンスの向上を追求するべきではありません。 パフォーマンスに苦労している場合は、いつでもできます 別のブラウザの使用を検討してください たとえば、Firefox Quantumは、Chromeに比べてメモリフットプリントがはるかに少なく、急いで何かをする前に使用します。