Sandboxie 徹底レビュー – 上級者のためのアプリケーション隔離ツール
システムサンドボックスソフトを実際に試したのは、最後でもうWindows XPの時代のことでした。記憶が正しければ、ShadowGuardのようなツールや、仮想ファイルシステム層を作成し、セッション中の変更をすべてそこに記録して、再起動時にクリーンな状態へ戻すDeep Freezeといったソフトウェアがありました。要するに、「選択的に変更できる読み取り専用システム」という仕組みです。
アプリケーション単位であれば、もう少しシンプルなものが欲しいところです。そんなニーズに応えていたのがSandboxieです。実は私はこのアプリケーションを初期の頃も、買収後も試したことがありませんでした。しかし、Windows 10 HomeでWindows Defender Application Guard(失敗に終わりましたが)を試したのをきっかけに、改めてこのプログラムを見直してみることにしました。それではSandboxieのテストとレビューを始めましょう。セキュリティの城を築き上げましょう!

セットアップと設定
インストールは複雑ではありませんが、作業内容には注意を払う必要があります。セットアップの中心となるのはSandboxieドライバーで、バックグラウンドで魔法のような処理をすべて担います。Windows 10 Homeのマシンで問題なくインストールできました。使用していたセキュリティソフトは、内蔵の脆弱性緩和機能(Mitigation Protections)だけです。

初回起動時、Sandboxieはシステム上のソフトウェアをスキャンし、各種構成設定を適用するかどうか尋ねてきます。この段階で何を行っているのかはっきりしませんが、ステップを完了させました。まあ、「OK」を押さない選択肢は実質ありませんが、表示されたエントリは削除できます。

チュートリアル
Sandboxieの使い方は決して簡単ではないため、プログラムは最初にチュートリアルから始まります。いくつかの手順に従って進めることで、アプリケーションの動作方法に慣れるようになっています。ウィザードはやや不格好で、完了して初めて何が起こったのか理解できたほどです。要点だけ言えば、デスクトップ上に既定のWebブラウザ用の「サンドボックス化された」ショートカットが作成され、それを実行するとブラウザ(今回はFirefox)がサンドボックス内で起動します。メイン画面は一種のタスクマネージャーのようなもので、サンドボックス化されたアプリケーションすべてがコンテナ別にグループ化されて表示されます(後から異なるサンドボックスを複数設定することも可能)。プログラムがSandboxie下で動作しているかどうかは、タイトルの前後にある[#]プレフィックスで識別できます(ただしタイトルを表示しないプログラムもあるので注意が必要)、また、マウスをアプリケーションウィンドウ上に重ねると黄色い枠線が現れます。


砂遊びをしてみる
使い始めてすぐ、「イミディエイトリカバリー(即時回復)」という機能があることを知りました。事前に定義されたフォルダの一つにファイルをコピーすると、そのファイルをサンドボックスから「回復」して実際のシステムへ移すことができます。デフォルトでは、Sandboxieは内部で動作するアプリケーションを外部のファイルシステムから隔離しているため、アプリを閉じるとすべての変更は失われます(ダウンロードしたファイルなども同様)。これは、Linuxのライブセッションでブラウザを動かすようなもので、永続性がなく、再起動すれば変更は消えてしまいます。Linuxをご存じない方は、この一文は無視してください。


「閉じる(Close)」を選ぶと、単純にファイルがサンドボックス内に保持されるだけ。あまり直感的とは言えません。
デフォルトでは既定のブラウザ用ショートカットがありますが、右クリックから任意のプログラムを起動することもできます。その際、希望するサンドボックスを選択できます。

プログラムの挙動は良好でした。たとえば、サンドボックス内で実行中はFirefoxでもChromeでも閲覧履歴やブックマークは見えず、パフォーマンス低下やプラグイン・拡張機能・動画再生との競合も確認されませんでした。ただしChromeの場合はタイトルバーに表示がないため、マウスカーソルを重ねない限り、サンドボックス内で実行されていることが分かりません。
設定、そしてさらに設定
Sandboxieの設定を調整する方法は複数あることがすぐに分かりました。サンドボックス内に表示されているプロセスを右クリックすると、その動作にいくつかの変更を加えられます。しかしこれは現在のセッションにのみ有効です。さらにグローバル設定もあり、これがやや混乱のもとになります。

サンドボックスごとのグローバル設定を見つけるのは少し大変でしたが、なんとか発見しました。その先には、外観や操作性、ファイルの回復・削除の方法、プログラムのグループ化(Firefox系やChromium系ブラウザなど)、サンドボックスへのファイル移行など、調整可能な膨大なオプションのリストが続きます。一部のオプションはかなり厄介でした。というのも、説明文が否定形で書かれているため、実際に何が起こるのかを理解するには脳みそを逆転させて考える必要があるのです。





次に、制限事項とアクセス権限の詳細な長いリストがあります。サンドボックス化されたアプリケーションがどの種類のリソースにアクセスできるか(その特定のサンドボックスに対して)を決定できます。どのファイルを読み書きできるか、どのファイルにアクセスできないか、ネットワークポートなど、非常に細かく調整された権限リストを使用します。ここでもLinuxの例えを使うなら、AppArmorやSELinuxのルールを書くのに似ており、決して容易な作業ではありません。セキュリティを損なったり、アプリケーションやシステム自体を壊したりすることなく変更を加えるには、システム内部についての深い理解が本当に必要です。そうです、注意しないと自分自身をWindowsから締め出すことにもなりかねません。たとえば、以下に列挙されているDLL群――普通のユーザーにとって何を意味するのでしょうか?


レジストリ、IPC、COMの項目に目を向けると、話はさらに複雑になります。ここは完全なるマニアの領域であり、典型的なWindowsプロセスのメモリマッピングを完全に理解していない限り、このセクションを見るべきではないでしょう。
「アプリケーション」オプションを開くと、非常に長いカテゴリのリストが現れ、追加や削除が可能な様々なデフォルトルールが用意されています。ブラウザ、メールクライアント、PDFソフトウェア、その他多くのアプリケーションやツールを個別に設定できます。ここでも多くのルールや説明が理解しづらかったのが正直なところです。たとえば、ルールが記載されていても記号が付いていない場合、それはブロックされているということでしょうか?それとも単に設定可能なルールなのでしょうか?あるいは「イミディエイトリカバリーのデフォルト除外」。これは一体何を意味するのでしょう?回復されるファイルの種類や場所?それとも除外されるもの?


また、iniファイルを直接編集してプログラムの構成を変更するオプションもあります。少し昔ながらの印象ですが、スピードとマニアックな操作を求める人向けに用意されています。総じて言えば、設定周りには多くの改善余地があり、その複雑さが浮き彫りになりました。
他の手法と比べてどうなのか?
これは、App Guardの記事で私自身が提起したのと同じ疑問です。すでにサンドボックス機能を備えたブラウザを使用し、Exploit Protectionを有効にし、NoScriptのような拡張機能を使い、さらには標準(制限付き)アカウントで運用しているなら、このようなツールにどれほどの価値があるのでしょうか?
まず思い浮かぶのは「任意のコード実行」ですが、上述の対策によってその適用範囲は確実に狭められています。第二に、そしてはるかに重要な問いは「サンドボックスモデルはどこで崩壊するのか?」です。その答えは、ユーザー自身です。実際、テスト中に気づいたのですが、サンドボックス化されていないフォルダにファイルを保存するオプションがあります。問題はまさにここにあります。悪意のあるファイルを通過させてしまえば、いずれは無制限の状態でそれを使用することになるのです。隔離セッション内では何の被害も及ぼさないかもしれませんが、後になって被害が出ます。特に「異常」の兆候に気づかず安全だと信じ込んでしまった場合はなおさらです。実際、強力なセキュリティツールの存在は、自己防衛意識をむしろ低下させることさえあります。
さらに、サンドボックス設定をいじって変更を加えることも可能です。ファイルやレジストリへのアクセスを追加・削除したり、イミディエイトリカバリー用のフォルダを定義したりなどです。十分なスキルがなければ、サンドボックスに隙間を作ってしまう可能性があります。セキュリティ制限による使い勝手の問題が発生し、それを回避しようとした場合、この傾向はさらに顕著になります。これはSandboxie固有の問題ではなく、一般的な問題です。ソフトウェアセキュリティのパラドックスと言えます。ソフトウェアを使いこなせるほどのスキルがなければ恩恵を受けられず、逆にスキルがあれば、おそらくそのソフト自体が必要ないのです。
だからこそ、EMETやExploit Guardは非常に価値があると私は考えています。適用される緩和策の結果として利用が制限される場合もあります(非常に稀ですが起こり得ます)が、それはソフトウェアを良し悪しで分類することなく行われます。代わりに、より低いレベル――命令やメモリアクセスの善し悪し――で判断されます。Exploit Guardは、悪意のあるソフトウェアと、下手に書かれた善良なソフトウェアを区別しません。
同様に、標準アカウントを使用していれば、できることに制限がかかります。これはランダムなハッカーに攻撃されるかどうかとは関係ありません。もっと根本的な話です。多くのシステム設定を変更する権限を持たない。以上です。意図的であろうと、ミスであろうと、何であろうと、それは不可能なのです。
Sandboxieに話を戻しましょう。デフォルト状態であれば、多くの有益な機能を果たしており、余計な手を加えなければ、合理的な追加セキュリティ層を得られるはずです。しかし、Sandboxieはサンドボックス内で起こることを制限せず、コードの実行を妨げたり、サンドボックスからデータをコピーすることを防いだりもしません。さらに、設定を変更できるため、隔離機構に穴を開けてしまう可能性もあります。私がテストできた範囲では、Sandboxieはインターネット接続型プログラムをシステムから隔離する点で優れていますが、閲覧履歴などのインターネット上のデータアクセスを制限することはできません。
結論
Sandboxieは優れた堅牢なプログラムです。上級ユーザーにとって、信頼できないインターネット接続型ソフトウェア用の低権限コンテナを構築する際に、高い柔軟性を提供します。モバイルOSの仕組みにやや似た形で、これらのアプリケーションを隔離できます。もっとも、Sandboxieは遥か昔からこれを実現していました。さらに、隔離機構の動作が気に入らない場合や、プログラムが正しく動作しない場合でも、Sandboxieの外側で簡単に実行できます。これで解決、というわけです。
しかし、Sandboxieにも限界はあります。セットアップと設定は決して簡単ではなく、システム、デバイス、アクセス権などに関する確かな理解が求められます。これにより、Sandboxieの使用が負担に変わることもありえます。最後に、Sandboxieは権限を制限しますが、無害化(サニタイズ)はしません。つまり、実行中のアプリケーションのコンテキスト内でメモリリーク(不正な命令など)が発生しても、Sandboxieはそれを止めません。Webからダウンロードしたファイルをコンテナの外にコピーすることも防ぎません。つまり、Sandboxieが意味を持つのは、自分の行為を「信頼できない」場合であって、信頼できる場合ではないのです。その価値は、アプリケーションのテストや、警戒心を持って荒野のようなインターネットを徘徊する必要がある場面にあると私は考えます。全体として、おすすめであり、試してみる価値があります。将来のバージョンでは、よりシンプルなインターフェースと、より直感的なアクセス制御フローが実装されることを期待しましょう。ごきげんよう。
それでは、また。
-
Windows 10 バージョン2004 レビュー――効率重視派が見た新機能と問題点
人生には、好奇心よりも効率性が優先される瞬間が訪れます。そのとき人は保守的になり、自分を楽しませてくれるわずかな事柄だけを大切にするようになります。趣味がソフトウェアにある人なら、覚悟が必要です。Windows 10の新しいビルドが登場したのですから。 私は普段使いの環境でもWindows 10を使用していますが、慎重かつ最小限のアップデートにとどめ、徹底的に調整することで、効率を求めるニーズを妨げられないようにしています。一方で、Windows 10 Homeが入ったテスト機も保有しており、しばらく放置していました。今年の春ビルドとなるバージョン2004のリリースは、テスト機を再び立ち上げて
-
SyncBack Free 徹底レビュー ― 無料で使える信頼性の高いバックアップ・レプリケーションソフト
データバックアップ――そして必要ならばシステムイメージ――がどれほど重要であるか、いくら強調してもし足りません。データを別の場所へ安全に複製しておくべき理由は数多くあります。ハードディスクは故障するし、ハードウェアは盗難に遭うこともあり、うっかりファイルを壊してしまうことだってあります。現実世界では自分のクローンを作ることはできません(まだの話ですが)が、ソフトウェアの世界なら、データのコピーを簡単に作成できます。Windows環境で私のお気に入りだったバックアップ・複製ソフトは「Karens Replicator」でした。しかし残念ながら、作者が数年前に亡くなって以来メンテナンスが止まってお