\r\n\r\n
インターネット上で見つけたプログラムであろうと、メールに書かれていたものであろうと、実行ファイルを実行することは常にリスクとなります。クリーンなシステムでソフトウェアをテストするには、仮想マシン(VM)ソフトウェアと、VMでソフトウェアを実行するための別のWindowsライセンスが必要です。マイクロソフトはWindows Sandboxでこの問題をまもなく解決する。
友人や家族からと思われる、添付ファイル付きの電子メールを受け取ったことは誰にでもあることでしょう。予想していたことかもしれないが、なぜかしっくりこない。あるいは、インターネット上で素晴らしいアプリケーションを見つけたものの、それが聞いたこともない開発者の手によるものだったということもあるかもしれません。
ダウンロードして実行し、危険を冒すのか? ランサムウェアが横行する中、過度な警戒はほぼ不可能です。
ソフトウェア開発において、開発者が最も必要とするのはクリーンなシステム、つまり他のプログラム、ファイル、スクリプト、その他の荷物がインストールされていないオペレーティングシステムであることがあります。余分なものがあると、検査結果がゆがんでしまいます。
この2つの状況を解決するには、仮想マシンを起動するのが一番です。これにより、クリーンでスタンドアロンなオペレーティングシステムを提供することができます。添付ファイルがマルウェアであることが判明した場合、影響を受けるのは仮想マシンだけです。以前のスナップショットに復元すればOKです。開発者であれば、まるで新品のマシンを作ったかのような感覚でテストを行うことができます。
関連:ビギナーギーク:仮想マシンの作り方・使い方
しかし、仮想マシンソフトにはいくつかの問題点があります。
まず、お金がかかること。VirtualBoxのような無料の代替ソフトを使用する場合でも、仮想化されたオペレーティングシステム上で実行するには、有効なWindowsライセンスが必要です。もちろん、windows10をアクティベートしなくてもできますが、これではテストできる内容が限られてしまいます。
次に、仮想マシンを適切なパフォーマンスで動作させるには、かなり強力なハードウェアと多くのストレージ容量が必要です。スナップショットを使用する場合、より小さなSSDを素早く埋めることができます。大きなハードディスクを使用する場合、パフォーマンスが低下することがあります。ノートパソコンでこれらの電力を消費するリソースを使用したくない場合があります。
最後に、仮想マシンは複雑で、欠陥のある実行ファイルをテストするために正確に設定されているわけではありません。
幸いなことに、マイクロソフトはこれらの問題を一挙に解決する新しいソリューションを発表しました。
Microsoft Technology Communityブログの投稿で、Hari Pulapakaは新しいWindows Sandboxについて詳しく述べています。従来はInPrivate Desktopと呼ばれていたこの機能は、「分離された一時的なデスクトップ環境」を作り出し、その上でコンピュータに損害を与える心配なくソフトウェアを実行できるようにするものです。
標準的なVMと同様に、サンドボックスにインストールしたソフトウェアは分離されたままであり、ホストコンピュータに影響を与えることはありません。サンドボックスを閉じると、インストールしたプログラム、追加したファイル、設定変更した内容がすべて削除されます。次にサンドボックスを実行すると、まっさらな状態に戻ります。マイクロソフトは、ハイパーバイザーによるハードウェアベースの仮想化を用いて、サンドボックスをホストコンピュータから分離できるように、別のカーネルを走らせています。
つまり、リスクのあるソースから実行ファイルを安全にダウンロードし、ホストシステムを危険にさらすことなくサンドボックスにインストールすることができるのです。また、新しいWindowsのコピーで開発シナリオを迅速にテストすることもできます。
印象的なのは、要件が非常に低いことです。
Sandboxの良いところは、VHD(Virtual Hard Disk)のダウンロードや作成が必要ないことです。その代わり、Windowsは、お使いのコンピュータのホストOSに基づいて、オペレーティングシステムのクリーンなスナップショットを動的に生成します。その際、システム上の変更されていないファイルへのリンクと、変更された公開ファイルを参照する。
これにより、わずか100メガバイトという驚異的な軽さの画像を実現しています。Sandboxを使用しない場合、イメージは25MBに圧縮されます。基本的にオペレーティングシステムのコピーであるため、別途ライセンスキーは必要ありません。Windows 10proまたはWindows 10enterpriseをお持ちであれば、Sandboxを実行するために必要なものはすべて揃っています。
セキュリティのために、マイクロソフトは先に紹介したコンテナの概念を活用した。サンドボックスOSは、ホストから隔離され、表向きは仮想マシンをアプリケーションのように動作させることができます。
このように分離しているにもかかわらず、ホストとサンドボックスは連携して動作しています。必要に応じて、ホストがサンドボックスからメモリを回収し、コンピュータが遅くなるのを防ぎます。また、サンドボックスは、電力消費を最適化するために、ホストコンピュータのバッテリー残量を知ることができます。ノートパソコンでサンドボックスを動作させることも可能です。
これらの機能強化により、仮想化システムは非常に安全で、高速かつ安価なものとなっています。従来のソリューションに比べ、はるかに少ないオーバーヘッドで、高速かつ安全なVMライクなソリューションを提供します。スナップショットの呼び出し、テスト、破棄を素早く行い、必要に応じてこれらの操作を繰り返し行うことができます。集約的なものはすべてそうですが、ハードウェアを良くすることで、よりスムーズな動作が可能になります。しかし、上に示したように、それほど性能の高くないハードウェアでもサンドボックスは実行できるはずです。
デメリットとしては、すべてのマシンにwindows10proやEnterpriseが搭載されているわけではないことです。windows10homeを使用している場合は、Sandboxを使用することはできません。
更新】マイクロソフトがwindows 10 build 18305をFast Ringのサークルにリリースしたことで、ギリギリの生活でもいいという方は、サークルプログラムに参加して更新を行えば、最新のプレビューにアップデートできるようになりました。ただし、メインPCでの実行は絶対にお勧めしません。
残念ながら、Windows Sandboxはまだ手に入りません。マイクロソフトがまだリリースしていないWindows 10 Build 18301以降が必要です。しかし、このバージョンになれば、物事はシンプルでわかりやすくなります。BIOSで仮想化が有効になっていることを確認する必要があります。そして、「Windowsの機能」ダイアログボックスで「Windowsサンドボックス」を開くだけです。
Windows Sandboxをインストールすると、他のアプリケーションやプログラムとほとんど同じように起動することができます。スタートメニューから見つけて実行し、管理者権限を与えるUACプロンプトを受け入れるだけでよいのです。そして、必要に応じてファイルやプログラムをサンドボックスにドラッグ&ドロップし、テストすることができます。終了したら、プログラムを閉じるだけで、Sandboxはあなたが行った変更をすべて破棄します。
関連:windows 10の「オプション機能」の機能とオン/オフの切り替え方法について