web-dev-qa-db-ja.com

大手クラウドプロバイダーはどのようにしてVMエスケープ攻撃から防御しますか?

私たちが知っているクラウドコンピューティングは、仮想マシンの堅牢性の概念に依存していると言うのは、非常に難攻不落だと思います。 VMのセキュリティに依存できる場合、クラウドプロバイダーの複数の顧客からのワークロードを共有ハードウェア上で安全に実行できます。一方、1人の顧客の内部の何かのセキュリティが侵害された場合も保証されますVM=プロバイダーのサーバーのホストOSとファームウェアは影響を受けません。Amazon、Microsoft、Google、IBM、または実際に任意のサイズのクラウドプロバイダーの場合、VMそれぞれの分離を確認してください顧客のものは妥協せずに残っ​​ていることは、あなたの業務にとって、そしてあなたのサービス提供を信頼し続けている顧客にとって不可欠です。

しかし、私たちが知っているように、VM arenotescape-proof です。セキュリティの脆弱性は、私が考えることができるすべての主要な仮想マシンテクノロジーで定期的に発見されています。 [〜#〜] venom [〜#〜] Xen VMの場合、おそらくこれらの中で最も有名ですが- ハイパーVVMware製品など も脆弱性の影響を受けています。もちろん、これらの既知の欠陥はプロバイダーによって修正される可能性があり、修正されます。しかし、疑いなく他の欠陥がそこにあり、発見され、(潜在的に)攻撃者によって悪用されるのを待っています。実際、リソースの豊富な攻撃者、つまり社内で新しい脆弱性やエクスプロイトを開発したり、貴重なものをグレー/ダークマーケットで購入したりできる攻撃者は、かなりの時間/労力/お金を費やすことに非常に強いインセンティブを持っていると思います主要なクラウドプロバイダーが使用しているVMからの脱却を可能にする新しい仮想マシンを見つけたり購入したりすること。特に、非常に多くの企業や組織のテクノロジーインフラストラクチャでクラウドコンピューティングが果たす役割がますます高まっていることを考えると、高度な攻撃者にとって(さまざまな理由で)すべてが潜在的に危険なターゲットになっています。

では、Amazon、Microsoftなどは、巧妙な攻撃者(国家が後援するAPT、ハイエンドの組織犯罪など)が小説を購入するために開発できる脅威からどのように保護するのですかVM escapeプロバイダーのインフラストラクチャと顧客に対してそれらを悪用して使用しますか?私に突き刺す1つの明白な対策は、すべてのクラウドサーバーでカスタマイズされたホストベースの侵入検知システムを実行して、VMエスケープイベントを/それらが発生したとき、しかし私たち皆が今までに知っているように、HIDSは決してフールプルーフではありません。クラウドプロバイダーがVM収容違反の危険を検出、防止、または軽減するために取ることができる他の手段?

23
mostlyinformed

高度にカスタマイズされパッチが適用されたハイパーバイザー、ブレイクアウトを軽減するためのハイパーバイザー周辺のサンドボックス、および頻繁な監視。もちろん、特定のサーバーは非常に多くのVMしかホストしないため、ハイパーバイザーの外部の保護を通過できる場合、ブレイクアウトは基本的に有限数のゲストに制限されます。たとえば、QEMUは、chroots、モード2 seccomp、必須アクセス制御を使用して分離された、強化されたツールチェーンでコンパイルできます。カスタムのseccompフィルターを使用し、余分なコードや機能を無効にし、カスタムの強化されたドライバーを追加して、パッチを適用してより安全にすることができます。カスタムカーネルを構成および強化して、エスケープされたゲストがカーネルを危険にさらして必須のアクセス制御をエスケープする機能を制限できます。

残念ながら、質問への回答の一部は、「そうではない」と答えることができます。多くのクラウドプロバイダーは、定期的に危険にさらされていますが、それを知らなかったり、開示していません。私はこれが定期的に起こっているのを見ます、そしてそれはきれいではありません。 0daysが使用されることもあれば、プロバイダーのあまり知られていない公開の問題が利用されることもあります。たとえば、Amazonのハイエンドエンドは、顧客を切り替えるときにシャットダウンしないため、GPUがVRAMをワイプせず、次の顧客が前の顧客が何をしていたのかを確認できます(OpenCLでシークレットを盗む、VNCまたはX11転送で送信されたもの、等)。アマゾンセキュリティチームはこのことを知っていますが、まだ修正していません。彼らは顧客にこれを伝えません。これは、セキュリティに費やされた努力の欠如、および現在のセキュリティ問題に関する認識の欠如を示しています。ビッグニュースになると思われるこのようなことはほとんど知られていませんが、クラウドプロバイダーに対する大規模または高度な攻撃が一般の人々に気づかれずに発生するのは当然のことです。認識の欠如と攻撃のニュースは、これらの大企業がどのように安全に保たれているのか不思議に思っています。そうではありません。

左側はvimが開いたウィンドウです。その中には、ある中規模のクラウドプロバイダーのハイパーバイザーから抜け出すために最近使用された0day onのコードがあります。保護は実施されていません。起こったのは、エクスプロイトが発生し、ハイパーバイザーが実行されているプロセスの特権でホストにアクセスできることだけでした。サンドボックスや大規模な監視ソリューションはありませんでした。カーネルの脆弱性を引き起こす単一の廃止されたsyscallは、カーネルの侵害とメモリ内の永続性(grsecurityによって軽減されたであろうfwiw)、およびその後の情報の漏えいにつながります。この会社は数億ドルの価値があります。きっと無数の人が訪れたことがあると思います。これは実際の証拠ではなく、私自身の経験ですが、うまくいけば、クラウドビッグクラウドプロバイダーが実際にVMを回避できないことを示します。最初の段落で述べた例外は例外です。 。

17
anon

VMエスケープ攻撃に対する主な防御策は、具体的には defense-in-depth です。具体的には、さまざまな防御メカニズムが整っている場合、攻撃者はそれらを十分にトリガーして、防御者が悪いことの発生を阻止できるようにします。攻撃者が1つのハイパーバイザーで1つのvmからの脱出に成功したとしても、それらをキャッチするものがある可能性があります( Tripwire 、アンチウイルス、 Modsecurity など) 。脆弱性を共有しない十分な数のレイヤーを作成すると、発生することが不可能ではないにしても極めて困難になります。

しかし、多くの点で、あなたの質問は頭のくぎに当たります。すべての防御に固有の攻撃を構築できる熟練したやる気のある攻撃者は ハイパーバイザールートキット を埋め込むことができ、ホストはそれを知ることはありません。

防御側の優れたチームは、攻撃者をシャットダウンするためのさまざまなツール/トリックを理解して使用できる必要があります。うまくいけば、これで正しい方向に進むことができます。

1