サンドボックスとは?~隔離環境での挙動確認~
サンドボックスは、エンドポイントに届いた怪しいファイルを、仮想環境で実行して危険性を判断する機能です。仮想化されたパソコン環境で実行するため、たとえ危険なファイルであったとしても、実環境に影響が及びません。しかし、サイバー攻撃者もサンドボックスを回避する手法を編み出しており、“イタチごっこ”が続いています。今回は、サンドボックスの有効性について取り上げます。
秒単位でマルウェアが作成される時代
セキュリティの世界では、危険なものを検出するためにシグネチャ方式が長く使われていました。シグネチャとはパターンファイルとも呼ばれ、例えばマルウェアであれば、メールの添付ファイルやメールの本文に記載されているリンクをクリックしてダウンロードされるファイルに対し、その名称やファイルに含まれているコードなどが、既知のマルウェアと共通していないかを調べるためのリストのようなものです。
つまり、シグネチャは犯人の人相が描かれた指名手配書のようなもので、その内容と全く一致していないと検出できません。それでも、パソコンが普及し始めた当時は有効な検出方法でした。しかし、サイバー攻撃者はマルウェアの亜種を作成することで、シグネチャによる検出を回避しようとします。亜種とはオリジナルに少しだけ変更を加えることでシグネチャと一致しないようにしたものです。
その後、マルウェアが大量発生する時代を迎えます。亜種が大量に発生したことに加え、サイバー攻撃者側の技術の進化、そしてアンダーグラウンドの市場でマルウェア作成サービスが展開されたことにより、秒単位でマルウェアが作成されるようになりました。そのためシグネチャファイルの量も膨大になり、ウイルス対策ソフトのアップデートに時間がかかるようになりました。
企業では、始業時に従業員が一斉にパソコンを立ち上げ、一斉にシグネチャのアップデートを行うことでネットワークの帯域が圧迫され、通信障害が発生する「午前9時問題」も深刻になりました。現在では、シグネチャの大半をクラウドに置き、パソコンには最新のものや重要なものだけをダウンロードするなどの工夫がなされています。
安全な場所でファイルを実行するサンドボックス
マルウェアが無害なファイルを装うケースも増えています。一見しただけでは問題のないファイルに見えますが、実行させると悪意のある動作をするタイプです。こうしたファイルは、警戒されやすい「.exe」などの実行ファイルではなく、アプリケーションファイルを悪用します。具体的には、マイクロソフトのOfficeで使用される「.doc」「.xls」などや、アドビの「.pdf」などが使われます。
例えば、アドビのPDFファイル閲覧ソフトAdobe Readerの脆弱性を悪用して、ファイルを開いたとき問題なく中身は表示されるが、その裏で脆弱性を悪用して不正なファイルをダウンロードするようなマルウェアもあります。実行してみないとマルウェアかどうかを判別できない“グレーゾーン”のファイルもあるのです。とはいえ、業務で使っている実環境で実行してしまうと、マルウェアだった場合は取り返しがつきません。
グレーゾーンのファイルを判別するために、セキュリティ対策ベンダーはさまざまな機能を追加しています。例えば、ファイルのコードをチェックして、そのプログラム上の動作から危険なものを検出する「振る舞い検知」、実際の感染報告を基にして似た特徴によって検出する「レピュテーション」などの手法があり、検知するためのプログラムも各社で工夫しています。最近ではAIもフルに活用されています。
そこで登場したのが、サンドボックスという機能です。サンドボックスとは「砂場」の意味で、子供が安心して遊べる場所のことを指します。セキュリティ対策においては、実環境とは隔離された場所でグレーゾーンのファイルを試すこと意味します。具体的には、仮想環境上に構築されたパソコンで実行します。これによりファイルの挙動を観察し、不審な動きがないかを確認するわけです。
不審な動きがあった場合には、その動作内容やファイルの特徴を記録し、シグネチャに追加していくことで、グレーゾーンのファイルを減らしていくことができます。また、仮想環境なので、たとえマルウェアが動作しても実環境にあるパソコンには影響が及びません。
進化するサンドボックス、NDRとしての対策も
サンドボックスがあればグレーゾーン問題を解決できると考えがちですが、サイバー攻撃者も対抗策を次々に出しています。例えば、マルウェア自身が仮想環境上にあるかどうかを判断し、仮想環境の場合は自らを一定時間スリープ(休眠)させて検出をやり過ごす機能を追加しています。また、マルウェアを分割して送るといったサンドボックス回避手法も確認されており、ここでもイタチごっこが始まっています。
また、サンドボックスはファイルを実行してその振る舞いを確認する作業に時間がかかることも問題となっています。これは、例えばさまざまなWindowsのバージョンの仮想環境を構築し、それぞれで検証を実施するといった必要があるためです。検証が終わったら、環境を再構築しなければなりません。サンドボックスに送られるファイルが増えてくると、検証し結果が出るまでの時間はどんどん長くなってしまいます。
サンドボックスには、グレーゾーンと判定されたファイルのコピーを送ります。言い換えると、グレーゾーンのファイルはエンドポイントのパソコンに届いているわけで、サンドボックスでファイルの検証が終わる前にユーザーがファイルを開いてしまう可能性もあります。
こうした状況から、「次世代サンドボックス」ともいえる機能を搭載したソリューションも登場しています。仮想環境を検出するようなマルウェアに対して、ハイパーバイザーをベースとした仮想環境と、ハードウェアを含むフルシステムをエミュレーションした仮想環境を用意し、それぞれで検証を行うサンドボックスもあります。例えばVMware社では、VMware NSXシリーズの「VMware NSX Advanced Threat Prevention」で機械学習を活用したサンドボックスを提供しています。
また、シグネチャやレピュテーション、振る舞い分析を強化してサンドボックスに送るファイルを厳選し、さらにサンドボックスでの検証を実施した上で“サイバーキルチェーン”や“MITRE ATT&CK”などのセキュリティ対策フレームワークに照らして確認し、ファイルのより深い分析を行うといった、NDR(Network Detection and Response)の観点でマルウェアから保護する手法も登場しています。相関分析や幅広いインテリジェンスを活用することで、サイバー攻撃を未然に防ぎ、早期に検知することで攻撃者の動きを止めることができます。