サンドボックスとは何か?リスクを抑えてセキュリティをチェックするための手法

2020年12月28日

サンドボックスの概要

サンドボックスとは、直訳すると「砂場」「砂箱」という意味になります。「砂場」や「砂箱」が砂が飛び散らないように隔離された環境であるのと同じように、コンピューター上に仮想空間を設けて外部から隔離された領域でプログラムを実行し、問題が発生した場合でも他のプログラムに影響を及ぼさないようにする仕組みのことです。

サンドボックスでプログラムを実行すると、コンピュータウイルスなどの悪意のあるプログラムであったとしても、サンドボックスの外側にあるプログラムには影響を与えない環境でその振る舞いを確認することができます。
同じデバイス内であったとしても、サンドボックスは隔離された領域であることからセキュリティとしての有効性があり、隔離された領域内で実行されたプログラムの動作を観察することで未知のウイルスであるということを判定することも可能です。

サンドボックスの必要性

サンドボックスは標的型攻撃に対して有効性を発揮すると言われています。
標的型攻撃とは特定の組織や個人を対象に行われる攻撃のことで機密情報などの明確な目的を持って攻撃を行います。
近年ではその手法も巧妙化しており、既知のプログラムとの比較を行う従来のパターンマッチング方式では検出が難しい場合もあります。
しかし、サンドボックスでは、隔離された領域内で実際に悪意のあるプログラムを実行するため検知できる可能性が高くなります。
利用用途としても、WebブラウザーではJavaScriptなどの未知のプログラムを隔離した領域で実行することでウイルスの検知を行い、Adobe Flashのようなプラグインでもサンドボックスが端末でのファイル読み書きなどを制限しています。
また、私たちに身近なiOSやAndroidといったモバイル端末でもアプリをサンドボックス内で実行する仕組みが取り入れられています。アプリをダウンロードした際、サードパーティが開発したアプリは不具合が含まれている可能性もありセキュリティリスクが懸念されますが、サンドボックス内で実行することで他機能への影響を防いでいます。

サンドボックスの注意点

隔離された領域にて動作を確認することができるサンドボックスですが、近年ではマルウェアも進化をしており、サンドボックスの中ではその挙動を止めるマルウェアも出てきています。サンドボックス内で動作しないと、問題のあるプログラムかどうかの判断は行えないため過信しないようにしましょう。セキュリティリスクを考慮し、普段からウイルスに感染しないように心掛けることが大切です。

参考