サンドボックスという言葉をご存知でしょうか。セキュリティ業界では重要なキーワードでもあり、iPhoneなどのApple製品にも取り入れられている技術ですので、言葉くらいは聞いたことがあるかもしれません。
しかし、サンドボックスがセキュリティを高めるためのものであることを知っていても、詳細な仕組みやメリットまで知っている人は少ないのではないでしょうか。セキュリティ対策ソフトでは古くから使われているだけでなく、最近話題の標的型攻撃への対策方法として技術として注目を浴びています。
今回はサンドボックスについて、その仕組みや、シグネチャ型との違い、そしてメリットとデメリットについて紹介します。
この記事の目次
サンドボックスとは
サンドボックスとは、コンピューター上に設けられた仮想の隔離空間です。外部から新たに受け取ったファイルをサンドボックス内で実行し、安全であるか確認します。仮に悪意のあるプログラムが実行されても、通常領域から隔離されているためコンピューターに影響は出ない仕組みです。
安全な仮想環境「砂場」サンドボックスの仕組み
サンドボックスの目的は、検査したいプログラムがある時、コンピューター上で安全な仮想環境を設けて、その中でプログラムを動作させて分析することです。サンドボックス内は安全なので、もし実行されたプログラムが悪意のあるものだったとしても、コンピューターの安全は保たれるというわけです。
サンドボックスで実行されたプログラムは隔離された環境内で実行され、詳細に分析されます。
例えばメールに記載されていたURLへのアクセスや、添付ファイルの実行をサンドボックス内で行うとします。もしそれらが悪意のあるプログラムであった場合、システムのファイルを変更しようとしたり、外部と怪しい通信を試みたりすることがあります。サンドボックス内で実行されたプログラムが、そのような不審な活動をしていると検知できたとき、セキュリティ対策ソフトは、そのプログラムに悪意があると判断するのです。
シグネチャ型との違い
サンドボックスが登場する前は、悪意のあるファイルであるかどうかの判定に「シグネチャ」と呼ばれる仕組みを使ってマルウェアの検出されることが一般的でした。
シグネチャとは、悪意のあるファイル特有の攻撃パターンをデータベース化し、検査対象のファイルと攻撃パターンが一致するかどうか調査する方法です。
シグネチャは現在でもマルウェアの検出手段として使われています。しかしシグネチャ型で検出できるのは、既存のマルウェアの攻撃パターンと一致するものだけです。つまり未知のマルウェアに対しては、シグネチャを使った検出方法は無力です。
セキュリティ対策ソフトがそうであるように、マルウェアも日々進化しています。全くの新しいマルウェアや、既存のマルウェアを変更したものに対しても、できるだけ正確にマルウェアと判断するため、サンドボックスが使われるようになったのです。
サンドボックスのメリット
マルウェアの検出方法として、サンドボックスは大きく2つのメリットがあります。
1. 標的型攻撃対策として有効
サンドボックスが有効に機能する例として、標的型攻撃の検出があげられます。標的型攻撃とは、無差別にマルウェアを送信するのではなく、特定の企業や個人などを標的として、侵入を試みたり、マルウェアに感染させたりしようとする攻撃です。
特定の攻撃対象を持つ標的型攻撃では、攻撃者は様々な手段を使って、ターゲットに対して侵入やマルウェアを感染させようとします。その際、防御する側の対策として、パターンマッチングやシグネチャ型のセキュリティ対策ソフトだけでは、未知のマルウェアの感染から防げない可能性があります。
そこでサンドボックスのような仮想環境を構築し、その中でメールに含まれているリンクにアクセスしたり、不審なプログラムを実行したりすることで、コンピューターの安全性を維持したまま、検査できるのです。
2. 未知の不正プログラムに有効
未知の不正プログラムの検出に対してもサンドボックスは有効に機能します。
悪意のあるプログラムは、プログラムそのものが未知のものでも、動作にはある程度の特徴があります。サンドボックスを導入することで、実際にプログラムを実行して、プログラムそのもの特徴ではなく、プログラムの動作に注目して分析できます。つまり未知のプログラムであっても、サンドボックス内での動作を調べることで、未知の不正プログラムの検出が可能です。
サンドボックスのデメリット
これまで紹介してきたメリットから、万能に思えるサンドボックスですが、デメリットもあります。ここでは大きく2つのデメリットについて紹介します。
1. サンドボックスを回避する攻撃もある
サンドボックスの歴史は古く、概念自体は20年以上前から存在するものです。つまりマルウェアの開発者にとってもサンドボックスは既知の防御方法です。
マルウェアにとっては、サンドボックスは回避したい対策方法です。そこで、マルウェアの中には、自分がサンドボックスの中にいることを検知できるものがあります。このようなマルウェアは、サンドボックスの中で実行されているときには、悪意のある行動を停止して、マルウェアであると検出されることを免れる機能を備えています。
またマルウェアには特定の時間帯でのみ動作するものもあります。つまり検査する時間帯によっては、悪意のあるプログラムがマルウェアであると検出されないこともあるのです。進化したマルウェアはこのような特徴を持つものがあり、サンドボックスによる検知がうまく働かないものがあることを押さえておきましょう。
安全と思われるサンドボックスでも、完璧ではありません。セキュリティ対策ソフトに頼るだけでなく、もし不審なメールを受信した時に、よくわからないURLには不用意にアクセスせず、安易に添付ファイルを実行しない、といった基本的なセキュリティ意識を持ち、自分の身を自分で守る習慣を持つことが、何よりも大切です。
2. 分析中に攻撃されてしまう可能性も
サンドボックスでは検査対象のファイルをいったん実際に動作させるため、検出に時間がかかることもネックとなります。実際にサンドボックスでファイルを分析する時には、ファイルをサンドボックス上へコピーして検査を行います。つまりサンドボックス内での検査対象のファイルは「コピー」なのです。
このためオリジナルのファイルはターゲットとなるコンピューターのエンドポイントに到達してしまいます。そこでプログラムが実行されると、分析中に攻撃されてしまいます。つまりサンドボックスだけでは、マルウェアへの対策としては不十分なのです。
つまり新しいマルウェア対策として、サンドボックスは他の検出方法と併用して使うことが重要になってくるのです。
サンドボックスを利用したマルウェア対策
サンドボックスをマルウェア対策として利用する際は、いくつか課題が存在します。デメリットの項目で挙げたように、マルウェアにサンドボックスを回避されたり、分析中に攻撃されたりといった点です。
巧妙化するマルウェアに対抗するためには、サンドボックスと他のエンドポイントセキュリティツール の併用が望ましいでしょう。また、マルウェア感染だけでなく、ネットワークへの不正侵入や社員のITリテラシー教育も必要となります。
不正侵入対策としては、不正侵入検知・防御システム「IDS/IPS」やWebアプリケーションに特化した不正侵入対策「WAF」が効果的です。社員のITリテラシー教育は、不審なメールは開かないといった基礎知識に加え、社内の情報セキュリティポリシーを守る必要性も指導しましょう。
サンドボックスと他のセキュリティシステムで弱点をカバーし合えば、堅牢なセキュリティを築けます。実際にコンピューターを扱う社員の意識とともに、セキュリティレベルを引き上げましょう。
Windows・Mac・iOSのサンドボックス機能と使い方とは
OSによっては、サンドボックス機能が標準搭載されています。ここでは、以下3つのOSごとに使い方を紹介します。
- Windowsサンドボックス
- Mac・iOSのサンドボックス
- スマホ(Android)のサンドボックス
順番に解説します。
1. Windowsサンドボックス
Windowsサンドボックスは、Windows 10/11 Pro, Enterprise, Educationで利用できます。初期設定では無効化されているため、まずは有効化させましょう。Windows 10を例に手順を説明します。
- 設定アプリケーションで「アプリ」→「オプション機能」を選択
- 「関連設定」の下にある「Windowsのその他の機能」を選択
- 「Windowsの機能」が開いたら、「Windowsサンドボックス」にチェック
- Windowsを再起動
- メニューに追加された「Windowsサンドボックス」を選択し、起動
以降は、他のアプリケーションの起動と同じくクリックするだけで利用可能です。「Windowsサンドボックス」のウィンドウ内は隔離されているので、コンピュータ内に影響はありせん。ウィンドウを閉じると、「Windowsサンドボックス」は自動で終了します。
2. Mac・iOSのサンドボックス
Mac・iOSに標準のサンドボックス機能はありません。Mac・iOSでサンドボックス環境を利用したい場合は、自力での構築が必要です。
そもそも、Mac・iOS自体がサンドボックス構造となっています。iOSの場合、全てのアプリケーションはApp Storeからインストールしますが、アプリケーションがサンドボックス化されています。サンドボックス化されていないアプリケーションは、App Storeの許可が降りません。
Macの場合、App Storeだけでなくインターネットからもインストール可能です。しかし、MacOSには制御層が追加されているため、安全な環境下でインストールできます。重要な領域自体も保護されており、アプリケーションからのアクセスを制御しています。
3. スマホ(Android)のサンドボックス
Androidはメーカーごとにさまざまなスマホが発売されていますが、サンドボックス環境を構築する機能はありません。
ただし、AndroidもiOSと同じく構造自体がサンドボックス化されています。アプリケーションのサンドボックス化は義務付けられていませんが、インストールしたアプリケーションはサンドボックス内で動作します。悪意あるプログラムに権限を与えない限り、他の領域に影響は及びません。
よくある質問
最後に、よくある質問2つにお答えします。
- 現在、他のセキュリティ製品を使ってるけどサンドボックスは必要?
- サンドボックス構造ならどんなアプリでもインストールしても平気?
1問ずつ回答します。
Q1. 現在、他のセキュリティ製品を使ってるけどサンドボックスは必要?
A.サンドボックスが実装されていない場合は、併用をおすすめします。
一般的な総合セキュリティ製品には、サンドボックス機能が実装されています。もし、現在お使いのセキュリティ製品にサンドボックス機能がないのであれば、サンドボックス型製品との併用をおすすめします。
Q2. サンドボックス構造ならどんなアプリでもインストールしても平気?
A.サンドボックス構造でも、不審なアプリケーションはインストールしないようにしましょう。
iPhone・Androidともに、アプリケーションはサンドボックス内で動作します。そのため他の領域に影響は出ません。とはいえ、インストール時に他領域の権限を許可してしまうと、当然他領域へと侵入されます。不審なアプリケーションは利用せずに、必要かつ信頼できる提供元のものだけインストールしましょう。
まとめ
サンドボックスの仕組みと、メリット、デメリットについて解説しました。サンドボックスはコンピューターの中に安全な仮想環境を構築する技術のことですが、セキュリティ対策ソフトだけでなく、iPhoneなどのアプリを安全に動作させるためにも使われています。
サンドボックスはWindowsやMacで標準に備わっている機能ではありません。サンドボックスの恩恵を受けるためには、何らかのセキュリティ対策ソフトの導入が必要です。サンドボックスは決して万能ではありませんが、もはや当たり前と言ってもいいセキュリティ対策方法です。ほとんどのセキュリティ対策ソフトでは、サンドボックスだけでなく、他のマルウェアの検出方法も併用されています。
このようにセキュリティ対策ソフトの導入は重要ですが、完璧ではありません。コンピューターを安全に利用するためには、ユーザーにも最低限のセキュリティ意識が求められていることを忘れないでください。