ブラウザ分離とは?

ブラウザの分離とは、ユーザーのデバイスや組織のネットワークから分離された安全な環境にブラウ��ング時の活動を隔離することで、信頼できない、潜在的に悪意のあるWebサイトやアプリからユーザーを保護するものです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ブラウザの分離を定義する
  • Webブラウザを使用するリスクを説明する
  • リモートブラウザの分離など、ブラウザの分離のさまざまな種類について説明する

記事のリンクをコピーする

ブラウザ分離とは?

ブラウザの分離は、Webページを表示するユーザーデバイスからWebページを読み込むプロセスを分離することで、ブラウジング活動を安全に保つ技術です。この方法により、潜在的に悪意のあるWebページのコードはユーザーのデバイス上で実行されないため、マルウェアの感染や、その他のサイバー攻撃がユーザーのデバイスと内部ネットワークの両方に影響を与えることを防ぎます。

Webサイトを訪問したりWebアプリケーションを利用することは、Webブラウザが遠隔地のWebサーバなどのリモート上の信頼できないソースからコンテンツやコードを読み込み、ユーザーのデバイス上でそのコードを実行することになります。このため、セキュリティの観点からは、Webの閲覧はかなり危険な行為と言えます。ブラウザの分離は、コードをユーザーから遠く離れた場所で読み込んで実行することで、ユーザーやユーザーが接続するネットワークをリスクから守ります。これは、工場内の特定の危険な作業にロボットを使うことで、工場労働者の安全性を確保するようなものです。

ブラウザの分離は、どのユーザー、アプリケーション、Webサイトもデフォルトでは信頼されないZero Trustセキュリティモデルの重要な構成要素となり得ます。

企業がブラウザの分離を使う理由は?

インターネットは、現代の企業活動において非常に重要なものとなっています。かつては、ビジネスプロセスはほとんど社内ネットワーク内で行われていましたが、かなり以前からそうではなくなりました。代わりに、従業員は定期的にWebサイトやWebアプリケーションにアクセスして業務(個人的タスクも)を実行し、ブラウザを通じた業務を行っています。

ファイアウォールやネットワークアクセス制御が内部ネットワークに向けられた攻撃を阻止するのに役立つように、ブラウザの分離はブラウザに向けられた攻撃を阻止するのに役立ちます。

ブラウザの分離の利点

  • 危険なダウンロードが削除される
  • 悪意のあるスクリプトがデバイスやプライベートネットワーク内で実行されない
  • ブラウザ経由のゼロデイエクスプロイト*をブロックする
  • Webサイト全体をブロックすることなく、悪意のあるウェブコンテンツをブロックすることができる

*ゼロデイエクスプロイトとは、これまでに確認されていない、あるいはパッチの提供がない脆弱性を突いた攻撃のことです。稀なケースではありますが、ゼロデイエクスプロイトを阻止することはほぼ不可能です。

ブラウザの分離にはどのような種類があるか?

ブラウザの分離には主に、リモート型(またはクラウドホスティング型)、オンプレミス型、そして クライアントサイド型の、3つの種類があります。

  • リモート型のブラウザの分離技術は、ユーザーのデバイスや組織の内部ネットワークから遠く離れたクラウドサーバーにWebページを読み込んで、関連付けられたあらゆるJavaScriptコードを実行します。
  • オンプレミス型ブラウザの分離は、同じことを組織によって内部で管理されているサーバ上で行います。
  • クライアントサイド型ブラウザの分離は、ユーザーデバイスにWebページを読み込むことに変わりありませんが、仮想化またはサンドボックスを使ってWebサイトのコードとコンテンツを別のデバイスに分離された状態を保ちます。

ブラウザの分離の3つの方法はどれも、ユーザーの閲覧セッションが終了すると削除されるため、セッションに関連する悪意のあるクッキーやダウンロードは消去されます。

リモート型ブラウザの隔離の仕組みとは?

リモートまたはクラウドホスティング型のブラウザの分離は、信頼できないブラウザの活動をユーザーのデバイスや企業ネットワークからできる限り遠ざけるものです。これは、ユーザーのWebブラウジングをクラウドベンダーが管理するクラウドサーバー上で行うことで実現します。その後、ユーザーのデバイスにWebページが転送され、ユーザーは通常通りインターネットを利用できるようになりますが、デバイスに実際にWebページがすべて読み込まれることはありません。マウスクリックやフォーム送信などのユーザーアクションは、すべてクラウドサーバーに転送され、そこで実行されます。

リモート型ブラウザの分離を行うサーバが、ユーザーのデバイスにWebコンテンツを送信するには、次のようないくつかの方法があります:

  • ブラウザからユーザーへのストリーム:ユーザーは自分のブラウジング活動の動画や画像を見ることになります。この手法は「ピクセルプッシュ」とも呼ばれます。この方法は、ユーザーのブラウジング活動に遅延が発生し、時にはユーザーエクスペリエンスが損なわれることがあります。
  • 悪意のあるコンテンツを削除するために各ウェブページを開き、検査し、書き換えを行った後、ローカルユーザーのブラウザに送信する:この方法は DOM再構築と呼ばれ、ウェブページは分離した環境に読み込まれ、攻撃の可能性を取り除くために書き換えられます。コンテンツが安全であると判断されると、ユーザーのデバイスに送信され、そこでウェブページのコードが再度読み込まれて実行されます。この方法は、すべてのWebサイトに対応できるわけではありません。
  • Webページの最終的な出力をユーザーに送信:Webページが完全に読み込まれて、すべてのコードがブラウザで実行されると、ベクターグラフィックスで表現されたWebページの最終バージョンがユーザーに送信されます。

オンプレミス型ブラウザの分離の仕組みとは?

オンプレミス型ブラウザの分離は、リモート型ブラウザの分離と似たような動きをします。しかし、ブラウジングはリモートのクラウドサーバーで行われるのではなく、組織のプライベートネットワーク内にあるサーバーで行われます。このため、リモート型ブラウザの分離と比較して遅延を低減することができます。

オンプレミス型分離の欠点は、ブラウザの分離専用のサーバーを独自に用意する必要があるためコストがかかることです。また、この方法では通常、隔離を(リモート型ブラウザの分離プロセスのように)組織のファイアウォールの外側ではなく、内側で行わなければなりません。ユーザーデバイスがマルウェアやその他の悪意のあるコードから保護されても、内部ネットワーク自体はリスクにさらされたままになってしまいます。さらに、オンプレミス型ブラウザの分離は複数の施設やネットワークに拡張することが難しく、特にリモートワークフォースの場合は特にその傾向があります。

クライアントサイド型ブラウザの分離の仕組みとは?

他の種類のブラウザの分離と同様に、クライアントサイド型ブラウザの分離では、ブラウザセッションを仮想化します。リモート型やオンプレミス型ブラウザの分離とは異なり、クライアントサイド型ブラウザの分離はユーザーのデバイス自体でこれを行います。これは仮想化あるいはサンドボックス化によってブラウジングをデバイスの他の部分から分離しようとします。

仮想化:仮想化とは、コンピュータを物理的に変更することなく、コンピュータを別々の仮想マシンに分割するプロセスです。これは、「ハイパーバイザー」と呼ばれるオペレーティングシステムの下のソフトウェアの層で行われます。理論的には、ある仮想マシンで起こったことは、それらが同じデバイス上にある場合でも、隣接する仮想マシンに影響を与えることはありません。ユーザーのコンピューター内にある別の仮想マシンでWebページを読み込むことで、コンピューターの他の部分の安全性を確保することができます。

サンドボックス化:サンドボックスは、仮想マシンに似ています。これは、安全にテストを実行できる独立したコンテナ型仮想環境です。サンドボックス化は、一般的なマルウェア検出技術です。多くのマルウェア対策ツールは、潜在的に悪意のあるファイルをサンドボックス内で開いて実行し、その動作を確認します。一部のクライアントサイド型ブラウザ分離製品は、Webブラウジングの活動をサンドボックスを使用して安全に閉じ込めるものがあります。

クライアントサイド型ブラウザの分離は、潜在的に悪意のあるコンテンツを実際にユーザーのデバイスに読み込むことになるため、ユーザーとネットワークにリスクをもたらすことに変わりはありません。有害なコードをデバイスから物理的に分離することは他のタイプのブラウザの分離の中核となる概念ですが、クライアントサイド型ブラウザの分離にはこの分離がありません。

ブラウザの分離はどのような脅威に対して防御するか?

すべてのWebページやWebアプリケーションは、HTML、CSS、JavaScriptのコードで構成されています。HTMLとCSSがマークアップ言語であり、書式を指定するだけの言語であるのに対し、JavaScriptは完全なプログラミング言語です。JavaScriptは、最新のWebアプリケーションに見られる多くの機能を実現するために非常に有用です。しかし、悪意を持って使用されることもあります。多くのブラウザは、ページに関連するすべてのJavaScriptを自動的に実行するため、悪意のあるJavaScriptは特に危険です。

JavaScriptを使った攻撃は、いくつかの種類があります。以下に最も一般的なものを一部紹介します:

  • ドライブバイダウンロード攻撃:Webページを読み込むだけで、悪意のあるペイロードのダウンロードが開始されます。ドライブバイダウンロードは、通常、ブラウザのパッチが適用されていない脆弱性を利用します。
  • マルバタイジング:悪意のあるコードが正規の広告ネットワークに挿入されます。悪意のある広告が表示されるとコードが実行され、通常訪問者は悪意のあるウェブサイトにリダイレクトされます。意図せずして悪意のあるコードを配信してしまうのは正規の広告ネットワークであるため、マルバタイジングは、トラフィックの多い正規のWebサイトさえも危険にさらす可能性があります。
  • クリックジャック:ユーザーが意図していないものをクリックしてしまうようにWebページをデザインすることです。クリックジャックは、偽りの広告収入を得るため、ユーザーを安全でないWebサイトに誘導するため、あるいはマルウェアのダウンロードを開始させるために使用されることがあります。

その他の一般的なブラウザ内攻撃(JavaScriptを使用する場合としない場合があります)には、以下のようなものがあります:

  • リダイレクト攻撃:ユーザーが正規のURLを読み込もうとすると、攻撃者が管理するURLにリダイレクトされます。
  • ブラウザの中間者攻撃:中間者攻撃は、ブラウザの脆弱性を突いてユーザーのブラウザを侵害し、ユーザーに表示されるWebコンテンツを変更したり、ユーザーになりすましたりすることができます。
  • クロスサイトスクリプティング:WebサイトやWebアプリに悪意のあるコードが挿入されます。これにより、攻撃者は、セッションクッキーやログイントークンを盗み、正当なユーザーになりすますなど、さまざまな悪意ある活動を行うことができます。

ブラウザの分離は、これらの攻撃からどのように保護するか?

ブラウザセッションを制御された環境に分離することで、ユーザーの端末や組織のネットワークから悪意のあるコンテンツやコードを排除することができます。例えば、ブラウザの分離を使用している組織内のユーザーであれば、ドライブバイダウンロード攻撃の影響を受けることはありません。ダウンロードはリモートサーバーまたはサンドボックス内で行われ、ブラウジングセッションの終了時に破棄されます。

ブラウザの分離は、Zero Trustのセキュリティアーキテクチャにどのように適合するか?

Zero Trustとは、いかなるユーザー、Webトラフィック、アプリケーション、デバイスもデフォルトでは信頼しないという情報セキュリティのアプローチです。Zero Trustのセキュリティモデルでは、ユーザーが99回安全にWebサイトを読み込めたとしても、100回目にWebサイトの安全性が損なわれている可能性があると仮定しています。ブラウザの分離は、この前提を実際に実装する1つの方法です。

Cloudflareは、同社のネットワークセキュリティ製品スタックにZero Trustアプローチを取り入れています。Cloudflareのブラウザの分離は、最適なユーザーエクスペリエンスを提供するために設計されたリモート型ブラウザ隔離サービスです。Cloudflareのブラウザの分離は、世界中の270都市に拠点を持つCloudflareネットワーク上に構築されているため、Webブラウジングセッションはユーザーの可能な限り近くで提供され、遅延を最小限に抑えることができます。さらに、Cloudflareのブラウザの分離は、画像やストリームを送信する代わりに各ウェブページの最終出力をユーザーに送信することで、レイテンシーをさらに低減します。