web-dev-qa-db-ja.com

ハイパーバイザールートキットはどのようにネットワーク接続を作成しますか?

ハイパーバイザールートキットはどのようにしてネットワーク接続を作成してデータを引き出しますか?基盤となるOSのsyscallにアクセスできませんよね?これらは通常、アセンブリでVTx Intel命令を使用してプログラムされているためです。

2
Antonio Pirozzi

論文から SubVirt:仮想マシンを使用したマルウェアの実装

仮想マシンベースのルートキット(VMBR)と呼ばれるこの新しいタイプのマルウェアは、既存のオペレーティングシステムの下に仮想マシンモニターをインストールし、元のオペレーティングシステムを仮想マシンに巻き上げます。

ルートキットに適した実行環境を作成するには、主に2つの方法があります。

  • 1つ目は、実際のオペレーティングシステムとユーザープログラムを管理者権限で変更し、VMM(仮想マシンモニター)とルートキットのユーザー/カーネルモードコンポーネントを実行することです。

  • もう1つはほとんど同じで、別のオペレーティングシステムを使用しています。

さらに、VMBRは、悪意のある汎用サービスを、ターゲットシステムから保護されている別のオペレーティングシステムで実行できるようにすることでサポートします。

Separate OS

API(TCP/IPスタックと関連APIを含む)と新しいホストのハードウェア抽象化を使用できます。少し異なりますが、別の方法として、独自のTCP/IPスタックを使用することもできます。

Delusionには、lwIPに基づく独自のTCP/IPスタックが付属しています

Blue PillベースのDelusionバックドアは、 Introducing Blue Pill プレゼンテーションに従って独自のスタックを使用します。

そして、新しいホストアプリケーションがターゲットOSと対話する必要がある場合はどうでしょうか?そもそもデータを盗むために。

  • ほとんどの正当な仮想化ソフトウェアと同様に、ゲストOS内でエージェントを使用できます。
  • CPUレジスタを制御することで、任意のフッキング技術を簡単に実装できます。
  • ハイパーバイザーは、ディスクとディスクへのOSインターフェイスも制御します。

これは別のトピックですが、ターゲットOSを制御するには十分です。

3
d36f