サンドボックス
プログラムを周囲から隔離された制限付きの環境で実行し、ほかのシステムやデータへの影響を抑える仕組み。マルウェア対策では、疑わしいファイルを実際に動かして振る舞いを調べるために使う。
イマシルちゃんの解説
サンドボックスは、プログラムが使える資源や操作を制限して、周りへの影響を抑える実行環境だよ。
怪しいファイルを仕事用の環境でそのまま開くのは危険だから、別に用意した環境で動かして調べるんだ。
通信先やファイルの変更などを観察すれば、見た目だけでは気付けない不審な動きを探せるよ。
こうして実際の動作から調べる方法を動的解析というんだ。
ただし、解析中だと気付いて悪い動きを隠すものもあるから、何も起きなかっただけで安全とは言い切れないの。
調べる環境から外へ影響が広がらないよう、通信や共有ファイルの設定にも気を付ける必要があるよ。
この解説はわかりやすかったですか?
より深い解説
定義
サンドボックスは、プログラムを、本来の環境(端末やネットワーク)から隔離された制限付きの環境で実行させる仕組みである。マルウェア対策では、メールの添付ファイルやダウンロードしたファイルを、仮想マシンなどのサンドボックスで実行し、その振る舞い(動的解析)から悪意の有無を判断する。
観察する振る舞いの例
| 振る舞い | 疑われる内容 |
|---|---|
| 外部のサーバと通信する | C&Cサーバへの接続(遠隔操作)、追加のマルウェアのダウンロード |
| ファイルを大量に暗号化する | ランサムウェア |
| OSの起動時に自動で実行されるよう登録する | 常駐しようとするマルウェア |
| ほかのプロセスにコードを注入する | 正規のプログラムへのなりすまし |
| 認証情報を読み取る | 情報窃取型のマルウェア |
遠隔操作が可能なマルウェアを実行すると、攻撃者の指令サーバ(C&Cサーバ)へ接続しようとする通信が観察される。
パターンマッチングとの比較
| パターンマッチング(静的) | サンドボックス(動的) | |
|---|---|---|
| 判断の材料 | ファイルの中の既知のパターン | 実際に動かしたときの振る舞い |
| 未知のマルウェア | 検出できない | 検出できる可能性がある |
| 時間 | 速い | 実行して観察する時間がかかる |
サンドボックスを回避する手口
| 手口 | 内容 |
|---|---|
| 環境の検知 | 仮想マシンや解析ツールの痕跡を見つけると、おとなしくして正体を隠す |
| 時間稼ぎ | 実行してからしばらく何もしない(観察時間が終わるのを待つ) |
| 利用者の操作を待つ | マウスの操作などがあるまで動かない |
このため、サンドボックスは、パターンマッチング、レピュテーション、EDRなどの、ほかの対策と組み合わせて使う。
ほかの意味のサンドボックス
ブラウザやスマートフォンのOSでも、アプリケーションやWebページのスクリプトを、ほかのアプリやOSの重要な部分から隔離して動かす仕組みを、サンドボックスと呼ぶ。脆弱性を突かれても、被害を隔離された範囲にとどめるためのものである。
実際の試験ではここに出る!全1問
ネットワークスペシャリスト
- 午後Ⅰ