サンドボックスは、プログラムを分離する重要なセキュリティ技術であり、悪意のあるプログラムや誤動作しているプログラムがコンピュータの他の部分に損傷を与えたり、詮索したりするのを防ぎます。使用するソフトウェアは、毎日実行するコードの多くをすでにサンドボックス化しています。
独自のサンドボックスを作成して、システムの他の部分に損傷を与えることができない保護された環境でソフトウェアをテストまたは分析することもできます。
サンドボックスがセキュリティに不可欠である方法
サンドボックスは、プログラムを実行できる厳密に制御された環境です。サンドボックスは、コードの一部が実行できることを制限し、悪用される可能性のある追加のアクセス許可を追加することなく、必要な数のアクセス許可をコードに与えます。
たとえば、Webブラウザは基本的に、サンドボックスでアクセスしたWebページを実行します。ブラウザでの実行と限られたリソースへのアクセスに制限されています。許可なくウェブカメラを表示したり、コンピュータのローカルファイルを読み取ったりすることはできません。アクセスするWebサイトがサンドボックス化されておらず、システムの他の部分から分離されていない場合、悪意のあるWebサイトにアクセスすることは、ウイルスをインストールすることと同じくらい悪いことです。
コンピューター上の他のプログラムもサンドボックス化されます。たとえば、GoogleChromeとInternetExplorerはどちらもサンドボックス内で実行されます。これらのブラウザはコンピュータ上で実行されるプログラムですが、コンピュータ全体にアクセスすることはできません。これらは低許可モードで実行されます。 Webページがセキュリティの脆弱性を発見し、ブラウザを制御できたとしても、実際の損害を与えるには、ブラウザのサンドボックスから脱出する必要があります。より少ない権限でWebブラウザーを実行することにより、セキュリティが確保されます。悲しいことに、 MozillaFirefoxはまだサンドボックスで実行されません 。
すでにサンドボックス化されているもの
デバイスが毎日実行するコードの多くは、保護のためにすでにサンドボックス化されています。
- ウェブページ :ブラウザは基本的に、ロードするWebページをサンドボックス化します。 WebページはJavaScriptコードを実行できますが、このコードは必要なことを何も実行できません。JavaScriptコードがコンピューター上のローカルファイルにアクセスしようとすると、リクエストは失敗します。
- ブラウザプラグインコンテンツ :AdobeFlashやMicrosoftSilverlightなどのブラウザープラグインによって読み込まれたコンテンツも、サンドボックスで実行されます。 Flashはゲームをシステムの他の部分から分離し、実行できることを制限するため、WebページでFlashゲームをプレイする方が、ゲームをダウンロードして標準プログラムとして実行するよりも安全です。ブラウザプラグイン、 特にJava は、セキュリティの脆弱性を使用してこのサンドボックスを回避し、損害を与える攻撃の頻繁な標的です。
- PDFおよびその他のドキュメント :Adobe ReaderはサンドボックスでPDFファイルを実行するようになり、PDFビューアから逃げたり、コンピュータの他の部分を改ざんしたりするのを防ぎます。 Microsoft Officeには、安全でないマクロがシステムに害を及ぼすのを防ぐためのサンドボックスモードもあります。
- ブラウザおよびその他の潜在的に脆弱なアプリケーション :Webブラウザーは、低許可のサンドボックスモードで実行され、侵害された場合に大きな損害を与えないようにします。
- モバイルアプリ :モバイルプラットフォームは、サンドボックスでアプリを実行します。 iOS、Android、およびWindows 8のアプリは、標準のデスクトップアプリケーションで実行できる多くのことを実行できません。彼らがあなたの場所にアクセスするような何かをしたい場合、彼らは許可を宣言しなければなりません。その見返りとして、ある程度のセキュリティが確保されます。サンドボックスはアプリを相互に分離するため、相互に改ざんすることはできません。
- Windowsプログラム : ユーザーアカウント制御 サンドボックスのビットとして機能し、基本的に、Windowsデスクトップアプリケーションが最初に許可を求めずにシステムファイルを変更することを制限します。これはごくわずかな保護であることに注意してください。たとえば、Windowsデスクトッププログラムは、バックグラウンドに座ってすべてのキーストロークをログに記録することを選択できます。ユーザーアカウント制御は、システムファイルとシステム全体の設定へのアクセスを制限するだけです。
プログラムをサンドボックス化する方法
デスクトッププログラムは通常、デフォルトではサンドボックス化されていません。もちろん、UACはありますが、前述したように、これは非常に最小限のサンドボックス化です。プログラムをテストして、システムの他の部分に干渉することなく実行したい場合は、サンドボックスで任意のプログラムを実行できます。
- 仮想マシン :のような仮想マシンプログラム VirtualBox または VMware オペレーティングシステムの実行に使用する仮想ハードウェアデバイスを作成します。他のオペレーティングシステムは、デスクトップのウィンドウで実行されます。このオペレーティングシステム全体は、仮想マシンの外部にアクセスできないため、基本的にサンドボックス化されています。仮想化されたオペレーティングシステムにソフトウェアをインストールし、そのソフトウェアを標準のコンピューターで実行されているかのように実行できます。これにより、たとえばマルウェアをインストールして分析したり、プログラムをインストールして問題がないかどうかを確認したりできます。仮想マシンプログラムにはスナップショット機能も含まれているため、 ゲストオペレーティングシステムを「ロールバック」する 悪いソフトウェアをインストールする前の状態に。
- サンドボクシー : サンドボクシー は、Windowsアプリケーション用のサンドボックスを作成するWindowsプログラムです。プログラム用に分離された仮想環境を作成し、プログラムがコンピューターに永続的な変更を加えるのを防ぎます。これは、ソフトウェアのテストに役立ちます。私たちに相談してください Sandboxieの紹介 詳細については。
サンドボックスは、平均的なユーザーが心配する必要のあるものではありません。使用するプログラムは、安全を確保するためにバックグラウンドでサンドボックス作業を行います。ただし、サンドボックス化されているものとされていないものを覚えておく必要があります。そのため、プログラムを実行するよりもWebサイトをロードする方が安全です。
ただし、通常はサンドボックス化されない標準のデスクトッププログラムをサンドボックス化する場合は、上記のツールのいずれかを使用して行うことができます。