未知のマルウェアのサンドボックス分析回避行動
未知のマルウェアを検知するために各セキュリティベンダーは仮想マシン上で実際に疑わしいファイルを動作させてその挙動によりマルウェアかどうかを判定する仕組みを持ち始めています。これがサンドボックスでのマルウェア解析です。「分析の回避」とは、このサンドボックスによる解析を回避するための行動です。

サンドボックス上で分析を回避する行動
「分析の回避」についてくわしく見てみましょう。約57%と最も多くみられたのが「長期潜伏」です。サンドボックス上で、しばらくじっとしてから行動を始めることでサンドボックス上での検知を逃れるというものです。
次は約20%の「自身を削除」です。マルウェアである自分自身を削除することにより発見されにくくします。自分自身を削除すると何もできなくなってしまうのではないかと思われるかもしれませんが、そこで次に多かった「コードインジェクション」が関係してきます。
これはすでに動いているホスト(クライアントPCやサーバ)上でのプロセス(動作中のプログラムの一部)に悪意のあるコードを書き加えることで、マルウェア自身や悪意のある行動を発見されにくくするテクニックです。他にもマスターブートレコード(起動ディスクの最初に読み込まれる領域)に感染するなど、自身を削除しても活動し続けるための行動も今回の調査で確認されました。
これらの行動に対応するには「長期潜伏」による回避を試みるマルウェアを発見し、「自身を削除」や「コードインジェクション」といった回避行動を検知できるサンドボックスが必要です。
コードインジェクションの行動を見つけるためには、一般的な他のアプリケーション(プロセス)をサンドボックス上で動作させておくことも重要です。この辺りはエンドユーザーでカスタマイズできない部分なのでサンドボックスによるマルウェア検知システムを導入する際、こうした回避行動に対する対応がなされているか確認することをお勧めします。
0.09%のマルウェアは外部と通信できるかどうかを確認し、外部とつながっていなければサンドボックスである可能性が高いと判断し活動を停止させるという回避行動をとることが分かりました。
このマルウェアを検知するにはインターネット接続されたサンドボックスの方が確実に検知できます。外部接続をエミュレートし、本当はインターネットに接続していないのに接続しているように見せかけるサンドボックスもありますが、エミュレーションを見破られるとマルウェアは活動を止めてしまうため、マルウェアを見逃す可能性が高くなります。
これらの回避行動テクニックは、すでに多くのセキュリティベンダーによって対応済みとなっているため、今後もマルウェアは今までにない回避テクニックの開発を試みるはずです。サンドボックスがクラウドベースの場合はセキュリティベンダー側でアップデートするためエンドユーザーの作業はありませんが、サンドボックスがアプライアンス(オンプレミス)ベースの場合、新しい手法に対応するためアップデート作業が必要になる場合があります。