ゲストが利用できるVMwareホストに関する情報は何ですか?


9

ではvmware Workstation、ホストソフトウェアとハ​​ードウェアに関するどの情報がゲストOSで利用できるようになります。

私のアプリケーションでは、ホストが実行されている物理ハードウェアに関する情報を取得するゲストOS上のプロセスについて心配しています。これには、シリアル番号、MACアドレス、または実行されているコンピューターを物理的に識別できるものなどの詳細が含まれます。

ホストとゲストの両方がUbuntu Linuxを実行します。

編集:vmware-toolsゲストにインストールされます

編集2:バウンティの追加

私はこの質問について多くの調査を行いましたが、ほとんどの回答には「すべきではない」のような単語が含まれています。ある程度確実に、VMwareゲストは次の項目を表示できないことを知っておく必要があります(そのため、ゲストがこれらを利用できる場合、大規模なセキュリティ違反と見なされます)

  • ハードウェアのシリアル番号
  • ホストネットワークインターフェイスのMACアドレス
  • VMwareソフトウェアの登録シリアル番号
  • ホストオペレーティングシステム上のファイル

この質問の動機は、私はいくつかの非常に信頼されていないソフトウェアを実行する必要があり、私の身元を明らかにする可能性のある情報からそれをサンドボックス化したいということです。たとえば、このソフトウェアがプロセッサのシリアル番号を読み取って作成者に報告しようとすることを想定しています。これにより、私の実世界のIDにトレースが戻る可能性があると想定しています。必要に応じて、この偏執狂と呼んでください。私の状況の一部では、vmware-toolsがインストールされている必要があります。

回答:


5

ホストに関する情報は、さまざまな方法でゲストに漏洩する可能性があります。VMware(および一般的な仮想化製品)は、多くのものに対する保護を提供します。完全な分離環境を提供できる可能性は低いですが、おそらくかなり良い仕事をします。たとえば、一部のウイルス研究者は、VMware使用して、マルウェアの動作研究するための安全な環境を提供しています

ホスト情報がゲストに漏洩する可能性があります。

  • ゲストが仮想化レイヤーが傍受しない指示を直接実行する場合。
  • ゲストがホストと同じネットワークセグメントで直接ネットワークトラフィックを監視できる場合。
  • ゲストが外の世界と通信してホストにプローブできるかどうか。

他のメカニズムからも確実に保護する必要がありますが、あなたの主な懸念は、最初のリーク方法に関するものであるようです。

VMware(およびその他のハイパーバイザー)は、機密情報と見なされるものをインターセプトすることで仮想化を提供します。機密性の高い指示は、ホストに関するゲスト情報を明らかにするか、ゲストが仮想化レイヤーの封じ込めを回避できるようにします。たとえば、(メモリアクセスを制御する)ページテーブルベースを変更する命令は、仮想化レイヤーによって検出され、インターセプトされ、仮想化の幻想を維持するその命令の「安全な」バージョンに置き換える必要があります。

ホストとは別のマシンのように見せるために、ホストに関する識別情報(シリアル番号、MACアドレスなど)を明らかにする命令も仮想化されています。VMwareでは、これらをvmxファイルに設定できます。これはよく理解されており、おそらく安全です。

ときどき、CPUID命令などのエクスポーズされたものについてトレードオフがあり、VMwareの最近のバージョンはそれに対して「保護」を提供しています。(CPUID仮想化の詳細については、VMotionとCPUの互換性を参照してください。)特権命令として実行すると、トラップおよびエミュレートできますが、一部の(おそらく興味のない)情報をゲストに公開する可能性があるネイティブ命令として実行することもできます。 。

ただし、ゲストはホストに関する他の情報を受動的に学習することもできます。たとえば、メモリのタイミングを調べることにより、ゲストはさまざまなキャッシュのサイズに関する情報を取得できます。タイミングや他のベクトル(「サイドチャネル」)を介して他のゲスト(またはホスト)について学習する機能は、活発な研究の領域です。2012年10月、研究者たちは他のVMから暗号鍵抽出することが実際に可能であることを発見しました。これは非常に恐ろしいかもしれません。発見できることの制限とこれからどのように保護するかは、まだ完全には明らかにされていません。

完全に安全にするための最良の方法は、マシンをエアギャップを介して他の世界から隔離することです。その場合、悪意のあるソフトウェアは誰にでもその情報を伝えることができないため、何を学んだかは問題ではありません。終わったら、機械を拭いてください。VMwareのようなツールを使用すると、マシンの状態が一連のファイルにカプセル化されるため、この消去と状態の回復が容易になります。


1

ゲストは、ネットワークなどのホスト設定について何も知る必要はありません。これは、物理ハードウェアとほぼ同じように動作する仮想ハードウェアが渡されるためです。ただし、ゲストが知っておく必要があるcpuなどの一部の情報は、セキュリティを損なうものであってはなりません。

したがって、ホストからゲストへの設定情報の漏洩がある場合、それはセキュリティホールになります。

ただし、hgfs(host-guestファイルシステム)を有効にすると、ホストファイルシステムの少なくとも一部がゲストに表示され、ホストに関するいくつかの情報を取得できます。気になる場合は無効にしてください。

ほとんどすべての場合、ワークステーションは個人的に使用されるため、これらすべてが実際に問題になることはありません。つまり、どのような場合でもホストにアクセスできます。それ以外の場合は、サーバー仮想化(vsphere、xen、kvm)を調べる必要があります。


1

記事VM内からホスト情報を抽出する方法は?ゲストが一部のホスト情報を取得するために使用できるESX(i)/ vSphereのユーティリティについて説明します。セキュリティ上の理由により、これは必然的に範囲が制限されます。

最初のユーティリティはVMware Toolboxコマンドです。基本的なリソース統計を含む、ESX(i)およびguestOS構成に関するいくつかの情報を提供します。

UNIX/Linux - /usr/bin/vmware-toolbox-cmd
Windows - C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe

2つ目はvmtoolsd(VMware Tools Daemon)ユーティリティで、「info-get」パラメーターは、仮想マシンの実行中に、仮想マシンの.vmx構成ファイル内またはVMXメモリに設定されたguestinfoを取得できます。

UNIX/Linux - /usr/bin/vmtoolsd
Windows - C:\Program Files\VMware\VMware Tools\vmtoolsd.exe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.