仮想インフラにおける現実のセキュリティ - パート1(20090709-7)

7/09/2009   |   原文はこちら (English)

virtualization.infoに新コラムの登場だ。このコラムでは、大部分が未知の分野である仮想化のセキュリティについて探求していく。

研究者らはかなり以前からこのテーマに取り組んでおり、ベンダー各社もセキュリティガイドやベストプラクティスを定期的にリリースしている。それでも、仮想化における現実のセキュリティの課題は、じっくりと議論されたことも、大半の大企業のセキュリティ統治に統合されたこともない。

仮想化のセキュリティについて考えるとき、われわれはきっとCPUのレジストリ、リソースロック、そしてタイムベースの隠れチャネルが関連した技術的に高度な問題を考えてしまう。本稿は、これが仮想化のセキュリティのすべてではないことを示す一連の記事を集めることから始める。

本稿では、業界のベストプラクティス、標準、および経験のおかげで簡単に管理できる自分たちが熟知しているものと、水面下に隠れ、新しい仮想化の世界で直面している未知の(もしくは少なくとも知名度の低い)リスクとの違いに重点を置くことに努める。

実際、まず第1回目は、問題を議論することから始めたい。まずは、誤った管理と常識の欠如という簡単なものからだ。
それから、もっと技術的な内容に進み、侵略者が仮想化のインフラに攻撃をかけてくる場合に可能性が高い形を探究する。
また、ハイパーバイザー自体の問題も探求し、セキュリティに関してソフトウェアのエコシステムが果たす役割や、全く新しい脅威が出てくる場所について議論する。
最初のシリーズは、魔物が潜む細かい詳細に重点を置くところまでとする。セキュリティや仮想化を考えるときに考慮しなくてはならないわずかな違いであり、被害を受けるマシンと安全なものが決まるかもしれない細かい詳細だ。また、ハードニングと、それに対する仮想化の対応に重点を置く。いずれ分かるが、これらはなかなかうまくいかない。

では、まず仮想世界におけるテンプレート管理(生まれ変わった古くからの脅威)から始めよう。

 

仮想世界におけるテンプレート管理(生まれ変わった古くからの脅威)

サーバ管理において最も顕著で、仮想化に直接結びつく改善部分の1つが、一般に「テンプレート」という名前で知られているものだ。

ベンダーごとに異なる用語(プロファイルやクローンなど)でこの概念を指していても、基本的な概念は変わらない。骨格となる仮想マシンをある時点で作成しておき、新しい本番用サーバの提供を加速させたり、テストや開発を簡略化するために将来的に再インスタンス化を行う。
これは、本稿で何度もカバーする「セキュア仮想マシンライフサイクル」の一部に過ぎないが、比較的新しく小さいインフラでも一般的に導入されるためかなり興味深い。
テンプレートはハイパーバイザーで直接サポートされないが、このような機能は仮想マシンの「ゴールデンマスター」を保管し、何度もくり返しコピーすることにより、何とかエミュレートすることができる。
経験豊かなシステム管理者には同じような手法がよく知られているが、これは仮想環境だけに関連しているわけではない。ディスクイメージ化ソフトウェア、Microsoft Sysprepのようなツール、あるいはリモートイメージダンパもかなり以前から存在しており、大企業では幅広く活用されている。

ではなぜ、このテンプレート処理が仮想化のセキュリティコミュニティーと関連しているのだろうか?
その答えを出すには、仮想化登場前にあったものと、今あるものとの違いに焦点を当てる必要がある。

まず、現在はテンプレートの導入に関し、セキュリティのベストプラクティスが欠けている。
ディスクのイメージ化ソリューションがあると、DVDや外部ディスクのコンテンツがマシンにコピーされるとすぐ管理者がシステムをブートする。業界のベストプラクティスでは、パスワードを変更して適切なコンフィギュレーションを行ったり、安全な環境でサーバをハードニングするため、これは隔離されたネットワークで行われる。
もともと仮想化されていた環境についてはどうだろうか?管理者はおそらく、本番もしくは開発中の仮想スイッチでマシンをブートし、パスワードを変更し、あとでサービスをコンフィギュレーションして、サーバが各種攻撃を受けてしまう状態にしておく。これ自体は技術的問題ではなく、管理者は簡単にネットワークインターフェースを無効にし、サーバを安全にコンフィギュレーションすることができる。

しかし、セキュリティ分野における経験から分かるように、標準の手順でも、厳密な技術的プロセスでもないものは、たいていはインプリメントされず、仮想管理コンソールを使っていると、標準導入時の常識(ケーブルを抜くだけ)も簡単に見落とされてしまう。

パスワードやデフォルトコンフィギュレーションだけの問題ではない。エクスプロイトコードによるリモート攻撃が頻繁に見つかる世界では、パッチを当てていないサーバはものの数分で悪用される可能性がある。確かに、アップデートをチェックし、場合によってはアップグレード作業も行うセキュリティチームがいずれはサーバの面倒を見てくれるだろうが、意識の高いシステム管理者は、サーバがアプリケーション管理チームに貸し出される前に、利用可能なすべてのセキュリティアップデートを完全インストレーションプロセスの最後で実行する。

テンプレートベースの仮想環境では何が起こるのだろうか?核となる複雑な基準ソフトウェアをインストールしたテンプレートでは、タイムリーにセキュリティアップデートを適用するための修正は行われるのだろうか?それとも、数カ月間もいじられることなく、その後インスタンス化された各サーバは、少なくともアップデートがインストールされるわずかな間、脆弱性にさらされるのだろうか?
思い浮かべたであろう答えは大半の環境においては後者であり、仮想化ベンダー各社も、「VMware Update Manager」(VUM)や「Microsoft Offline Virtual Machine Servicing Tool」などのテンプレートを直接扱うツールをリリースすることでその事実を認めている。だが、ISVによるこれらのツールのサポートには改善の余地があり、その採用率は登場以降大きく伸びていない。

テンプレートのもう1つの問題は、テンプレートデータベースへの攻撃に関するものだ。管理者はゴールデンマスターをどこに置くのだろうか?
このストレージシステムは本番環境レベルのシステムセキュリティを持つのだろうか、それとも、テンプレートは使い捨てツールと見なされ、ネットワークファイル共有に残されたままで、攻撃者が簡単にアクセスできてしまうのだろうか?
筆者はカスタム実証ツールを自ら探求する機会に恵まれているが、オフラインのゴールデンマスターに対して書き込みアクセスを持つ攻撃者にとって、ルートキットを埋め込むのは何でもないことだ。これが改ざんされたテンプレートをベースにしたすべての仮想マシンに運ばれてしまう。

解説してきたこの問題は、従来のテンプレートベースのインフラに対する攻撃と共通点が多いが、こちらの方が仮想化環境との関連性がはるかに高い。この事情の認知度は、ベンダー各社やセキュリティを熟知した仮想化管理者たちの間で高まりつつある。 
だが、提案されているソリューションは包括的なものとはほど遠い。標準のハイパーバイザー管理システムに安全な仮想マシンライフサイクル 管理が完全統合されるまで、ここが絶対にセキュリティの脅威とならないよう、企業や組織は適切なセキュリティポリシーや手順を用意および実施する必要がある。


次回は、仮想化管理ウェブコンソールのセキュリティについて解説する。ご期待いただきたい。

ラベル: