私は SuperUserでのデュアルブートについての質問 を見ていましたが、VMデュアルブートでの使用の保護が追加されているかどうかを確認しました。 VMは独自のサンドボックスであり、発生するすべて(またはほとんどすべて)はVMにのみ影響するということです。
ここで、2つのHD、またはデュアルブートされた1つのHDがあるとします。同じセキュリティサンドボックスはありますか?マルウェアが単一のHDに広がる可能性がある場合に備えて、2つのHDは1よりも安全だと思いますが、これはVMでも同じである可能性がありますか?
だから私の質問です。
VMを使用する場合とデュアルブートを使用する場合とでは、セキュリティ上の利点はありますか?
デュアルブート/ VMに同じHDを使用すると、通常のブートと同じHD上にあるため、より多くのセキュリティリスクが発生しますか?
ここでは、ハードウェアを攻撃する可能性のある高度なマルウェアが問題を引き起こすと想定しています。そのため、同じHDが問題になる可能性があると思います。マルウェアが別のブートである別のHDに感染することは可能ですか?
編集:VMは進むべき道であるようです。デュアルブートは安全性は低いものの、設定がより手間がかかるようです。
質問に別の部分を追加すると、他よりもはるかに安全な特定のVMがありますか、それともすべてがほとんど同じですか? 1つのポイントは、一部のVMが独自のカーネルを使用する一方で、システムを使用することになるため、それが最初のステップのようです...
しかし、VMを見つけるときに他に注意すべき点はありますか?現在VMWareを使用している人を知っていますが、それがどれほど優れているかはわかりません。
どうもありがとうございました!
マルウェアまたは少なくとも信頼できないバイナリを実行する場合は、VM(またはセグメント化されたハードウェア)で実行することをお勧めします。
"dirty"システムが起動時に他のパーティション、ブートセクター、またはBIOSで何をしているかは信頼できません。
追加の利点は、ほとんどの仮想化ソフトウェアが何らかのスナップショットを提供できることです。スナップショットは次のように使用できます。
仮想マシンで実行した場合でも、問題が100%安全ではないことに注意してください。時々、仮想マシンのサンドボックスをエスケープする方法が見つかります。例 CVE-2014-098
@Michal Ambrozが言ったことに加えて、VMで実行するだけでなく、VM親システムカーネルを直接使用しないか、変更するためのアクセス権もない)で実行することは非常に賢明です。 KVMベースの仮想化は、仮想マシンが独自のカーネルを使用できるようにするため、このタイプの環境を提供します。
全体的なセキュリティ上の利点は、仮想マシンが実行中のソフトウェアを独自の環境に区分化することです。これにより、ほとんどの場合、VM内のソフトウェアが親サーバーにアクセスできなくなります。
一方、デュアルブートには個別のパーティションが含まれますが、パーティションが相互にアクセスしてファイルを変更することは妨げられません。
これは素晴らしい質問です:
私の意見では、VM上でデュアルブートを使用する理由はいくつかあります。仮想マシンの最大の問題は、実行前にデバイスの特定のハードウェア設定をチェックする機能を持つマルウェアサンプルを実行しようとすることです。 例:
Checks for BIOS
Checks for CD Drive
注意事項:そして、場合によっては、カーソルからの特定の動きをチェックして、人間です。ハイブリッド分析などのマルウェアエンジンは対策を持っています。
マルウェアがこれらの両方を検出しない場合、一種のVM検出として実行されません。しかし、これには回避策があります!
セキュリティ上の理由:
私は通常、マルウェア分析を動的に行うため、レムナックスクライアントと別のWindowsクライアントを用意します。このようにして、wiresharkを実行しながら、remnuxでfakeDNSを実行し、WindowsマシンのDNSをremnux IPとして設定できます。これにより、堅牢なネットワーク分析機能が得られます。これはそのための良いガイドです:
https://countuponsecurity.com/2015/01/13/dynamic-malware-analysis-with-remnux-v5-part-1/
さらに、最初にMichal Ambrozが言ったように、スナップショットを撮ることができることは非常に重要です。マシンをクリーンな状態に戻すだけでなく、分析の準備を整えることができます。分析の特定の段階でスナップショットを保存したいのです。
上記の設定を使用する場合の最大の懸念は、2つのオプションです。 [〜#〜] safe [〜#〜]インターネットアクセスを取得する方法を見つける、VMマルウェアからの検出とその防止方法。自宅からこのラボを実行している場合は、予防策として安価なセカンダリインターネットを購入することをお勧めします。
次の3つのシナリオがあります。
HDDドライブが1つしかない場合や、OSごとにドライブが異なる場合でも、未使用のドライブを切断しないと、侵害されたOSが他のOSのパーティション内のデータにアクセスできます。 OS Aが侵害されたとすると、攻撃者はOS Bからパーティションをマウントし、OS Bを変更して侵害することもできます(OS AはOSからファイルを保護する必要がないため、ファイルに対する保護は実行中のOSによってのみ提供されることに注意してくださいB攻撃者はそれらを変更できます)
これから保護するには、両方のボリュームを暗号化して、攻撃者が他のOSパーティションをマウントできないようにしますが、攻撃者はとにかくそれを損傷する可能性があります
OSごとに1つのHDDドライブがあり、不要なHDDを物理的に切断する場合、攻撃者はOS AからOS Bに移動するために何らかの種類のファームウェアマルウェアを必要とします。これは非常にまれであり、ファームウェアマルウェアが非常にまれであり、さらに、攻撃者はOS Bに関する情報を以前に知っている必要があり、OS Bをうまく侵害できるファームウェアマルウェアを開発する必要があります
ここでは、攻撃者は2つのアプローチが可能です:ゲストからホストへのホストまたはホストからゲストへのホスト
ゲストからホストへ:ゲストOSが危険にさらされた場合、それは一種のサンドボックスを提供します。ゲストOSはホストOSについても、基盤となるハードウェアについても知る必要はありませんが、VMwareやVirtualBoxなどのシステムはセキュリティに重点が置かれていないため、これらは利便性のために作成されているため、サンドボックスを回避して制御を取得する方法がいくつか存在しますホストOS、これを行うには、攻撃者は高度なスキルを持っている必要があります(既知の脆弱な仮想化ソフトウェアバージョンを使用していない場合)
ホストからゲストへ:この場合、攻撃者はホストOSを制御し、仮想化プログラムが使用するファイル、仮想化ディスクを直接変更するか、仮想化プログラムを使用することができます。ホストが次の場合、ゲストも危険にさらされます
あなたはそれについて言及しませんでしたが、私はそれが言及されるべきものだと思います。仮想化についてあなたの質問では、OSを仮想化するために最も使用される方法は、ホストOSで実行され、ゲストOSが使用するためにそこから取得したリソースを仮想化するVMwareまたはVirtualBoxなどのソフトウェアを使用することです。この場合、ホストOSが管理するリソースは、ゲストOSを管理する仮想化ソフトウェア(ハイパーバイザー)に提供され、ゲストOSは、OSで実行されているアプリケーションを管理します。
ハードウェア上で直接実行し、ハードウェア上で複数のOSを実行するようにセグメント化する他のタイプのハイパーバイザーがあります。画像ではこれです:
この場合、OSは完全に分離されている必要があります。 OS AはOS Bについて何も知らず、その仮想化ハードウェアにアクセスできません。攻撃者がハイパーバイザーのサンドボックスをエスケープして他のOSのメモリを破損させる可能性のある既知の脆弱性がいくつかありますが、これを行うには、OS AからOS Bを危険にさらすために、攻撃者は熟練している必要があります。 OS Bのメモリのセットアップと現在の状態。クラッシュすることなくメモリを適切に変更します。
「デュアルブート」とは、HDDごとに1つのOSを意味し、1つのHDDが外されていることを意味します。これはエアギャップに近く、VMよりも安全です。ただし、他の回答者が示唆するように、各OSはBIOSにアクセスするため、危険な場合があります。
「デュアルブート」とは、同じHDD上の2つのOSを意味します。これは、個別のハードドライブよりも安全性が明らかに劣ります。両方のOSが1つのHDDで完全に暗号化されていると想像してください-悪いOSは暗号化されたコンテンツ全体をWebサーバーにアップロードし、暗号化パスワードを要求する同等の見栄えのブートローダーでその良いOSを上書きし、それがWebサーバーにアップロードされます。 。そのため、攻撃者は、保護しようとしたOSで実行可能ファイルを実行しなくても、暗号化された完全なOSと暗号化パスワードの両方を入手することになります。
vMについてはあまり知りません!