深夜、仮想マシンからプログラムが実行してしまいました...

深夜、仮想マシンからプログラムが実行してしまいました...

[[386470]]

画像はPexelsより

罠に落ちる

「次兄さん、やっと来たね。計画通りにやろう。ハードドライブ上のファイルをスキャンして、価値のあるものがあるかどうか確認してくれ。スタートアップ項目を修正して、俺たちを追加してやるよ。」

「ちょっと待ってください、ボス、何かおかしい気がします。」

"どうしたの?"上司は尋ねた。

「これまで行った他の場所はどこもとても賑やかなのに、なぜここはこんなに静かなのでしょうか?QQやWeChatのプロセスさえありません!」二番目の子は言いました。

上司は辺りを見回して、何か異常なことに気づいた。

しばらく待った後、上司は突然叫びました。「ああ、これは仮想マシンだ。我々はそれに陥ってしまった!」

「これが仮想マシンだとどうしてわかるのですか?」二番目の兄弟は困惑して尋ねました。

「ほら、そこには VMware プロセスがあり、レジストリにはたくさんの vmware タグがあります。」

「どうしよう?もうだめだ、裸にされちゃう~」と次男は不安そうな顔をした。

長男は顔をしかめ、行ったり来たりしながら、突然嬉しそうな表情を見せて言った。「心配しないでください。出発する前に、師匠がこっそりと宝袋を私に渡して、緊急時に開けるように言ってくれました。」

「何を待っているんだ?今すぐ取り出して!」

長男はポケットから宝袋を取り出した。中には手紙が入っていました。二人の男はそれを注意深く読んだ。

しばらくして、ボスは大きな声で笑いながら言いました。「兄さん!安定してるよ!」

2 番目の兄弟は、よく理解できず困惑した表情を浮かべました。「兄弟よ、私の無知をお許しください。どうすればこれが安定するのでしょうか?」

「ほら、マスターが仮想マシンからの脱出方法を説明してくれて、仮想マシンからの脱出方法を教えてくれたよ。」

「兄さん、声を小さくしてください。そうしないと、見つかりますよ。始めましょう。そうしないと、手遅れになるかもしれません。」

「焦らないで、じっくり勉強させてください。」

便箋にはたくさんの文字がぎっしりと書かれていて、ちょっと複雑そうに見えました。先ほどまで緩んでいた二人の眉が、またゆっくりとしかめ面になった。

しばらくして、2 番目の兄弟は我慢できなくなり、「お兄さん、これは複雑すぎます。理解できません。あなたに頼るしかありません」と言いました。

「分かりました。仮想マシンは外の現実世界と通信します。通信プロセスの抜け穴を見つけて、通信データにコマンドコードを混ぜ、外の世界で通信を担当する端末にそのコマンドコードを実行させれば、それを送信して外の現実世界へ脱出できるのです!」

「なるほど、でもそんな抜け穴はどこにありますか?」

「わかった。ここを見て。オーナーは私たちのために抜け道をいくつか見つけてくれた。なんて思いやりのある人なんだ!」

  1. 2016-7461 の脆弱性
  2. CVE-2017-4901
  3. 修正:

「これらの文字列と数字はどういう意味ですか?」二番目の子供が尋ねました。

「これは脆弱性番号といいます。CVEはCommon Vulnerabilities and Exposuresの略で、2番目が年、3番目が具体的な脆弱性番号です。ソフトウェアの脆弱性は毎年数多く発見されており、管理の便宜上、一律に番号が振られているのです。」

「急いで選んで始めましょう!」

「ちょっと待って。2番目を選択しましょう。これは VMware の脆弱性です。バージョンは適切で、まだ修正されていません。兄弟、チャンスが来ました!」

そう言うと、上司は手紙に書かれた内容に沿って作業を開始し、後で使用するデータやコードを準備しました。

「ボス、この抜け穴の原理は何ですか?準備している間に私に教えてくれませんか~」

「オーナーの手紙には、VMware には、仮想マシンの内部オペレーティング システムが外部システムと通信するために使用できるバックドア通信インターフェイスがあると書かれていました。コピーやドラッグ アンド ドロップは、それをファイルの転送に使用します。バックドア コードには脆弱性があります。データを慎重に構築すれば、コピー時にヒープ オーバーフローが発生し、命令コードが実行される可能性が出てきます。」

「すごい!ご主人様は本当にすごい!」と2番目の子が叫びました!

「急いでデータの準備を手伝ってください!」

新世界

しばらくして。

「お兄ちゃん、準備はいい?」

「手紙の指示通りに準備はすべて整いました。さあ、兄弟よ、私たちはもうすぐ出かけます。私につかまっていてください。」

上司は、慎重に準備したコードを取り出し、慎重にクリックして実行しました。シューという電気の音が鳴り、2 つの信号はビット ストリームの文字列となり、外部の VMware プロセスに送信されました。

[[386474]]

計画通り、脆弱性がうまくトリガーされました。二人は事前に書き込んだ命令コードを実行した結果、外にあるコンピューターのファイルディレクトリに無事到達した。

しばらく待っていると、二人はゆっくりとめまいから回復した。

「ボス、成功しました!」

「はは!やっと出たよ。」

二人は喜びのあまり強く抱き合った。

「さて、そろそろ仕事に取り掛かりましょう。私たちはすでにかなりの時間を無駄にしており、主人はまだ私たちの知らせを待っています。」

「よし、仕事に取り掛かろう!」

二人は計画を実行するために時間と競争しながら忙しくなり始めましたが、すぐに何かがおかしいことに気づきました。

「ボス、なぜまだ VMware プロセスがここにあるのですか? 我々は脱出したのではないですか?」

「馬鹿馬鹿しい、私たちはそこから逃げ出しただけよ!」

「いや、見に来てください」…

上司は知らせを聞いて駆けつけ、注意深く点検した後、再び周囲を見回して息をついた。

「兄さん、終わりました。どうやらまだ仮想マシンのようです…」

[[386475]]

ストーリーのインスピレーション

このストーリーは、Zhihu の「オペレーティング システムは、仮想マシン内にあることを認識できますか?」という質問から着想を得ました。私の答えは次のとおりです。

仮想化テクノロジーは、次の 3 つの開発段階を経てきました。

  • 初期のバイナリ命令変換技術(初期のVMwareに代表される)から
  • オペレーティングシステムコード(XENで表現)内の特別な命令呼び出しを変更することにより
  • CPU をサポートするハードウェア仮想化 (VT-x テクノロジに代表される)、特にハードウェア仮想化テクノロジの登場により、仮想化テクノロジは急速に発展しました。 VirtualBox、VMWare(新)、KVMなどが次々と登場し、クラウドコンピューティング時代の到来がある程度加速しました。

問題自体について言えば、3 回の開発期間を経て、仮想化機能は実際のハードウェア環境にどんどん近づいていますが、それでも、オペレーティング システムが仮想マシン内にあるかどうかを判断するのは依然として簡単です。

オペレーティングシステムと言うのは、それほど簡単に理解できるものではないかもしれません。シナリオを変えてみましょう。トロイの木馬ウイルスの開発者は、攻撃の対象が仮想マシンであるかどうかを知りたいと考えています。

この質問はより現実的です。仮想マシンにウイルスやトロイの木馬が存在する場合、セキュリティ研究者によって分析されている可能性が高くなります。優れた開発者は、自分の意図を隠し、見破られないようにする方法を知っていなければなりません。

これは、ウイルスやトロイの木馬でよく使用される仮想マシン対策技術です。

具体的な検出方法は多数ありますが、基本的な考え方は、仮想マシンごとに特性が異なるため、必要なのはこれらの特性を見つけることです。

たとえば、特殊な IO デバイス、特殊なファイル ディレクトリ、特殊なレジストリ エントリ、特殊なプロセス名などです。

もちろん、ここまで述べた後でも、仮想マシン内にあるかどうかを判断するために、いくつかの表面的な現象を使用します。これらがどれも存在しない場合、どうすれば真の「認識」を達成できるのでしょうか?

まだ方法はある。

実際の物理マシンと仮想マシンの間には常に違いがあります。これについては、アルゴリズムの実行にかかる時間や、特殊なコードの実行によって生じるハードウェアの変動など、「サイドチャネル」の観点から考えることができます。

仮想マシンは絶対に安全ではありません。仮想マシン内のプログラム コードは、実際のホスト上のプログラムと同様に物理 CPU によって実行されますが、ハードウェア、ソフトウェア、およびその他のメカニズムによって「強制的に分離」されていることを知っておく必要があります。

これらのメカニズムに抜け穴があると、悪意のあるプログラムが仮想マシンから脱出するチャンスが生まれます。

物語の終わりに、彼らはついに仮想マシンから脱出しましたが、自分たちがまだ別の仮想マシンの中にいることに気付きました。

この筋書きはあなたにとって馴染み深いものですか?映画を推測してください。コメント欄にコメントを残してください〜

著者: 風玄元

編集者:タオ・ジアロン

出典: 公開アカウント Programming Technology Universe (ID: xuanyuancoding) から転載

<<:  ビッグデータとクラウドコンピューティングの深い統合の傾向はどのような側面に反映されていますか?

>>:  NameServer、Zookeeper、違いが分からない

推薦する

ihor: 無制限のトラフィック、1 日あたりの料金、0.15 ドル/日、KVM/1g メモリ/20g ハードディスクを備えたロシアの VPS

ihor は、ロシアの商人 marosnet (2000 年に設立され、独自のデータ センターを独立...

ウェブサイトの最適化コンテンツとフレームワークは無視できない

インターネットの発展に伴い、多くの企業がより多くの販売チャネルと開発スペースを獲得するためにウェブサ...

ショッピングガイドコミュニティの開発は困難に直面しており、ユーザー蓄積システムを確立することは困難です。

わが国のショッピングガイドコミュニティは、わが国のインターネット企業の完全なオリジナル作品です。なぜ...

インベントリ: 2022 年に注目すべきエッジ コンピューティング オープンソース プロジェクト トップ 10

IDC の最新の「グローバル エッジ コンピューティング支出レポート」によると、エッジ コンピューテ...

neironvps: 月額 2.95 ドル、1G メモリ/1 コア/10g SSD/1T トラフィック、ロサンゼルス/スイス/ドイツ、Windows 試用版あり

neironvpsは主にアメリカ(ロサンゼルス)、ドイツ、スイスでVPSや独立サーバー事業を運営して...

burstNet-E6500/4g メモリ/500g ハードディスク/5T トラフィック/フリー DA パネル

BurstNet は、デフォルトで 5T のデータ トラフィックを備えた特別価格のモデルを 2 つリ...

2022 年に注目すべき 3 つのクラウド セキュリティ トレンド

デジタル化の着実な進歩と膨大なデータの処理により、企業はクラウド コンピューティングが提供するサポー...

モバイルインターネットはどうやって儲かるのか?馬化騰氏はゲーム業界に最も楽観的だ

原題:馬化騰氏はモバイルゲーム業界について最も楽観的であると述べ、テンセントと運営会社との関係を説明...

企業がクラウド移行を準備する際に尋ねるべき 4 つの重要な質問

今日、ますます多くの企業がオンプレミスのデータセンターからクラウド コンピューティング環境に業務を移...

エンタープライズウェブサイトの構築と最適化に関する実務経験

インターネットの発展により、オンライン情報はあらゆる方法で私たちの生活に浸透し、私たちの生活に利便性...

Kvmla - 旧正月用に100元ゲットして無料トップアップ、日本、シンガポール、香港のVPSが20%オフ、Windows内蔵

国内老舗商人KVMLAのDingyou Yearプロモーションが始まりました:[1]日本VPS、香港...

Go 分散トークン バケットの電流制限 + 最終利益の保証

この記事は、Ouyang An が執筆した WeChat パブリックアカウント「Microservi...

COVID-19パンデミックにおけるエッジコンピューティングの未来

[[377008]]モノのインターネット、5G、AR/VR などの新興テクノロジーの台頭により、エッ...

OVHはどうですか?ストラスブール(SBG)データセンターレビュー、フランス

ovhはどうですか?フランスはどうですか? ovhストラスブールのコンピュータルームはどうですか? ...