Contenu connexe Similaire à BitVisor Summit 2 「BitVisorの現状と今後」 (20) BitVisor Summit 2 「BitVisorの現状と今後」2. 開催趣旨
BitVisor Summit は、BitVisor に興味を持つ幅広い層の方々に交
流や情報交換の場を提供することを目的としています。
BitVisor は純国産の仮想マシンモニタですが、BitVisor のように
日本国内において研究開発されており、なおかつ高い完成度を持
つ低レイヤのシステムソフトウェアはそれほど多くはないのではない
かと思われます。
本Summit では、BitVisor に関する最新の技術的な情報の交換
の場を提供するほか,仮想化技術やOSカーネルなど、高度な基盤
システムソフトウェア全般に興味を持った研究者・開発者・ユーザが
交流する稀少な機会として有益な場となることを期待しています.
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」2
3. 講演者内訳
• 招待講演×2件(昨年度3件)
渡辺祐一
榮樂英樹様(株式会社イーゲル)
• 一般講演×6件(昨年度6件)
筑波大学×3件
電気通信大学×2件
株式会社イーゲル×1件
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」3
4. 参加登録者
40
30
20
10
0
40
30
20
10
0
企業
36%
未記
入
5%
企業
45%
SPAM
11%
大学
50%
高専
3%
大学
42%
その
他
3%
公的
研究
機関
5%
登録者数の推移
今
年
度
昨
年
度
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」4
6. BitVisorの歴史
• 2006年:セキュアVMプロジェクトで研究開発開始
• 2008年3月:BitVisor 0.2公開
• 2009年3月:BitVisor 1.0公開
VMMコア、ディスク・ネットワーク暗号化、ICカードによる鍵管理
• 2010年6月:BitVisor 1.1公開
保護ドメイン機能、AHCI対応、Realtek NIC対応、...
• 2011年10月:BitVisor 1.2公開
Suspend/Resume対応、ATA Piggyback、TCB BIOS対応、...
• 2012年9月:BitVisor 1.3公開
バックグラウンド暗号化、EPT/NPT、ADvisor機能、...
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」6
7. BitVisorを支えた競争的資金
• 平成18年度~20年度
文部科学省科学技術振興調整費
重要課題解決型研究
「高セキュリティ機能を実現する次世代OS環境の開発」
研究代表者:加藤和彦(筑波大学)
• 平成21年度~23年度
総務省戦略的情報通信研究開発推進制度(SCOPE)
ICTイノベーション促進型研究開発
「ディペンダブルな自律連合型クラウドコンピューティング基盤の研究開発」
研究代表者:加藤和彦(筑波大学)
• 平成22年度
JST 研究成果最適展開支援事業(A-STEP)
フィージビリティスタディ【FS】ステージ・シーズ顕在化タイプ
「高セキュリティを実現する仮想マシンモニタ(BitVisor)の実用化検証」
企業責任者:松原克弥(株式会社イーゲル)、研究責任者:品川高廣
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」7
8. BitVisorを支える競争的資金
• 平成25年11月〜平成26年3月
総務省先進的通信アプリケーション開発推進事業
「広域分散ベアメタル・クラウド環境のためのハイパーバイザの開発」
研究代表者:品川高廣(東京大学)
• 平成25年12月〜平成28年11月
JST 研究成果最適展開支援事業(A-STEP)
【産学共同促進】ステージ・ハイリスク挑戦タイプ
『高セキュリティ・高信頼のクラウドコンピューティング環境実現に向
けた基盤システムソフトウェア「BitVisor」の研究開発』
企業責任者:松原克弥(株式会社イーゲル)、研究責任者:品川高廣
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」8
9. BitVisorとは
A Single-VM Lightweight Hypervisor
• 仮想化ソフトウェアの一種
仮想マシンモニタ= Virtual Machine Monitor (VMM)
ハイパーバイザ= Hypervisor (Type I VMM)
o ホストOSに頼らずハードウェア上で直接動作
OSとハードウェアの間で動作する
仮想マシン= Virtual Machine (VM) を作り出す
Single-VM仮想化
ある時点で動作するOSは一つだけ
OS
VM
VMM
OS
VM
OS
VM
ハードウェア
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」9
11. Single-VMの利点
• 仮想化の利点を活用できる
セキュリティ
ゲストOSより高い特権レベルで動作する
互換性
ゲストOSを修正せずに機能追加を行える
• VMMを小さく出来る
セキュリティ
Trusted Computing Base (TCB)のサイズ削減
I/F
互換
o 一般にプログラムは小さいほど安全とされている
オーバーヘッド
仮想化に伴うコストを削減できる
OS
×
VM
VMM
ハードウェア
OS
VM
VMM
VMM
ハードウェア
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」11
12. BitVisor の基本アーキテクチャ
OS
VMM
準パススルー型(↔準仮想化)
[Shinagawa et al. VEE ‘09]
デバイスドライバ
HID VGA Disk USB NIC
保護ドメイン
拡張機能1
拡張機能2
完全パススルー準パススルー
Disk USB NIC
ハード
ウェア
カーネル
コア機能
CPU仮想化
メモリ仮想化
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」12
13. BitVisorの応用形
• 「コア機能」のみ
• 「コア機能」+ n × 「準パススルードライバ」
• 保護ドメイン(Process)
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」13
14. OS
VMM
BitVisor の応用型(1)
「コア機能」のみ
デバイスドライバ
VGA HID Disk USB NIC
ハード
ウェア
完全パススルー
カーネル
コア機能
CPU仮想化
メモリ仮想化
拡張機能1
拡張機能2
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」14
15. iMacのスケジュール起動
• Windowsからシャットダウンすると機能しない
スケジュール起動はスリープ状態/休止状態からのみ
Windowsカーネルはスケジュール起動設定を消去する
I/Oポート0x70/0x71 でアクセスするRTC アラーム
⇒Windows稼働中に設定してもダメ
Mac OSではシャットダウン後も機能する
• BitVisorを用いてスケジュール起動を設定する
電源をOFFにするイベントをBitVisorで捉える
I/Oポート0x404 に特定の値を書き込むアクセス
直前にスケジュール起動の設定を書き込む
I/Oポート0x70/0x71 でRTC アラームに値を設定する
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」15
16. コア機能の仮想化レベル
• CPU仮想化
VMM に制御が戻る条件のON / OFF
割り込み、システムレジスタ、制御関係、メモリ関係、I/O関係
BitVisor の機能のON / OFF
タイマースレッド、保護ドメイン
• メモリ仮想化
ページングのON / OFF (shadow paging or EPT)
メモリ保護の有無
MMIOの捕捉の有無
※現在は一部のみconfig / .config で静的に設定可
⇒実行時の動的な変更を可能にしたい
de-virtualization / re-virtualization
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」16
17. OS
VMM
BitVisor の応用型(2)
「コア機能」+ n × 「準パススルードライバ」
デバイスドライバ
VGA HID Disk USB NIC
拡張機能1
拡張機能2
ハード
ウェア
カーネル
コア機能
CPU仮想化
メモリ仮想化
VGA HID Disk USB NIC
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」17
18. 準パススルーのレベル
OS
VMM
• 監視のみ
IDS(侵入検知)
アナライザ(ロギング)
• 監視+変換
暗号化、アクセス制御
ディスク配置変換
• 多重化(Piggyback)
ICカードアクセス
ADVisor, TwitVisor, …
ドライバ
デバイス
拡張機能
※静的/動的に設定変更出来るようにしたい
(Shadow DMA Descriptor の有無など)
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」18
19. OS
VMM
BitVisor の応用型(3)
保護ドメイン(Process)
デバイスドライバ
VGA HID Disk USB NIC
保護ドメイン
拡張機能1
Disk USB NIC 拡張機能2
ハード
ウェア
カーネル
コア機能
CPU仮想化
メモリ仮想化
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」19
20. BitVisor の応用研究の例
加藤(筑波大学)・品川(東京大学)の共同研究
VMM
コア
Disk USB NIC 保護
ドメイン
セキュアVM ☑ ☑ ☑ ☑
システムファイル保護☑ ☑
透過的VPN切り替え☑ ☑
透過的ネットワークブート☑ ☑ ☑
ボランティアコンピューティング☑ △ ☑
デバドラ検証☑ ○ ○ ○
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」20
21. BitVisor を使った世界の研究
• TCVisor [Rezaei et al., ICITST ‘10]
ユーザ毎に特定のストレージ領域のみを見せる仕組み
TPM, password, security tokenの組み合わせで実現
• HyperSafe [Wang et al., IEEE S&P ‘10]
Hypervisor自身の完全性を維持する仕組み
Hypervisor を書き換えられなくする
• “Return-less” VMM [Li et al., EuroSys ‘10]
ret命令のないカーネル・VMMを実現
ROR (Return-Oriented Rootkit)対策
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」21
25. BitVisor 1.4 の新機能
• UEFI 対応
一部のMac でも動作
• オーバーヘッド削減
タイマーアクセス
スレッドスケジューリング
外部割り込み
⇒「コア機能」のみを使用する場合に特に有効
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」25
26. オーバーヘッド削減(1)
• タイマーアクセス
今までは時刻取得にACPI PMT を使っていた
VMExitのたびにI/O アクセスが発生する
比較的遅いため、累積オーバーヘッドが大きくなる
TSC を使う選択肢もあったが採用しなかった
周波数が必ずしも一定はないため
o SpeedStep, TurboBoost
Invariant TSC に対応したCPUで使用するようにした
TSCの周波数が一定であることが保証される
タイマーアクセスのオーバーヘッドが大幅に削減できる
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」26
27. オーバーヘッド削減(2)
• スレッドスケジューリング
今まではタイマー用のスレッドが無条件で動作していた
タイマーを使わない場合でも
現在のスレッドは比較的オーバーヘッドが大きい
リスト構造+spinlock
必要になるまでタイマースレッドを動かさないようにした
スレッドスケジューリングのオーバーヘッドが削減された
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」27
28. オーバーヘッド削減(3)
• 外部割り込み
今までは全ての外部割り込みでVMExit していた
一定間隔でVMM に制御が渡ることを保証するため
外部割り込みでVMExit しないと秒単位でVMM に戻らないことがある
外部割り込みは頻度が高く累積オーバーヘッドが大きい
必要以上の頻度でVMExit してしまう
Piggyback やバックグラウンド処理がない場合には不必要
外部割り込みによるVMExit をOFF に出来るようにした
config により設定可能
Preemption Timer による定期的VMExit を可能にした
TSCの精度で強制的にVMExitするまでの間隔を設定可能
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」28
29. オーバーヘッド削減の効果
15500
15000
14500
14000
13500
13000
12500
12000
Base No ACPI
PMT
No Timer No ExInt No ExInt +
Preemption
Timer
Transaction per sec.
Netperf –t TC_RR
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」29
30. BitVisorの今後の課題
• 機能向上
デバイス対応
USB 3.0(xHCI),NIC(Marvell, Broadcom),無線LAN, RAIDカード, ...
マシン・OS対応
EFI(Mac対応), Nested Virtualization, MMConfig, ...
開発者向け対応
依存関係対応Config, API整理,ドキュメンテーション
オーバヘッド削減
EPT, スレッド, Preemption Timer
• 商業化
セキュアVM, ネットワークブート,…
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」30
31. まとめ
• BitVisorの現状と今後
準パススルー型アーキテクチャ
VMMコア機能、デバイス・メディエータ、保護ドメイン
応用研究・開発
加藤・品川研究室、世界の研究
BitVisor 1.4
UEFI対応、オーバーヘッド削減
今後の課題
デバイス対応,マシン対応,開発者向け対応,オーバーヘッド削減
商業化
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」31
32. BitVisor の宣伝
• BitVisor に関する情報
ホームページ
http://www.bitvisor.org/
メーリングリスト
bitvisor-user@bitvisor.org, bitvisor-user-en@bitvisor.org
bitvisor-devel@bitvisor.org, bitvisor-devel-en@bitvisor.org
ソースコード
http://sourceforge.net/projects/bitvisor/
• 有償サービス
(株)イーゲルが提供
2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」32