- 公開日: 2017年03月02日
今更聞けない!サンドボックスの基本を徹底解説!
2015年個人情報漏洩に関する被害総額 2500億円以上、漏洩件数 799件、漏洩人数 約 500万人* 。2015年セキュリティ会社のシマンテックが検知したマルウェア件数 4億3000万件以上* 。
もはや仕方がないや運次第 では通じなくなってきている、企業のセキュリティ問題。今回は、国内でも対策が遅れている 標的型攻撃対策 の一つ サンドボックス についてご紹介させて頂きます。
今更聞けない!サンドボックスの基本を徹底解説!
サンドボックスとは何か?
img : cisco
サンドボックス(sandbox)とは、外部から受け取ったプログラムを保護された領域で動作させて、システムが不正に操作されるのを防ぐセキュリティ・システムのことをいいます。一般的にサンドボックス専用機器を導入したり、サンドボックス・ソフトをサーバーやパソコンにインストールして利用します。
サンドボックスが登場した背景には、2011年頃から急速に拡大したマルウェア攻撃があり、現在はサンドボックスの進化版や他の技術と合わせた総合版が主流となっています。
また一方で、この仮想領域を構築するサンドボックスのテクニックは開発現場でも利用され、アプリのテスト環境や WordPress バージョンアップ前のテスト環境* としても利用されています。
GREE や Apple Pay、PayPal などたくさんの企業からサンドボックスは提供されています。
【サンドボックスのイメージ】 下図がサンドボックス有りの場合で、外部からの入力情報が黄色の枠(サンドボックス)内で動いて、ハードディスクが保護されていることが分かります。
img : Sandboxie
身近にあるサンドボックス
サンドボックス って専門的なイメージがありますが、実は私達も毎日使っています。
以下のソフトにサンドボックスは内蔵されています。
OS/Windows
(Windows Defender*)、 OS X* など ブラウザ/Google Chrome、 Microsoft Edge* など App/Android*、Mac App* など
【Gmail に感染ファイルを添付した例】
OS もブラウザもほとんどが 2011年頃からサンドボックスを導入して、マルウェアの侵入を防いでいます。また開発もしくは制作した Web サイトの脆弱性をテストするためのコミュニティーサイト(Hackme)にも、サンドボックスが利用されています。 アクセスするハッカー毎に仮想空間が作成されて、 Hackme サイトや 公開しているアプリ・Webサイトにはダメージが及ばないように設計されています。
【Hackmeでのサンドボックス・イメージ】
img : Hackme
サンドボックスのメリットについて
仮想空間で添付ファイルを開いたり、メール内のリンクを事前確認し、マルウェアを事前チェックできる点 組織内にパソコンを使い慣れていない方や Web セキュリティ知識が低くい方がいたとしても、組織のデータやネットワークを保護することに期待できます。
既存のネットワークシステムに後付できる点 通常、サンドボックス専用機を設置し、ネットワークを設定すれば OKです。もしくは 末端のPC にサンドボックスをインストールする、という方法もあります。 そのほかクラウド型などたくさんの種類のサンドボックスが提供されて、導入しやすいシステムとなっています。
デメリット
- ソフトによってマルウェアの検知力に差がある
- コストがかかる(数百万円クラスが多い)
- 機器へ負荷がかかる(PC インストールの場合)
- 最近は、サンドボックスをスルーするマルウェアがある(Locky など)
サンドボックスで全てのウィルスが防げる訳ではない
サンドボックスは既知のマルウェアに対しては効果に期待できますが、未知のマルウェアや攻撃に対しては弱いです。
例えば、
- 潜伏期間を設けたマルウェア(ステルス型攻撃)
- 仮想環境を認識し、起動を抑えるマルウェア など こうしたマルウェア事情に対してセキュリティ会社は、以下のような対策を講じています。
マカフィー社* /複数の解析エンジンと静的コードの分析 導入コスト例 1500万円以上
チェックポイント社* /CPU への命令コードも分析し、怪しいファイルやプログラムを検知 導入コスト例 744万円から
また費用をかけないサンドボックスのセキュリティー対策としては、サンドボックスのシステム変更* や無料のセキュリティーソフト(COMODO* など)の活用が考えられます。
開発者向けサンドボックス情報
サンドボックスを自分で構築するための代表的なソフトをご紹介します。
- Cuckoo Sandbox
- docker
- Firejail(Linux)
- Limon Sandbox(Linux)
- R 言語用のサンドボックス*
- iframe タグ用のサンドボックス(JavaScript)*
サンドボックスを体験
本稿の資料を集めている内に、実際のところどんな感じでサンドボックスはマルウェアを検知できるのか?ということに興味がわき、無害なデモ用ウィルスを作成し、テストしてみました。
OS/Ubuntu(Linux)、 Windows 10 、Android 5.0 ブラウザ/Chrome、FireFox、Chromium
テスト用感染ファイル(無害)
- EICAR を使用/感染ファイル内のコード/ X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
- 感染ファイルの URL http://codecamp.bitcoin-with.com/test.com
- 感染ファイルを自動でダウンロードする Web ページ http://codecamp.bitcoin-with.com/sandbox-test.html
結果
ブラウザのサンドボックス検知力は低い、と思います。 Ubuntu で上記アドレスにアクセスしたところ、感染ファイルの URL にアクセスできますし、ダウンロードも普通に行います。Gmail への添付はできなかったものの、感染ファイルを自動ダウンロードする Web ページのリンクや自動ダウンロードする HTML ファイルはメール内に添付できました。
OS のサンドボックス機能はなかなか、と思います。 OS を Windows に変えて上記と同じことをしてみました。サンドボックスがない Ubuntu に比べて、Windows 10 では Windows Defender が機能して、感染ファイルの除去作業が行われました。しかし、ブラウザが表示するポップのダウンロードをクリックしてしまうと、感染ファイルがダウンロードされ、普通に開きました。
Android で起動した場合は、Ubuntu と同じ挙動を示しました。私の PC が Ubuntu(Linux)のため、シマンテックやマカフィーのソフトはテストできませんでしたが、恐らく検知してくれると思います。
セキュリティにご興味ございましたら、ご自身で自分の端末のセキュリティー力、確かめてみて下さい。(自己責任でお願いします)
\Webサイト担当者としてのスキルが身に付く/
まとめ
いかがでしたでしょうか?現在サンドボックスは、一昔前のファイヤーウォールのようにセキュリティ界では常識となりつつあります。 システム導入を検討する際は、ネットワークや OS、プログラミング に関する知識があれば確かな選択に一役買うと思います。マルウェア対策、セキュリティ教育、力を入れたい所ですね!
thumbnail : Wiki/Mary colour scientist
- この記事を書いた人
- オシママサラ