友人からの危険なリンクをチェックしたい場合は、仮想マシンでこれらを開き始めました。 VM=がハッキングされた場合でも、インターネットバンキングなどを実行するホストは問題ないはずですが、どのような状況でこの仮定が成り立つのでしょうか?
例えば共有フォルダーと共有クリップボードを使用して、攻撃者がVMを制御すると、ホストを攻撃する可能性があると想像できます。 USBポートへの共有アクセスが別の脆弱性である可能性があります。これは現実的ですか、他に知っておくべきことはありますか?この種の脅威モデルについて心配する前に、私はどれほど偏執的でなければなりませんか?
私の質問は主にデスクトップホストにインストールされたVMについてですが、クラウドホスティングサービスに対する潜在的な脅威に関する情報も興味深いでしょう。
高度な攻撃者は、クリップボードの処理よりも簡単にエミュレートされたデバイスドライバーを介してハイパーバイザーを危険にさらす可能性があります。ハイパーバイザーが機能する方法は、ゲストに新しい実行環境を提供し、エミュレートされたハードウェアを公開することです。ゲストのドライバーが仮想ハードウェアにアクセスしようとすると、たとえば、PCI BARを読み書きしてPCIデバイスとやり取りすると、ハイパーバイザーのエミュレートされたデバイスソフトウェアが要求を聞き、実行中のゲストを一時停止して、ソフトウェアでエミュレートします。実際のハードウェアは、ゲストの一時停止を解除して結果を表示できるようにする前に実行していました。これにより、ゲストはその基盤となる仮想環境を効果的に認識できなくなります。エミュレートされたデバイスを単にプロキシとして機能していると考え、ゲストソフトウェア(実際のハードウェアと通信するように設計されている)とホストハードウェア(ソフトウェアをリッスンできる)の間に複雑でしばしば十分に文書化されていないプロトコルを実装すると、そのような複雑なデータ構造の解析のバグがセキュリティ違反につながる可能性があることを確認する方が簡単です。
これ は、ハイパーバイザー、特にKVMを備えたQEMUのセキュリティ警告のいくつかを調べたものですが、一般的な概念はほとんどすべてのハイパーバイザーソフトウェアに適用されるはずです。
ほとんどの場合、エミュレートされたデバイスのバグを悪用するには、攻撃者がゲストへの特権アクセスを持っている必要があります。エミュレートされたハードウェアとの対話を許可される前に、ゲストを完全に侵害する必要があります。ゲスト自体が十分に安全であれば、ハイパーバイザーも同様です。
OpenBSDの創設者であるTheo de Raadtによる有名な引用の完全版:
x86の仮想化とは、基本的に、正しいバグがほとんどない厄介なx86アーキテクチャーの上に、新しいバグでいっぱいのほぼ完全な別のカーネルを配置することです。次に、このまったく新しいたわごとの反対側でオペレーティングシステムを実行します。
セキュリティホールのないオペレーティングシステムやアプリケーションを書くことができない世界中のソフトウェアエンジニアが、セキュリティホールのない仮想化レイヤーを急いで書き直すことができると考えるなら、あなたはまったく愚かではありません。
あなたは棚で何かを見た、そしてそれはあらゆる種類のきれいな色を持っている、そしてあなたはそれを買った。
それがすべてのx86仮想化です。
しかし結局のところ、「危険なリンク」にハイパーバイザーを破るゼロデイが含まれる可能性はかなり低いものです。どちらかと言えば、ボットネットソフトウェアのダウンロードに使用された古いバージョンのFlashを悪用することになります。