web-dev-qa-db-ja.com

仮想マシンは本当にどれほど安全ですか?誤った安心感?

私はこれを読んでいました CompTIA Security + SYO-201の本 、そして作者のDavid Prowseは次のように主張しています:

VMどちらを選択しても、VMは、設定されたソフトウェアの境界を越えることはできません。たとえば、ウイルスは実行時にコンピュータに感染し、他のファイルに広がる可能性がありますただし、VMで実行されたウイルスはVMを介して拡散しますが、実際のOSには影響しません。

したがって、VMWareプレーヤーを実行していて、仮想マシンのOSでマルウェアを実行する場合、allでホストシステムが危険にさらされることを心配する必要はありませんか?

仮想マシンがホストマシンとネットワークを共有し、共有フォルダが有効になっている場合はどうなりますか?

ワームがその方法でホストマシンに自分自身をコピーすることはまだ可能ではありませんか? OSがWindowsでUSBストレージデバイスを挿入している場合でも、ユーザーはAutoRunに対して脆弱ではありませんか?

仮想マシンは本当に安全ですか?ホストマシンをマルウェアや攻撃からどの程度保護しますか?

163
T. Webster

VMは確実にクロスオーバーできます。通常、それらはネットワーク化されているため、ネットワークコンポーネント(ワームなど)を含むマルウェアは、アドレッシング/ルーティングで許可されている場所に感染します。通常のウイルスは、ユーザーモードでのみ動作する傾向があるため、あからさまに通信することはできませんが、隠れたチャネルを設定することはできます。 CPUを共有している場合、1つのVMのビジープロセスは、別のVMに状態を効果的に伝達できます(これは、典型的なタイミング隠蔽チャネルです)。仮想ディスクにはハードリミットがある傾向があるため、ストレージの隠れチャネルは少し難しくなります。そのため、ディスク領域をオーバーコミットできるシステムがない限り、問題にはなりません。

VMを保護するための最も興味深いアプローチは 分離カーネル と呼ばれます。これは、John Rushbyの 1981年の論文 の結果であり、物理的に分離するのと同等の方法でVMを分離するには、コンピュータが特定のVMにリソースをエクスポートする必要があると述べています。状態を保存できるリソースがVM間で共有されることはありません。これは根本的なコンピュータアーキテクチャをバイパスできない方法で実行できるように設計する必要があるため、深い結果をもたらします。

この論文の30年後、ついにそれを主張する製品はほとんどなくなりました。 「共有しない」という考えを完全にサポートするために仮想化できない命令がたくさんあるため、x86はそのための最高のプラットフォームではありません。また、VMが4つあるので、4つのディスクコントローラー、4つのビデオカード、4つのマウスを備えた4つのUSBコントローラーなどが必要になるため、一般的なシステムではあまり実用的ではありません。

91
Marcin

長年にわたり、研究者がVMからホストOSに侵入する方法を説明したホワイトペーパーがいくつか発行されています。これらは通常、VMベンダーによるセキュリティの脆弱性として正しく見られ、そのように扱われます。これらの文書を初めて見たときから、Intelはプロセッサの命令セットを大幅に改善して、 VMおよびハイパーバイザー。

私が最近目にするいくつかの脆弱性は、「vmtools」の部分に基づいています。これは、ゲストOSをより効率的に実行するためにインストールするソフトウェアです(VMWareの場合、これはオンザフライでのカーソルキャプチャと、ネットワークなしのゲストとホスト間の共有を可能にします)。これは感染のための特別なソフトウェア経路です。ツールをインストールしないでください。脆弱性はありません。

一部のマルウェアは検出の機能を示していますVM内で実行されているため、動作を変更し、VMを使用しようとするマルウェア研究者の悪化に大きく影響しますマルウェアをテストする方法として。最近はどれだけ蔓延しているかはわかりません。

63
sysadmin1138

ゲストからホストへのコード実行の例は、Cloudburstエクスプロイトにあります。ビデオがあります デモンストレーション それとイミュニティからの論文 詳細 Windows Vista SP1上のVMware Workstation 6.5.0 build118166での成功Windows上のVMware Workstation 6.5.1 build126130 Vista SP1、および(さらに怖い)VMware ESX Server 4.0.0 build133495。

これはおそらくほとんど快適ではありませんが、これが実際に使用されることは聞いたことがなく、エクスプロイトは2009年のものです。

24
harley

仮想マシンはまさに論理的に別のマシンであるため、ベアメタルシステムと同じセキュリティレイヤーを配置する必要があります。仮想マシンを使用しても、通常のチャネルを使用してホストマシンに到達する場合、vulは停止しません。

仮想化の本当の利点は、VMが影響を受けていない状態にVMをロールバックできることと、利用可能なリソースをより適切に管理できることです。

ホストマシンを保護するために適切な手順を踏めば、仮想化は非常に安全になります。 ESX/VMサーバーの管理を別の論理ネットワークで維持し、VM-Hostインターフェイスツールを使用しないなどの慣行により、攻撃者は、ホストに到達する方法はもちろんのこと、マシンが仮想であるという事実にほとんど気付かないでしょう。

また、VMホストに影響を与える既知のエクスプロイトがあります(私はVMWareおよびHyper-Vでそれらを使用したことがあります)。 v( this を参照)、ただし、地平線に他の発見があると確信しています。VMWareもその履歴にいくつかあります(つまり this 、それはVMWareツールベースですが、それはまだ適用されます)。

実行していることに応じて、自分のマシンで分析を行う必要性を取り除くことができるオンラインツールがいくつかあります。ここにいくつかのサイトがあります:
- Threatexpert.com
- anubis.iseclab.org
- virustotal.com

19
Ormis

Security +マテリアルの意味するところは、これまでのところ、マルウェアはVMであるという事実を悪用してハイパーバイザーに攻撃することでVMのサンドボックスから逃れることができなかったことです。共有ネットワーク全体に広がるなど、他のメカニズムは、これらが異なる物理ボックスである場合と同じです。

7
K. Brian Kelley

このエクスプロイトで示されているように、これらは完全に安全ではありません。

VENOM、CVE-2015-3456は、いくつかの一般的なコンピューター仮想化プラットフォーム、特にXen、KVM、VirtualBox、およびネイティブQEMUクライアントに影響を与えるセキュリティの脆弱性です。

この脆弱性により、攻撃者は影響を受ける仮想マシン(VM)ゲストの範囲から脱出し、ホストへのコード実行アクセスを取得する可能性があります。脆弱性に関する詳細 ここにあります。

5

著者の主張は完全ではない trueだと思います。実際、仮想化領域にはhypervisorの2つのタイプがあります。 ハイパーバイザーは、作成および実行仮想マシンであるコンピューターソフトウェア、ファームウェア、またはハードウェアの一部です。 s。これらのタイプは次のとおりです。

  • タイプ1ハイパーバイザー
  • タイプ2ハイパーバイザー

タイプ1ハイパーバイザーは、ホストのハードウェア上で直接を実行して、ハードウェアを制御し、ゲストオペレーティングシステムを管理します。このため、これらはベアメタルハイパーバイザーと呼ばれることもありますwhereas Type-2ハイパーバイザーは従来のオペレーティングシステム他のコンピュータプログラムと同じように。 VMWareまたはVirtualBoxは、ホストでプログラムとして実行されるため、タイプ2ハイパーバイザーの例です[ 〜#〜] os [〜#〜]s。

Type-2ハイパーバイザーの場合、 RoboLinux というプロジェクトがあり、これはStealth VMと呼ばれる独自の機能を備えています。 ステルスVMソフトウェアインストーラー--セキュアなLinuxパーティション。マルウェアから保護されている場合、ダウンロードしたものはすべて含まれますw 仮想マシン内。これは、特定のWindowsプログラムが必要で、オペレーティングシステムを新しいものとして復元できるという便利さを必要とするユーザーを対象としていますたった2回のクリック。

例としてQubes OSLinuxおよびXenで開発されたものがあります。タイプ1ハイパーバイザー。 Qubes OSは分離によるセキュリティと呼ばれるアプローチをとります。これは、このコンテキストでは、コンピュータで行うことを別のVMに安全に分離し、1つのVM侵害されても他には影響しません。Type-2ハイパーバイザーとは異なり、安全なVM間ファイル転送システムがあり、共有フォルダーのリスクを処理します。理論的には、その組織は開発者によると、タイプ2の仮想化よりも安全です。

要するに、著者はwhichハイパーバイザーまたは仮想システムを示す必要があります。

参照

4
JackSparrow

関心と関連性のある2016年の「Pwn2Own」セキュリティコンテストは、VMWareワークステーション仮想マシンから脱却して、競争の1つとなっています。 (その他には、ブラウザサンドボックスのエスケープや物理マシンの乗っ取りなどがあります)。これは、1)少なくとももっともらしいことであり、2)簡単な場合は、それを聞く方法があるという考えを与えるはずです-結果を確認するだけです:)

より一般的にはVMセキュリティは理論的には多くの方法で回避できます。たとえば-

  • ゲストからホストへのコマンドとAPI(VMwareツールなど)

  • VMプロセスで実行しても緩和されない、ホストOS自体の悪用可能な弱点(一部のゲストOS呼び出しが誤って「安全」と判断され、ゲストドライバーによってホストOSに直接渡された場合)スピードのためのデバイスドライバですが、エクスプロイトが存在します)

  • ベンダードライバーまたはベンダーコードのバグ(たとえば、ホストドライバーはゲストOSのネットワークブリッジを許可します;おそらくそれのバグがホストでカーネルレベルで呼び出しまたはコードを作成できる可能性があります)。

  • ホスト上の他のソフトウェアに起因する脆弱性(考案された例-ローカルアンチウイルスがホストからのすべてのネットワークトラフィックをインターセプトしてスキャンし、ゲストトラフィックがその一部としてスキャンされる場合(仮想NICデバイス)、悪意を持って作成されたトラフィックまたはパケットに対するa/vエンジンの脆弱性により、VMから発信されたトラフィックがホストにエスケープする)

  • ユーザーによる不適切な構成(ホストファイルがマッピングされているか、ゲストがアクセスできるようにセキュリティが不十分/分離されている)

範囲は存在し、その有病率を考えると、エクスプロイトについて積極的に調査されています。確かに脆弱性がない場合、エクスプロイトは定期的に発見され、パッチが必要になります。

4
Stilez