サンドボックス

読み:さんどぼっくす / 英語表記:sandbox

外部の環境から隔離された仮想的な実行環境。疑わしいファイルを中で実際に動かし、その振る舞いを観察・分析して、マルウェアかどうかを判断するのに使う。

イマシルちゃんの解説

サンドボックスは「砂場」っていう意味なんだ。
砂場の中なら、どんなに砂を散らかしても、外の公園は汚れないよね。

怪しいファイルを、この砂場(隔離された環境)の中で、わざと開いてみるんだ。
もしファイルが「勝手に外と通信しようとする」「ほかのファイルを書き換えようとする」みたいな悪いことをしたら、
「こいつはマルウェアだ!」ってわかる。本物のパソコンは安全なままなんだよ!

より深い解説

定義

サンドボックスは、プログラムを、本来の環境(端末やネットワーク)から隔離された制限付きの環境で実行させる仕組みである。マルウェア対策では、メールの添付ファイルやダウンロードしたファイルを、仮想マシンなどのサンドボックスで実行し、その振る舞い(動的解析)から悪意の有無を判断する。

観察する振る舞いの例

振る舞い疑われる内容
外部のサーバと通信するC&Cサーバへの接続(遠隔操作)、追加のマルウェアのダウンロード
ファイルを大量に暗号化するランサムウェア
OSの起動時に自動で実行されるよう登録する常駐しようとするマルウェア
ほかのプロセスにコードを注入する正規のプログラムへのなりすまし
認証情報を読み取る情報窃取型のマルウェア

遠隔操作が可能なマルウェアを実行すると、攻撃者の指令サーバ(C&Cサーバ)へ接続しようとする通信が観察される。

パターンマッチングとの比較

パターンマッチング(静的)サンドボックス(動的)
判断の材料ファイルの中の既知のパターン実際に動かしたときの振る舞い
未知のマルウェア検出できない検出できる可能性がある
時間速い実行して観察する時間がかかる

サンドボックスを回避する手口

手口内容
環境の検知仮想マシンや解析ツールの痕跡を見つけると、おとなしくして正体を隠す
時間稼ぎ実行してからしばらく何もしない(観察時間が終わるのを待つ)
利用者の操作を待つマウスの操作などがあるまで動かない

このため、サンドボックスは、パターンマッチング、レピュテーション、EDRなどの、ほかの対策と組み合わせて使う。

ほかの意味のサンドボックス

ブラウザやスマートフォンのOSでも、アプリケーションやWebページのスクリプトを、ほかのアプリやOSの重要な部分から隔離して動かす仕組みを、サンドボックスと呼ぶ。脆弱性を突かれても、被害を隔離された範囲にとどめるためのものである。

実際の試験ではここに出る!

この用語が出てくる記事

↑