サンドボックス (セキュリティ)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

サンドボックスsandbox)とは、外部から受け取ったプログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐセキュリティモデルのこと。

実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させようとしてもシステムに影響が及ばないようになっている。

ウェブページに配置されたJavaアプレットFlashJavaScriptなどのプログラムは自動的に実行される。そのため、気づかないうちにコンピュータ上にあるファイルを盗み見られたり書き換えられたり、あるいはコンピュータウイルスに感染させられたりするおそれがある。そこで安心してウェブサーフィンを楽しめるように提供されたのが、そういった攻撃のできない安全な「砂場」(サンドボックス)である。

保護の仕組み[編集]

わかりやすいところでは、ファイルの読み書きをできなくしたり許可なくマイクから録音できなくしたりすることで保護を実現する。またクロスサイトスクリプティング攻撃からの保護のために、他の(攻撃者のものかもしれない)サイトへの送信が禁止されたり他のサイトの情報を読み込むことが禁止されたりする。

このほかにも、プライバシーやシステムの安全をおびやかすことが可能になるさまざまなことが禁止されている。

サンドボックスへの不満[編集]

サンドボックスによる保護は利便性を損ねるものであり、事態を正確に認識できていない者からは不満の声もある。しかしながら、それを許すことはすなわち攻撃者にも利便性を与えることに留意しなければならない。

例えば、もしも「JavaScriptを利用するとメールアドレスを盗まれたりウィルスに感染させられたりする」ということがわかれば、ユーザーは警戒してJavaScriptを使っているウェブページを見なくなってしまう。JavaScriptを使っていると誰も見てくれなくなるので、作る側も誰もJavaScriptを使わなくなってしまう。それはJavaScriptを提供する側の望むところではない。このため、サンドボックスによる保護は強化される一方である。

こういった保護に不満がある場合、それを解除する方法が提供されている場合がある。例えばJavaアプレットに使われているJavaのサンドボックスモデルでは、Javaアプレットに電子署名による署名をおこなうことができる。もしもユーザーがその電子署名を信頼し許可したならば、電子署名を施されたプログラムに限っては保護された領域外にアクセスすることができるようになる。

サンドボックスの例[編集]

サンドボックスの例として、次のようなものが挙げられる。

その他のサンドボックス[編集]

ソフトウェア開発において、バージョン管理システムを利用して構築される特定のバージョンのソフトウェアテスト環境を言う。

また、ウィキで編集のテストを行うページをサンドボックスと呼ぶ。