Table of Contents

仮想マシンを恐れるべきでしょうか?

仮想マシンは、よりスケーラブルでコスト効率が高く、柔軟なコンピューティング リソースを提供する方法を提供することで、クラウド コンピューティングに革命をもたらしました。しかし、その正当な用途にもかかわらず、それらは詐欺師が検出を回避したり、攻撃を拡大したり、その他の悪意のある活動を実行したりするのを助けることで、詐欺への扉を開くことにもなります。詐欺師がこのテクノロジーを悪用するのを阻止するには、企業が仮想マシンの不正使用とそれを検出するための手法を理解することが重要です。このブログ投稿では、仮想マシンとは何か、仮想マシンが詐欺にどのように使用されるか、そして仮想マシンの悪意のある使用を特定してブロックする方法について説明します。

仮想マシンの不正使用

仮想マシン(VM) は、さまざまなオペレーティング システムをシミュレートしたり、単一の物理マシン上で複数の OS を実行したりできる仮想化コンピューティング システムです。VM は、ダーク ウェブでツールをダウンロードしたり脆弱性を悪用する方法を探したりするのに時間を費やす詐欺師の間で人気があります。VM を使用することで、物理デバイスが追跡されたり損傷を受けたりしないように保護しながら、これらのアクティビティを実行できます。VM は、攻撃者が次のようなさまざまな悪意のある活動に利用することができるため、企業にとっても脅威となります。

  • デバイスのなりすまし: VM を使用すると、詐欺師は実際に使用しているデバイスとは異なるデバイスを模倣できます。詐欺師がユーザーの信頼できるデバイスを知っている場合、VM を使用して同様のデバイスを装うことができます。
  • 検出を回避する: VMを使用することで、攻撃者はデバイスを偽装し、 デバイスのフィンガープリンティング中に実行される評判チェックに合格する 既知の悪意のあるデバイスを識別してブロックします。
  • スケーリング攻撃: 単一の物理マシン上で複数の仮想環境を実行すると、攻撃者は異なる ID を持つ複数の仮想インスタンスを作成し、攻撃を自動化および拡張できるようになります。
  • レート制限の克服: 攻撃者は VM を使用して、異なるデバイス フィンガープリントを持つ複数のマシンをエミュレートできるため、単一のデバイスからの高レートおよび高速のリクエストを制限する制御を回避できます。

その結果、VM の使用は、特に信頼できるユーザーによる VM の使用が一般的でない場合や、他のリスク シグナルや異常を伴う場合、詐欺行為の兆候となる可能性があります。

VMを識別するための研究実験

VM の使用状況を検出する際、データを次の 2 つのカテゴリに分割できます。

  • VM であると宣言する VM
  • デバイスのなりすましのように、使用方法を偽装するVM

最初のカテゴリに属するものには、以下に示すように、VM ベンダーの特徴的な署名または VM 関連の GPU および CPU 署名が含まれます。

仮想マシンを恐れるべきでしょうか? - VM signature

ただし、使用方法を隠蔽する VM は、一目では見つけるのが難しい場合があります。しかし、もう少し深く掘り下げてみると、私たちが直面しているのは無実のマシンではないことを示す興味深い特性がいくつか見つかります。これらの特性を検出するために、当社のセキュリティ リサーチ ラボでは、さまざまな仮想マシンを作成し、SDK の出力を観察することで、VM の特性を調査しました。クラウドベースのWindowsマシンを使用しました。 UTM 、Appleシリコンを搭載したMacBookのローカル仮想化と バーチャルボックス Windows PC から。以下に、UTM マシンとその設定の例を示します。

ローカル仮想化に使用される UTM の例

UTM設定の例

以下は、Linux ディストリビューション Kali Linux で実行されているデモ サイトの例です。Kali Linux は、実行中の VM に関する情報をユーザーが制御および監視できるツールを含むオープン ソース オペレーティング システムです。

Kali Linux で動作する小売デモサイト

当社のセキュリティ研究者はこれらのツールを使用してテストとトライアルを実施し、VM の新しい検出方法の手がかりを得ました。これについては次のセクションで説明します。

検出方法

GPUとCPUのテスト

通常のユーザー トラフィックのほとんどは VM やスプーフィングされたデバイスから発生するものではないため、計算テストやレンダリング テストを実行することで、各ハードウェア プラットフォームのパフォーマンスを理解するのに役立つ十分な量のデータが得られます。このデータを使用して、各ハードウェア プラットフォームのパフォーマンスをサンプリングし、作成した VM の各新しいインスタンスと比較して、分布の平均からの標準偏差を決定できます。

コア番号

最近の最新の物理マシンにはすべて、少なくとも 2 つの論理コア (1 つの物理コアと 1 つのスレッド、論理コアで実行できるプログラム内の命令のシーケンス) が搭載されています。物理マシンには通常、基盤となるハードウェア アーキテクチャによって決定される固定数の論理コアがあるため、予想されるコア数の不一致 (既知の CPU のシグネチャを持つコアの数が偶数の場合やコアの数が奇数の場合など) は、VM が使用されていることを強く示唆する可能性があります。

VM を識別するために使用される Linux コア ディストリビューションのグラフ

プラットフォームの不一致

現代のコンピュータハードウェアには、2つの主要なアーキテクチャがあります。 RISC (縮小命令セットコンピュータ)と CISC (複合命令セットコンピュータ)。RISC CPU とプラットフォームは主に ARM CPU として知られており、ほぼすべてのモバイル デバイスと、Apple M1 などの一部のデスクトップ コンピューターに搭載されています。CISC CPU とプラットフォームは主に x86 として知られており、32 ビットまたは 64 ビットの構成 (Intel および AMD) で提供されます。奇数コアのインスタンスを調査したところ、x86 CPU に ARM 関連のグラフィックスが付属している場合があり、その逆の場合 (Intel 内部グラフィックスが付属する AMD CPU など) もあることに気付きました。また、すべてのプラットフォーム インスタンスをサンプリングし、各プラットフォームで最も一般的なインスタンスを見つけて異常を検出することもできます。

デバイスの特性

デバイスの特性は、VM の使用可能性を示唆する要素としても使用できます。これも:

  • メモリ: VM には通常、構成時に定義された事前割り当てメモリ量があるため、デバイスの報告されたメモリ量の不一致は VM の使用状況を示している可能性があります。
  • ピクセルと画面の深さ: 仮想化環境では、仮想化グラフィック ドライバーなどの要因により、表示機能が制限されていたり、標準ではない場合があります。
  • バッテリーレベルと充電: バッテリー関連の情報がない場合や、バッテリーの動作に矛盾がある場合 (実際のバッテリーが存在しないのに充電状態が表示されるなど) は、仮想化が行われている可能性があります。
  • 画面解像度と解像度比: 特殊な仮想化設定では、画面解像度に制限があったり、エミュレートされたハードウェアに依存したりするため、画面比が標準的でなくなる可能性があります。

クリーンなデータをサンプリングして異常を探すことで、画面解像度の分布を示す以下のグラフに示すように、VM の使用状況を示すデバイス特性の特定のパターンについてさらに多くの情報を得ることができます。

VM の使用状況を示す可能性のある異常を識別するために使用される Linux OS 解像度分布のグラフ

VM検出による不正行為の軽減の改善

調査を通じて得られた VM およびスプーフィングされたデバイスに関する新たな洞察と検出方法により、不正な VM 使用の検出を最適化するために使用できるデータの新しい機能とセグメンテーションが得られました。Transmit Securityの検出および対応サービス セキュリティ リサーチ ラボから得た情報を活用して、機械学習ベースのリスク エンジンを最適化し、新たな脅威パターンを検出します。これらの実験から学んだデータを使用して機械学習モデルをトレーニングすることで、仮想マシンのハードコードされた機能を特定できるだけでなく、教師あり機械学習アルゴリズムで使用するデータのラベルをさらに生成し、教師なしアルゴリズムや半教師ありアルゴリズムなどのより高度な機械学習手法に活用できるようになります。詳細については、検出および対応サービスがどのように使用されているかについてお読みください。 脅威パターンを発見するための機械学習ベースの異常検出 または 攻撃シミュレーターをチェックしてください VM ベースの攻撃が正規のトラフィックとどのように異なるかを実際に確認してください。

Author