テクノロジーセキュリティ:仮想サーバーとコンテナー

どのテクノロジーがより安全ですか? 多くの人は、 仮想サーバーがこれらの品質に大きく左右されると考えています 理論的にはそうですが、実際には...疑問があります。



多くの場合、「HTTPSは十分に保護されています」、「HTTPは安全ではありません」などの大声での発言を耳にします。 しかし、これらのフレーズは本当に何を意味するのでしょうか? 「HTTPSを追跡して中間者攻撃を開始するのは難しいか、「祖母はHTTPを追跡するのに問題はありません。」



この問題では、HTTPSがハッキングされる可能性があり(場合もある)、HTTPが非常に安全であるため、このようなフレーズをスローすることはできません。 さらに、HTTPS(OpenSSLおよびHeartbleedを意味する)をサポートする一般的な実装の悪用に関連する脆弱性が発見された場合、システム全体が修正されるまで、この同じHTTPSがハッカーゲートウェイになる可能性があります。



HTTPおよびHTTPSは、7230-7237および2828のRFC文書でInternet Engineering Council(IETF)によって定義されたプロトコルです。HTTPは最初に登場し、2000年には既にHTTPSのより安全な類似物として開発されました。 ただし、HTTPSは安全でHTTPは安全ではないと主張することはできません。 例外があります。



VPS (仮想マシン)がコンテナより安全である理由



分割して征服する-軍事戦略だけでなく、ソフトウェアにとっても勝利の原則です。 アーキテクチャが1つの大きく複雑な解決困難なセキュリティ問題をより軽いタスクに分割する場合、ほとんどの場合、この問題の各コンポーネントを解決する結果は、すべての問題に対処する1つのソリューションがある場合よりも安全なオプションになります。



コンテナはこの原則の代表例です。 各アプリケーションは独自の「セル」で隔離されているため、あるアプリケーションの欠陥が他のコンテナのアプリケーションを弱めることはありません。 仮想マシンもこの原則に基づいていますが、この場合、各アクションは分離して行われます。







コンテナで作業する場合、次のリスクがあります:「セル」に囲まれた1つのアプリケーションの弱点または誤動作は、他のアプリケーションに直接影響を与えることはできませんが、この誤動作しているアプリケーションは、他のコンテナも使用する単一のオペレーティングシステム(OS)を損傷する可能性があります。 これにより、すべてのコンテナが悪影響を及ぼします。 これらすべてを考慮すると、共通のOSを使用している場合、少なくとも1つのコンポーネントに誤動作があると、構造全体が危険にさらされると結論付けることができます。 つまり 少なくとも1つのセグメントが悪影響を受けると、物理マシンが危険にさらされます。



Windows VDSサーバーの仮想化などのマルチレベルアーキテクチャは、各アプリケーションの作業のスタックをハードウェアまで分離し、アプリケーションが共通のOSを介して相互作用する可能性を排除します。 さらに、各アプリケーションスタックとハードウェアの間には境界があり、それ以上のエラーや誤用を防ぎます。 これらはすべて、追加の信頼性と保護を提供し、アプリケーションが互いに悪影響を与えないようにします。 仮想マシンは、ユーザーのアクションを制御するOSと、ゲストOSと機器間の相互作用を制御するハイパーバイザーを分離します。 仮想マシンのゲストOSはユーザーのアクションを制御しますが、ハードウェアとの相互作用は制御しません。 アプリケーションまたはゲストOSのエラーは、物理ハードウェアまたは他の仮想マシンに影響を与えることはほとんどありません。



2つの同一のOS(仮想マシンのゲストOSとコンテナーOS)を使用する場合、悪影響を受けると、OSで実行されているすべてのコンテナーが危険にさらされ、仮想マシンの脅威は検出されません。 その理由は、アプリケーションが水平に分離され、OSが鉄から垂直に分離される場合、仮想マシンはセキュリティのための方法を使用するためです。



ハイパーバイザーの脆弱性



しかし、この記事のタイトルに戻って、仮想マシンは完璧ですか? それでも、すべての層を分離するようなアーキテクチャでも、脅威が発生する可能性があります。 そして、そのようなアーキテクチャの弱点はハイパーバイザーです。 ハイパーバイザーの動作に対する違反は単一障害点であり、システム全体を無効にしたり、特にパブリッククラウドでデータにアクセスできなくなったりする可能性があります。 そのため、あるハッカーがパブリッククラウドのユーザーに属する他のアプリケーションによって制御される仮想マシンで悪意のあるコードを起動すると、1つのハッカーがパブリッククラウドのすべてのデータを所有する状況が発生する可能性があります。



堅牢な構造のアーキテクチャには、システムを著しく弱める実装エラーが依然として存在する可能性があります。 ハイパーバイザーの動作における違反は、十分な注意が払われないことがよくあります。なぜなら、ハイパーバイザーには何も起こらないという強い意見があるからです。 結局のところ、ハイパーバイザーは非常に単純で、十分に記述されているため、慎重にチェックして、決して失敗しないと考えられています。 しかし、ハイパーバイザーの作業におけるエラーの結果は、誰にとっても悪名高いWannaCryウイルスの結果と同じくらい壊滅的です。 ちなみに、暗号化ソフトウェアOpenSSLの悪名高いHeartbleedエラーについても思い出してみましょう。 ただし、OpenSSLのコード行はハイパーバイザーよりもはるかに少なくなっています。 しかし、今のところは心配しないでください。



これまでのところ、システム全体を危険にさらすハイパーバイザーの共鳴的で重大な違反に関する情報はありません。 しかし、よく知られている情報セキュリティ脆弱性(CVE)のデータベースをすばやく明示的に分析すると、研究者がテクノロジーの脆弱性に影響するハイパーバイザーの動作にまだ欠陥があることがわかります。 しかし、システムに脆弱性が発生して発見された場合、開発者はそれらを修正する方法をすぐに見つけるため、ハイパーバイザーとして開発者に敬意を表する価値があります。 2017年3月、MicrosoftはMS17-008の番号でセキュリティ情報をリリースしました。これは、Hyper-Vハイパーバイザーの7つの修正された脆弱性を文書化したものです。



結論として、システムの実際の使用と理論的な知識に基づいて、仮想マシンはコンテナよりも優れたセキュリティを提供していると言えます。 ただし、ピンクのメガネを使用せずに仮想マシンシステムのセキュリティを確認し、常に監視する必要があります。 さらに、コンテナと仮想マシンは頻繁に結合されるため、このトピックについて長い間議論できます。



All Articles