情報セキュリティマネジメント試験 用語辞典
- 分野:
- セキュリティ実装技術 » アプリケーションセキュリティ
(シラバス範囲外) - 重要度:
(Wikipedia サンドボックス (セキュリティ)より)
サンドボックス(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
その他のサンドボックス
ソフトウェア開発において、バージョン管理システムを利用して構築される特定のバージョンのソフトウェアテスト環境を言う。
また、ウィキで編集のテストを行うページをサンドボックスと呼ぶ。
出題例
- DNSサーバのキャッシュを不正に書き換えて,インターネットバンキングに見せかけた偽サイトをWebブラウザに表示させる。
- PCに侵入したマルウェアが,利用者のインターネットバンキングへのログインを検知して,Webブラウザから送信される振込先などのデータを改ざんする。
- インターネットバンキングから送信されたように見せかけた電子メールに偽サイトのURLを記載しておき,その偽サイトに接続させて,Webブラウザから口座番号やクレジットカード番号を入力させることで情報を盗み出す。
- インターネットバンキングの正規サイトに見せかけた中継サイトに接続させ,Webブラウザから入力された利用者IDとパスワードを正規サイトに転送し,利用者になりすましてログインする。
正解
このページのWikipediaよりの記事は、ウィキペディアの「サンドボックス (セキュリティ)」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。