「サンドボックス (セキュリティ)」の版間の差分

削除された内容 追加された内容
Ptbotgourou (会話 | 投稿記録)
m ロボットによる 変更: ar:صندوق الرمل
節をいくつか追加
4行目:
実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したり[[コンピュータウイルス|ウイルス]]を動作させようとしてもシステムに影響が及ばないようになっている。
 
== 概要 ==
[[Javaアプレット]]に使われている[[Java]]のサンドボックスモデルはユーザーが[[電子署名]]を信頼することで保護された領域外にアクセスすることができる。
[[サンドボックス]]とは、公園などにある子供の遊び場である砂場のことである。
 
[[ウェブページ]]に配置された[[Javaアプレット]]や[[Adobe Flash|Flash]]、[[JavaScript]]などのプログラムは自動的に実行される。そのため、気づかないうちにコンピュータ上にあるファイルを盗み見られたり書き換えられたり、あるいは[[コンピュータウイルス]]に感染させられたりするおそれがある。
 
そこで安心してウェブサーフィンを楽しめるように提供されたのが、そういった攻撃のできない安全な砂場(サンドボックス)である。
 
== 保護の仕組み ==
わかりやすいところでは、ファイルの読み書きをできなくしたり許可なくマイクから録音できなくしたりすることで保護を実現する。また[[クロスサイトスクリプティング]]攻撃からの保護のために、他の(攻撃者のものかもしれない)サイトへの送信が禁止されたり他のサイトの情報を読み込むことが禁止されたりする。
 
このほかにも、プライバシーやシステムの安全をおびやかすことが可能になるさまざまなことが禁止されている。
 
== サンドボックスへの不満 ==
サンドボックスによる保護は利便性を損ねるものであり、事態を正確に認識できていない者からは不満の声もある。しかしながら、それを許すことはすなわち攻撃者にも利便性を与えることに留意しなければならない。
 
例えば、もしも「JavaScriptを利用するとメールアドレスを盗まれたりウィルスに感染させられたりする」ということがわかれば、ユーザーは警戒してJavaScriptを使っているウェブページを見なくなってしまう。JavaScriptを使っていると誰も見てくれなくなるので、作る側も誰もJavaScriptを使わなくなってしまう。それはJavaScriptを提供する側の望むところではない。このため、サンドボックスによる保護は強化される一方である。
 
こういった保護に不満がある場合、それを解除する方法が提供されている場合がある。例えば[[Javaアプレット]]に使われている[[Java]]のサンドボックスモデルでは、Javaアプレットに[[電子署名]]による署名をおこなうことができる。もしもユーザーがその電子署名を信頼し許可したならば、電子署名を施されたプログラムに限っては保護された領域外にアクセスすることができるようになる。
 
== サンドボックスの例 ==
サンドボックスの例として、次のようなものが挙げられる。
* [[Javaアプレット]]
* [[Java Web Start]]
* [[Adobe Flash]]
* [[JavaScript]]及びJavaScriptに基づいている[[Ajax]]
* [[VMware]]や[[Microsoft Virtual PC]]などの[[仮想機械|仮想マシン]]
* [[Extensible Application Markup Language|XAML]]ブラウザアプリケーション(XBAP)