サンドボックスとは何か?未知のマルウェアやウイルスを分析!

2017年9月7日(木) ノウハウ

<ちょい読み>
・年々増えるマルウェア・ランサムウェア対策のために開発された
・仮想環境の中で未知のマルウェアを分析するサンドボックス
・仮想環境内でプログラムを動作させるが隔離された環境のため影響はない


企業を狙う攻撃は年々増加の傾向にあり、いかに企業を脅かすかを目的とした新しい技術が次々と開発されています。
皆さんがパソコンに導入しているエンドポイントセキュリティサービスは、既知のマルウェアやランサムウェアに対するシグネチャを利用して防御しています。
ですが、全く新しい技術を使われた場合はどうでしょうか?
既知のマルウェアに対して組み込まれたシグネチャでは、新しいマルウェアはすり抜けてしまいます。

サンドボックスとは

サンドボックスとは、子供が遊びで使う砂場を意味します。システムから隔離された仮想環境(サンドボックス)を構築することで、その中で怪しいと判断されたファイルを隔離します。
隔離したプログラムを動作させ、不正な挙動や外部への送信がないかといったことを事前にチェックし、問題ないと判断したプログラムについては通信を許可し、問題ありと判断したプログラムについては駆除するというものです。

このようにして、万一ウイルスのような不正なプログラムが外部から持ち込まれても、システムに影響が及ばないようにします。

サンドボックスの仕組み

電子メールシステムと連携して動作する例について紹介します。

インターネットからメールに添付される形でファイルが持ち込まれると、そのファイルをサンドボックスの環境で検証します。その後、検証結果をメールシステムへフィードバックします。
メールシステムはその結果にもとづき、問題なしと判断されたメールをメールサーバへそのまま配信し、問題ありと判断されたメールは添付ファイルを除外した上で問題があったことを示すメールを配信します。

このようにして、無害なメールのみがメールサーバへ配信されることにより、ユーザへ有害なメールが届かないよう保護しています。

サンドボックスの一番の特徴は、問題有無の判断にパターン認識を使わないため、未知のマルウェアであっても対応できることです。
しかし、そのようなサンドボックスも、万能ではありません。
サンドボックスの問題とはどんなものでしょうか。

サンドボックスの問題

サンドボックスは予め組み込まれたパターンを認識するのではなく、検査対象のプログラムを一度動作させてみて確認するので、未知のマルウェアでも検知できることが特徴でした。

しかし、以下のようなロジックが組み込まれたマルウェアはサンドボックスを回避してしまいます。

・仮想環境上では動作せず、実マシン上でのみ動作するようになっている
・特定の時間にしか動作しないロジックが組み込まれている

また、サンドボックスは検査対象を一度動作させるという点からリアルタイム性で劣るということがあります。分析に時間がかかってしまうため、即時の対応というわけではないのです。
多くのサンドボックスでは、ファイルのコピーを用いて検査を行なっているため、検査を行なっている間に、実ファイルが到達してしまうという場合もあります。

サンドボックスだけでは万全ではない

サンドボックスを回避するマルウェアが存在するように、サンドボックスは万能ではないことがわかりますね。
サンドボックスだけでなく、複数のセキュティ製品を組み合わせる必要があります。
また、セキュティ製品にだけ頼るのではなく、怪しいメールは開かないといったユーザのセキュリティ意識を向上させるといった、人的な面でも対策をする必要もあります。

Writer:SecurityTIMES編集部