ネットワークセキュリティの分野では、パターンファイルなしでマルウェアを検出できる「サンドボックス」に注目が集まっ ている。一定の限界はあるものの、標的型攻撃への対策としても十分に期待ができる。 サンドボックスとは、幼稚園の園庭や児童公園にある「砂場」のこと。外部の実世界から切り離されていて、いろいろなものを自由に作ることができる場所、という意味合いから、ITの世界ではソフトウェアをテストするための環境をサンドボックスと呼ぶこともある。 例えば、実際の機械を制御するための組み込み系ソフトウェアの場合、作ったばかりのものをいきなり実機で試すと機械が破損してしまったり人間が怪我をしたりする恐れがある。そこで、初期のテストは他に被害を及ぼすことがないサンドボックス環境で行い、ある程度見極めがついた段階で実機でのテストに切り替える、という二段構えにするのが普通だ。 ネットワークセキュリティの分野でもサンドボックスは広く使われている。 というのも、インターネットから入手したファイルにはウイルスやワームなどのマルウェアが含まれていることがあるからだ。そのようなファイルをいきなり開いたり実行したりすると、PCやサーバーがマルウェアに感染してしまう可能性は大。そのマルウェアが標的型攻撃用に作られたものの場合は、社内ネットワーク全体が乗っ取られてしまうことも考えられる。 そうしたマルウェアを検出するために以前から使われてきたのが、マルウェアファイルの特定の位置に存在するビットパターンを記録した「パターンファイル」である。 パターンファイルで検出する方式は効率の高さとコストの低さでは優れているが、マルウェアが出現してからパターンファイルの配布が始まるまでのウィンドーピリオド(空白期間)が存在するという弱点があることも確か。マルウェアの側も、配布が始まったパターンファイル内に自分のビットパターンがあるかどうかを調べて、存在する場合はデータの一部を変えた「亜種」を作って対抗することが多い。 一方、インターネットから入手したファイルをサンドボックスの中で開いたり実行したりして何が起きるかを調べる方式なら、パターンファイルは要らない。出現したばかりのマルウェアや、特定の企業・団体を狙い撃ちしているためにセキュリティ対策ツールベンダーの“探知網”にひっかからないものであっても、サンドボックスを使えば原理的には検出できるのである。 このような背景から、サンドボックスをなんらかのかたちで組み込んでいるセキュリティ対策ツールは多い。パターンファイルを使わずに動作監視だけでマルウェアを見つけ出す方式として以前から使われてきた「振る舞い検知」も、広い意味ではサンドボックスの一種。最近は、サンドボックスをコンピューター仮想化技術によって実現したセキュリティ対策のソフトウェアツールやアプライアンスサーバーも増えてきた。 ただし、サンドボックスを使ったマルウェア検出には限界もある。 そもそも、すべてのマルウェアがおかしな振る舞いを見せるとは限らないし、「おかしい」「おかしくない」の判定は所定の基準に基づいて機械的に下すしかないので検出漏れは当然に発生する。ビットパターンとの一致が“確定証拠”だとすれば、サンドボックスで得られるのは“状況証拠”なのである。 また、標的型攻撃に使われるマルウェアは、侵入・感染時はおかしな振る舞いをせず、攻撃者のサーバー(C&Cサーバー)からの指示があってはじめて凶暴化するものも多い。このような“時間差攻撃”の場合も、サンドボックスだけで検出するのはきわめて難しい。 結局のところ、現状で言えるのは、サンドボックスはセキュリティ強化に大きく貢献するが、既存の他のセキュリティ対策も引き続き使うべきであるということ。複数の方式で情報システムを守るという多層防御の考え方は、いぜん重要なのである。