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

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

[[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、違いが分からない

推薦する

バイトダンスが「ランダムパンチ」でテンセント文学に対抗

TikTokが急速な発展の道に入って以来、ByteDanceはトラフィックの優位性をしっかりと占め、...

インターネット マーケティング: 「大きくて完全」 vs. 「小さくて美しい」

オンラインマーケティングといえば、多くの人がすぐに SEO、SEM、EDM などの言葉を思い浮かべま...

SEO を学ぶときは、トレンドに盲目的に従うことは避けるべきです。多くの SEO 理論は適用できません。

SEOについて初めて知ったとき、私は毎日仕事の後にSEOの本を読んでいました。数冊の本を読んだ後、私...

Kubernetes 上の Kafka のマルチクラスター展開を簡素化

翻訳者 |李睿レビュー |チョンロウApache Kafka (Kafka とも呼ばれる) は、Ap...

WeChat公式アカウントプロモーション | バイラルレベルの公式アカウント分裂とファン増加活動の2つの重要なポイント!

本稿では、計画策定と実践ポイントという2つの側面から活動全体の重要な詳細を分析・紹介し、パブリックア...

調査:国内ウェブサイト活動製品の調査

原題: 研究: 国内活動製品の探究街中やオフラインでのアクティビティが人気を集めています。Gauin...

Bステーションの商業化は深海に突入

Bilibiliの業績は上昇傾向にあります。最近発表された財務報告によると、第4四半期の業績は予想を...

Baidu が Canonical タグのサポートを開始しました。Canonical タグの使い方は?

Canonical タグは、2009 年に Google、Yahoo、Microsoft によって提...

ユーザーを満足させる高性能 Android アプリを構築するための 5 つのヒント

今日では、携帯電話やさまざまなモバイルアプリケーションが人々の日常生活の重要な一部となっています。そ...

V.PSはどうですか? 1Gbpsの高帯域幅香港VPSを評価、3つのネットワークを香港CMI経由に強制、速度が保証される

v.psはどうですか? v.ps 香港はどうですか? v.psは香港にデータセンターを持ち、香港クラ...

「模倣アプリ」はアカウント、料金、データを盗みます。彼らはあらゆる悪事を働きます

今はモバイルの時代です。パソコン、携帯電話、タブレット、スマートテレビ、車など、さまざまなモバイル端...

runidc: 香港物理サーバー、月額 30 ドル、帯域幅 30M、トラフィック無制限、e3-12XX/16G メモリ/1T ハードディスク

2008 年に設立されたホスティング会社 runidc は現在、香港で物理サーバーを割引価格で販売し...

中小企業必読:SEOを活用して低コストでマーケティングを行う

インターネット時代に中小企業がより発展するためには、インターネットマーケティングを通じて影響力を高め...