仮想マシン道しるべ : 仮想マシン技術の応用
全文
(2) 連載 シンクライアントシステムを作ることもできます. 職場と家でほぼ同じ実行環境を使いたいというだけな. Linux 2.4 Linux 2.6. らば,スナップショットのファイルを転送するか持ち運. Windows Vista. FreeBSD. host OS, VMS. ぶだけで十分である場合も多いです.しかし,ホスティ. hardware. ングの場面では,仮想マシン上で動いているサーバや. OS をマイグレーション時に停止させたくないなどの要. Windows XP. 図 -3 多様な開発環境の構築. 求があり,より洗練された機構が必要になることがあり ます. いくつかの仮想マシンシステムには,仮想マシンのマ. トを用いてもできます.しかし,仮想マシンシステムは. イグレーションを支援する機構が備わっています.たと. より高い利便性を提供します.たとえば,ディスプレイ. えば著名な仮想マシンシステムである VMware と Xen. 上の複数の実行環境を見比べて切り替えながら使うこと. は,それぞれ VMotion と live migration という機構を. ができます.また,スナップショットを用いて,OS 全. 有しています.これらのシステムでは,ゲスト OS を動. 体を複製したり,OS の状態を過去に戻したりできます.. 作させたまま別の計算機に移動させることが可能です.. 複数人での開発や複数の計算機を用いた開発では,ス. マイグレーションに伴うゲスト OS の停止時間の問題は,. ナップショットは特に便利です.仮想マシンの状態を丸. スナップショットを 2 段階に分けて転送するなどの技. ごと保存,転送すれば,異なる計算機上でも元の計算機. 術によって解決しています.マイグレーション支援機構. とほぼ同じ実行環境でソフトウェアを動かせます.OS. の研究は,QEMU などの他の仮想マシンシステムに対. やライブラリの設定などの環境条件が変わると,動いて. しても行われています.. いたソフトウェアが動かなくなったり,発生していたバ. スナップショットは一般にサイズが大きく,転送に. グが発生しなくなることがあります.そのような問題は,. 時間がかかりますし,大量のディスク容量を消費しま. 仮想マシン上で動く共通の実行環境を利用することによ. す.Stanford 大のグループによる 2002 年の論文. り極力抑えることができます.. 4). で. は,この問題を解決するべく,仮想マシンのマイグレー. 1 つの計算機上で多数の OS を動かせるという恩恵を. ションを最適化する技術が提案されました.その論文で. 利用した自然な応用に,分散システムのテスト環境があ. は,ゴミデータが入っているページをゼロフィルしてス. ります.分散システムの開発では,通常,異なる計算機. ナップショットの圧縮率を高める技術,copy-on-write. 上で通信しながら動く複数のプログラムを記述,テスト,. ディスクにより,異なる仮想マシン間でディスクブロッ. デバッグすることが必要になります.多くの計算機やネ. クを共有する技術,転送済みのデータブロックを端末に. ットワーク機器を準備すればそのための環境は得られま. キャッシュして将来の実行で使う技術などが提案されて. すが,高いコストがかかります.仮想マシンシステムに. います.. より,低コストで擬似分散環境を構築することができま. [. ソフトウェア開発. ]. す.コストのみならず,自分の望む動きをする分散環境 を作れるという利点も生まれます.たとえば,仮想マシ ンシステムと補助プログラムを組み合わせれば,ネット. 仮想マシンシステムの別のキラーアプリケーションに. ワーク構成,ネットワーク遅延,障害の発生などを,ユ. は,ソフトウェアの開発,テスト,デバッグがありま. ーザの設定に沿うよう制御しながらテスト,デバッグを. す.ソフトウェアをいろいろな実行環境上で開発,テス. 行うことができます.仮想マシンシステムを用いた分散. トすることが必要な場合があります.たとえば,開発. システムのテスト環境の例としては,情報通信研究機構. したソフトウェアが多様な OS および多様なバージョン. の StarBED があります.StarBED は,利用者の意図す. の OS 上で動作するかどうかを検査したい場合がありま. るネットワークトポロジーに応じてクラスタの各ノード. す.OS の各種設定やライブラリバージョンの多様性も. 上で仮想マシンシステム VMware を動作させて大規模. 考慮する必要がある場合もあります.そうすると,構築. 分散環境を構築します.StarBED 上に 1,000 以上の仮. しなければならない実行環境の数は膨大になります.こ. 想ノードを構築して実験を行ったことなどが報告されて. のような場合では仮想マシンシステムの利用が有効です.. います.現在,次の版である StarBED2 の研究開発が進. 1 つの計算機上で,さまざまなバージョンのさまざまな. められています.. OS をさまざまな設定で動かすことができます(図 -3).. 別の重要な応用は,OS やデバイスドライバの開発で. 1 つの計算機上にいろいろな実行環境を構築すること. す.OS を仮想マシン上で動作させることにより,動. は,仮想マシンシステムを利用しなくても,マルチブー. 作を解析,制御しやすくなります.たとえば,OS が. 1284. 48 巻 11 号 情報処理 2007 年 11 月.
(3) 4 黒い画面を出したままキー入力を受け付けなくなって も,OS の状態やバグの原因を仮想マシンの外側から調 査することができます.また, OS が起動しなくなっても, スナップショットを用いて OS の状態を過去のものに戻 すことができます. 仮想マシンはゲスト OS から見ればハードウェアです が,その実体はソフトウェアによって作られているため, 動作を柔軟に変更できます.この側面を OS 開発に活か. trusted environment secret info. trusted programs. untrusted environment public info. untrusted programs. guest OS. guest OS host OS, VMS hardware. controls device accesses issued by guest OS. 図 -4 セキュリティのための実行環境の隔離. したシステムが提案されています.2007 年に論文が発 表された FoxyTechnique. 6). は,OS の資源管理ポリシー. の変更を,OS カーネルの修正によってではなく,仮想. コスト,作業コスト,脅威の見積もり(仮想マシン間. マシンシステム層によって実現する技術です.ゲスト. covert channel が作られたり,仮想マシンシステムや. OS に関する知識を利用し,仮想マシンシステムが提供. ホスト OS が乗っ取られる可能性),ほしい機能(スナ. する仮想ハードウェアの挙動を変化させることにより,. ップショットを利用したバックアップ機能や攻撃解析機. ゲスト OS の資源管理ポリシーを望みのものに変える効. 能)などに従って判断することになります.. 果を作ります.FoxyTechnique により,OS を修正する. 仮想マシンシステムをセキュリティ用途に用いる際. ことなく,別の資源管理ポリシーを OS に適用する実験. には,信頼するプログラム部分,すなわち,Trusted. ができます.. Computing Base(TCB)を把握することが重要になり. [. セキュリティ. ]. ます.仮想マシンシステム以外による多くの方法では,. OS カーネルが TCB に含まれます.たとえば,OS 内の 仮想化機能を用いて環境を隔離しても,悪意コードは. 仮想マシンシステムの興味深い応用の 1 つがセキュ. OS カーネルを乗っ取れば隔離の壁を破ることができま. リティです.ホスティングやソフトウェア開発に比べる. す.一方,仮想マシンシステムを用いた多くの方法では,. と研究段階の技術が多く,社会に普及するまでまだ時間. 1 つのゲスト OS が乗っ取られても,他のゲスト OS も. がかかる技術が多いですが,だからこそ今後注目の応用. すぐ乗っ取られることにはなりません.すなわち,ゲス. 分野であるという見方もできます.. ト OS のカーネルコードを TCB に入れずに安全性を高. 仮想マシンシステムにより,隔離された実行環境を低. めることが可能です.ただ,どんな種類の安全性を実現. コストで簡便に構築することができます.機密データと. するかによっては,ゲスト OS のカーネルコードを TCB. そうでないデータを分離して別の仮想マシンに入れたり,. に入れなければならない場合もあります.いずれにして. 信頼できるプログラムと信頼できないプログラムを別の. も,通常,仮想マシンシステムは TCB に含まれるので,. 仮想マシンで実行することができます(図 -4) .悪意コ. 仮想マシンシステム自身の乗っ取りや改ざんには注意す. ードの動作を解析するための実行環境や,攻撃手法を収. る必要があります.. 集するための実行環境(honeypot)を作ることもでき. 複数の実行環境を別々の仮想マシンに入れるだけです. ます.. べての問題が解決するわけではありません.現実には,. 仮想マシンシステムを用いる利点は,実行環境どうし. 他と完全に隔離された実行環境は使い勝手が悪く,他の. が強く隔離されることです.仮想マシン上で動いている. 実行環境と情報をやりとりしたり,資源を共有したくな. アプリケーションまたは OS カーネルが悪意コードによ. ることが多いと言えます.そこで有効なのは,仮想マシ. って乗っ取られたとします.その悪意コードは,その仮. ンによる通信や資源共有が,ユーザの意向に副う制御さ. 想マシン上のゲスト OS 内ではデータ破壊や情報収集が. れた形で行われることを強制する仕組みです.. できます.しかし,仮想マシンの外のプログラムや資源. この考え方に沿っていくつかの製品が作られています.. を好き勝手に制御することはできません(もし悪意コー. まず,HP 社の Nettop や General Dynamics 社の High. ドが下の仮想マシンシステムを乗っ取れば,上で動いて. Assurance Platform Workstation があります.これら. いる仮想マシンすべての実行を制御し得ますが) .. のシステムでは,1 つの計算機上に信頼度の異なる複数. 当然ながら,隔離された実行環境は,仮想マシンシス. の実行環境を構築することができます.信頼度の低い仮. テムを利用しなくても,新たに計算機を追加すれば構築. 想マシンに機密情報が流れ込むことや,信頼度の低い仮. できます.あるいは,上述した OS 内の仮想化機能を使. 想マシンから信頼度の高い仮想マシンに悪意のデータが. う手もあります.どの方法を取るかは,ハードウェア. 流れ込むことを防げます.IBM 社によって研究開発さ IPSJ Magazine Vol.48 No.11 Nov. 2007. 1285.
(4) 連載 れている sHype も複数の仮想マシンの動作をポリシー. 散 IDS を 構 成 す る 各 IDS と 各 サ ー バ を 別 の 仮 想 マ シ. に沿って制御するためのアーキテクチャです.ユーザ. ン上で動かします.サーバを乗っ取った悪意コード. は複数の仮想マシンを,Type Enforcement や Chinese. が IDS を直接攻撃できないことは Livewire と同様です.. Wall などのポリシーに従わせて動かすことができます.. HyperSpector の特長は,悪意コードが間接的な攻撃に. たとえば Chinese Wall ポリシーを適用した場合には,. より IDS を乗っ取ったとしても,分散システムの他の部. ユーザが指定した組の仮想マシンが 1 つの仮想マシン. 分に影響を及ぼすことが難しくなっていることです.仮. システム上で同時に動作することを禁止でき,covert. 想ネットワークや特殊なディスクマウントにより,1 つ. channel などの脅威に対処できます.sHype の実装とし. の IDS を乗っ取った悪意コードが,他の IDS,サーバ,. て,仮想マシンシステム rHype や Xen のための拡張コ. 外部環境に対して攻撃できないようになっています.. ードが存在します.. 現在筑波大などにより開発されているセキュア VM. 仮想マシンシステム層でさまざまな制御ができるとい. は,仮想マシンシステム層でストレージの暗号化や. っても,そのための設定を行うのは一般に面倒ですし,. VPN 処理を行い,情報漏洩などの被害を防ぐシステム. 計算機や OS に詳しくない人が設定を行うのは困難です.. です.IC カードと連携して認証などを行う機能も有し. VMware ACE は,仮想マシンのイメージとセキュリテ. ます.仮想マシンシステム層でセキュリティ処理を行い. ィポリシーをセットにしたパッケージを作成,配布,実. ますので,たとえゲスト OS のカーネルが乗っ取られて. 行できるようにするシステムです.パッケージに含まれ. も,セキュリティ処理は動き続けます.. る仮想マシンの実行では,セットになったセキュリティ. 障害,異常,攻撃の検知後の解析にも仮想マシンシス. ポリシーが適用されます.セキュリティポリシーで制御. テムは有効です.ミシガン大による Revirt は管理者が. 可能な項目としては,仮想マシンの有効期限,暗号化,. 侵入を解析するためのシステムです.仮想マシンシステ. 各デバイスへの接続と切断の可否,仮想マシンの複製の. ムを利用して侵入前後の実行を命令単位で再実行するこ. 可否などがあります.. とができます.非決定的なイベントはログに記録し,再. 同時に 1 つしかゲスト OS を使わない場合にも,セキ. 実行の際にも過去と同じ実行が行われるようにしてい. ュリティ分野での有用な応用はあります.それは,自分. ます.ワシントン大による Chronus5 は,OS の設定ミ. が普段使うゲスト OS を,他の仮想マシン上で動くプロ. スを自動的に探索するシステムです.このシステムで. グラムによって保護することです.たとえば,監視対象. は,仮想マシン上でソフトウェアを動かし,ディスクへ. となる仮想マシンの外側で侵入検知システム(IDS)や. のすべての書き込みはログに記録されます.ソフトウェ. ログ収集システムを動作させる方法が提案されています.. アが OS の設定ミスによりうまく動かなくなった場合に. この方法を用いると,悪意コードがセキュリティシステ. Chronus を使います.Chronus は,過去のある地点か. ムを攻撃することがより困難になります.. ら現在までを二分探索しながら,さまざまな時点におけ. 2003 年に論文が発表された Livewire. は,仮想マシ. るゲスト OS の状態を復元します(彼らはこれを time. ンシステムを用いた IDS です.仮想マシンの外で IDS を. travel と言っています).そして各時点で,障害を調査. 動かすことにより,悪意コードと IDS を強く隔離するこ. するためのプログラムをゲスト OS の内外で実行します.. とができます.たとえ攻撃者がゲスト OS の管理者権限. 仮 想 マ シ ン シ ス テ ム の 変 わ っ た 応 用 と し て は,. を奪っても,IDS を乗っ取ることはできません.仮想マ. SubVirt というプロジェクトで悪意の仮想マシンシステ. シンの外から仮想マシン内のソフトウェアの状態を解析. ムが作成されています.攻撃者は rootkit と呼ばれる種. するために,Livewire の IDS は,ゲスト OS に関して事. 類の悪意コードを,攻撃対象の OS カーネル内に組み込. 前に与えられた情報を,仮想マシンシステム層で取得し. みます.その悪意コードは実行されると仮想マシンシ. た情報と組み合わせて利用しています.一般に,仮想マ. ステムとして動作し,それまで動いていた OS をゲスト. シンシステム層でのセキュリティ向上手法では,得られ. OS に「棚上げ」して動作させます.悪意コードはゲス. るゲスト OS の情報が低レベルであり,制御可能な対象. ト OS の動作を好き勝手に制御することも,もう 1 つゲ. も低レベルであるという問題に対処する必要があります.. スト OS を作って悪さをすることもできるようになりま. 仮想マシンシステム層で観測できるイベントを OS 内の. す.仮想マシンシステムは便利な技術ですが,その便利. イベントに対応づけることができれば,効果的な安全性. さを逆手に取られて悪用される可能性もあることには注. 向上が図れます.しかし,その対応づけは簡単ではなく,. 意する必要があります.. 今後多くの研究が行われていくものと予想されます.. 仮想マシンシステムをセキュリティ用途に使うアイデ. HyperSpector という監視システムの研究. では,対. ィア自身は古くからあります.連載第 1 回で紹介され. 象を分散 IDS に広げています.HyperSpector では,分. た Goldberg による 1974 年の論文には,仮想マシンを. 1286. 48 巻 11 号 情報処理 2007 年 11 月. 2). 3). ).
(5) 4 隔離実行環境として使う応用への言及があります.セキ ュリティのみならず,本稿で述べた応用の多くは,すで にその論文に記述があります.なお,最近のものでは, 文献 1)が示唆に富んでいます.. [. 次回予告. ]. 次回は,インテル社によるハードウェア・レベルの仮 想マシンサポートの技術的概要,および今後計画され ているハードウェア・アシストの技術概要を解説しま す.さらに,今後クライアントへも発展していくであろ. 3)Kourai, K. and Chiba, S. : HyperSpector : Virtual Distributed Monitoring Environments for Secure Intrusion Detection, In Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments (VEE '05), pp.197-207 (2005). 4)Sapuntzakis, C. P., Chandra, R., Pfaff, B., Chow, J., Lam, M. S. and. Rosenblum, M. : Optimizing the Migration of Virtual Computers, In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, pp.377-390 (2002). 5)Whitaker, A., Cox, R. S. and Gribble, S. D. : Configuration Debugging as Search : Finding the Needle in the Haystack, In Proceedings of the 6th Symposium on Operating System Design and Implementation (OSDI '04), pp.77-90 (2004). 6)Yamada, H. and Kono, K. : FoxyTechnique : Tricking Operating System Policies with a Virtual Machine Monitor, In Proceedings of the 3rd International ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments (VEE '07), pp.55-64 (2007). (平成 19 年 10 月 10 日受付). う PC クライアントの新しい仮想化用途およびそれを支 える技術についても概説します. 参考文献 1)Chen, P. M. and Noble, B. D. : When Virtual Is Better Than Real, In Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII), pp.133-138 (2001). 2)Garfinkel, T. and Rosenblum, M. : A Virtual Machine Introspection Based Architecture for Intrusion Detection, In Proceedings of the 10th Annual Network and Distributed System Security Symposium (NDSS '03), pp.191-206 (2003).. 大山恵弘(正会員) [email protected] 1973 年生.2001 年東京大学大学院理学系研究科情報科学専攻修 了.博士(理学).科学技術振興事業団研究員,東京大学大学院情報 理工学系研究科助手を経て,現在,電気通信大学情報工学科准教授. 興味はシステムソフトウェア,セキュリティ,プログラミング言語, 並列分散処理.. IPSJ Magazine Vol.48 No.11 Nov. 2007. 1287.
(6)
関連したドキュメント
VMWare Horizon HTMLAccess はこのままログインす ればご利用いただけます。VMWare Horizon Client はク
NO NAMA NOMOR TANDA PESERTA No Virtual Account 1
Proceedings of EMEA 2005 in Kanazawa, 2014 International Symposium on Environmental Monitoring in East Asia ‑Remote Sensing and Forests‑.
Proceedings of EMEA 2005 in Kanazawa, 2015 International Symposium on Environmental Monitoring in East Asia ‑Remote Sensing and Forests‑.
Proceedings of EMEA 2005 in Kanazawa, 2016 International Symposium on Environmental Monitoring in East Asia ‑Remote Sensing and Forests‑.
Proceedings of EMEA 2005 in Kanazawa, 2005 International Symposium on Environmental Monitoring in East Asia ‑Remote Sensing and Forests‑.
かくして Appleton の言及は, 内に概念的先駆者とし ての自負を滲ませながらも, きわめてそっけない.「隠 れ場」にかかる言説で, Gibson (1979) が
区内の中学生を対象に デジタル仮想空間を 使った防災訓練を実 施。参加者は街を模し た仮想空間でアバター を操作して、防災に関