「サンドボックス (セキュリティ)」の版間の差分
→Wikiのサンドボックス: 自己言及を取る。サンドボックス 2010年2月20日 (土) 03:25 utc |
m ロボットによる 追加: zh:沙盒 (計算機安全) |
||
55行目: | 55行目: | ||
[[ru:Песочница (безопасность)]] |
[[ru:Песочница (безопасность)]] |
||
[[scn:Cascia di rina (sicurizza 'nfurmatica)]] |
[[scn:Cascia di rina (sicurizza 'nfurmatica)]] |
||
[[zh:沙盒 (計算機安全)]] |
2010年8月6日 (金) 20:28時点における版
サンドボックス(sandbox)とは、外部から受け取ったプログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐセキュリティモデルのこと。
実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させようとしてもシステムに影響が及ばないようになっている。
概要
本来、サンドボックスとは、公園などにある子供の遊び場である砂場のことである。
ウェブページに配置されたJavaアプレットやFlash、JavaScriptなどのプログラムは自動的に実行される。そのため、気づかないうちにコンピュータ上にあるファイルを盗み見られたり書き換えられたり、あるいはコンピュータウイルスに感染させられたりするおそれがある。
そこで安心してウェブサーフィンを楽しめるように提供されたのが、そういった攻撃のできない安全な砂場(サンドボックス)である。
保護の仕組み
わかりやすいところでは、ファイルの読み書きをできなくしたり許可なくマイクから録音できなくしたりすることで保護を実現する。またクロスサイトスクリプティング攻撃からの保護のために、他の(攻撃者のものかもしれない)サイトへの送信が禁止されたり他のサイトの情報を読み込むことが禁止されたりする。
このほかにも、プライバシーやシステムの安全をおびやかすことが可能になるさまざまなことが禁止されている。
サンドボックスへの不満
サンドボックスによる保護は利便性を損ねるものであり、事態を正確に認識できていない者からは不満の声もある。しかしながら、それを許すことはすなわち攻撃者にも利便性を与えることに留意しなければならない。
例えば、もしも「JavaScriptを利用するとメールアドレスを盗まれたりウィルスに感染させられたりする」ということがわかれば、ユーザーは警戒してJavaScriptを使っているウェブページを見なくなってしまう。JavaScriptを使っていると誰も見てくれなくなるので、作る側も誰もJavaScriptを使わなくなってしまう。それはJavaScriptを提供する側の望むところではない。このため、サンドボックスによる保護は強化される一方である。
こういった保護に不満がある場合、それを解除する方法が提供されている場合がある。例えばJavaアプレットに使われているJavaのサンドボックスモデルでは、Javaアプレットに電子署名による署名をおこなうことができる。もしもユーザーがその電子署名を信頼し許可したならば、電子署名を施されたプログラムに限っては保護された領域外にアクセスすることができるようになる。
サンドボックスの例
サンドボックスの例として、次のようなものが挙げられる。
- Sandboxie
- Javaアプレット
- Java Web Start
- Adobe Flash
- JavaScript及びJavaScriptに基づいているAjax
- VMwareやMicrosoft Virtual PCなどの仮想マシン
- XAMLブラウザアプリケーション(XBAP)
- Google Chrome
その他のサンドボックス
ソフトウェア開発において、バージョン管理システムを利用して構築される特定のバージョンのソフトウェアテスト環境を言う。
また、ウィキで編集のテストを行うページをサンドボックスと呼ぶ。