32
2013 12 6 日(金) 芝浦工業大学 豊洲キャンパス 【主催】 (社)情報処理学会 システムソフトウェアとオペレーティングシステム研究会 (第25回コンピュータシステム・シンポジウム 併設イベント) 2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 1

BitVisor Summit 2 「BitVisorの現状と今後」

Embed Size (px)

Citation preview

Page 1: BitVisor Summit 2 「BitVisorの現状と今後」

2013年12月6日(金)芝浦工業大学 豊洲キャンパス

【主催】(社)情報処理学会

システムソフトウェアとオペレーティングシステム研究会(第25回コンピュータシステム・シンポジウム 併設イベント)

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 1

Page 2: BitVisor Summit 2 「BitVisorの現状と今後」

開催趣旨

BitVisor Summit は、BitVisor に興味を持つ幅広い層の方々に交流や情報交換の場を提供することを目的としています。

BitVisor は純国産の仮想マシンモニタですが、BitVisor のように日本国内において研究開発されており、なおかつ高い完成度を持つ低レイヤのシステムソフトウェアはそれほど多くはないのではないかと思われます。

本 Summit では、BitVisor に関する最新の技術的な情報の交換の場を提供するほか,仮想化技術やOSカーネルなど、高度な基盤

システムソフトウェア全般に興味を持った研究者・開発者・ユーザが交流する稀少な機会として有益な場となることを期待しています.

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 2

Page 3: BitVisor Summit 2 「BitVisorの現状と今後」

講演者内訳

• 招待講演×2件(昨年度3件)渡辺 祐一

榮樂 英樹 様(株式会社イーゲル)

• 一般講演×6件(昨年度6件)筑波大学×3件

電気通信大学×2件

株式会社イーゲル×1件

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 3

Page 4: BitVisor Summit 2 「BitVisorの現状と今後」

参加登録者

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 4

0

10

20

30

40

企業

45%

大学

42%

公的

研究

機関

5%

高専

3%

未記

5%

0

10

20

30

40

登録者数の推移

企業36%

大学50%

その

他3%

SPAM

11%今年度

昨年度

Page 5: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisorの現状と今後

品川高廣(東京大学)

Page 6: BitVisor Summit 2 「BitVisorの現状と今後」

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

Page 7: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisorを支えた競争的資金• 平成18年度~20年度

文部科学省 科学技術振興調整費 重要課題解決型研究

「高セキュリティ機能を実現する次世代OS環境の開発」 研究代表者:加藤和彦(筑波大学)

• 平成21年度~23年度 総務省 戦略的情報通信研究開発推進制度(SCOPE)

ICTイノベーション促進型研究開発

「ディペンダブルな自律連合型クラウドコンピューティング基盤の研究開発」 研究代表者:加藤和彦(筑波大学)

• 平成22年度 JST 研究成果最適展開支援事業(A-STEP)

フィージビリティスタディ【FS】ステージ・シーズ顕在化タイプ

「高セキュリティを実現する仮想マシンモニタ(BitVisor)の実用化検証」 企業責任者:松原克弥(株式会社イーゲル)、研究責任者:品川高廣

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 7

Page 8: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisorを支える競争的資金

• 平成25年11月〜平成26年3月総務省先進的通信アプリケーション開発推進事業

「広域分散ベアメタル・クラウド環境のためのハイパーバイザの開発」

研究代表者:品川高廣(東京大学)

• 平成25年12月〜平成28年11月 JST 研究成果最適展開支援事業(A-STEP)

【産学共同促進】ステージ・ハイリスク挑戦タイプ

『高セキュリティ・高信頼のクラウドコンピューティング環境実現に向けた基盤システムソフトウェア「BitVisor」の研究開発』

企業責任者:松原克弥(株式会社イーゲル)、研究責任者:品川高廣

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 8

Page 9: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisorとは

• 仮想化ソフトウェアの一種仮想マシンモニタ = Virtual Machine Monitor (VMM)

ハイパーバイザ = Hypervisor (Type I VMM)

o ホストOSに頼らずハードウェア上で直接動作

OSとハードウェアの間で動作する仮想マシン = Virtual Machine (VM) を作り出す

Single-VM仮想化ある時点で動作するOSは一つだけ

ハードウェア

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 9

VMM

VM

OS

VM

OS

VM

OS

A Single-VM Lightweight Hypervisor

Page 10: BitVisor Summit 2 「BitVisorの現状と今後」

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 10

Page 11: BitVisor Summit 2 「BitVisorの現状と今後」

Single-VMの利点

• 仮想化の利点を活用できるセキュリティ

ゲストOSより高い特権レベルで動作する

互換性ゲストOSを修正せずに機能追加を行える

• VMMを小さく出来るセキュリティ

Trusted Computing Base (TCB)のサイズ削減o 一般にプログラムは小さいほど安全とされている

オーバーヘッド仮想化に伴うコストを削減できる

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 11

ハードウェア

VMM

VM

OS

×

ハードウェア

VMM

VM

OS

I/F互換

VMM

Page 12: BitVisor Summit 2 「BitVisorの現状と今後」

VMM

BitVisor の基本アーキテクチャ

準パススルー型(↔準仮想化)[Shinagawa et al. VEE ‘09]

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 12

OSデバイスドライバ

DiskVGAHID USB NIC

保護ドメイン

拡張機能1

拡張機能2Disk USB NIC

ハードウェア

完全パススルー 準パススルーコア機能

CPU仮想化

メモリ仮想化

カーネル

Page 13: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisorの応用形

• 「コア機能」のみ

• 「コア機能」+ n × 「準パススルードライバ」

• 保護ドメイン(Process)

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 13

Page 14: BitVisor Summit 2 「BitVisorの現状と今後」

VMM

BitVisor の応用型(1)

「コア機能」のみ

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 14

OSデバイスドライバ

DiskVGA HID USB NIC

ハードウェア

完全パススルー

コア機能

CPU仮想化

メモリ仮想化

カーネル

拡張機能1

拡張機能2

Page 15: BitVisor Summit 2 「BitVisorの現状と今後」

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

Page 16: BitVisor Summit 2 「BitVisorの現状と今後」

コア機能の仮想化レベル

• 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

Page 17: BitVisor Summit 2 「BitVisorの現状と今後」

VMM

BitVisor の応用型(2)

「コア機能」+ n × 「準パススルードライバ」

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 17

OSデバイスドライバ

DiskVGA HID USB NIC

拡張機能1

拡張機能2

ハードウェア

コア機能

CPU仮想化

メモリ仮想化

カーネル

Disk USB NICHIDVGA

Page 18: BitVisor Summit 2 「BitVisorの現状と今後」

OS

VMM

準パススルーのレベル

• 監視のみ IDS(侵入検知)

アナライザ(ロギング)

• 監視+変換暗号化、アクセス制御

ディスク配置変換

• 多重化(Piggyback) ICカードアクセス

ADVisor, TwitVisor, …

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 18

デバイス

ドライバ

拡張機能

※静的/動的に設定変更出来るようにしたい(Shadow DMA Descriptor の有無など)

Page 19: BitVisor Summit 2 「BitVisorの現状と今後」

VMM

BitVisor の応用型(3)

保護ドメイン(Process)

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 19

OSデバイスドライバ

DiskVGA HID USB NIC

保護ドメイン

拡張機能1

拡張機能2Disk USB NIC

ハードウェア

コア機能

CPU仮想化

メモリ仮想化

カーネル

Page 20: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisor の応用研究の例

VMM

コアDisk USB NIC 保護

ドメイン

セキュアVM ☑ ☑ ☑ ☑

システムファイル保護 ☑ ☑

透過的VPN切り替え ☑ ☑

透過的ネットワークブート ☑ ☑ ☑

ボランティアコンピューティング ☑ △ ☑

デバドラ検証 ☑ ○ ○ ○

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 20

加藤(筑波大学)・品川(東京大学)の共同研究

Page 21: BitVisor Summit 2 「BitVisorの現状と今後」

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)対策

BitVisor Summit 2 「BitVisorの現状と今後」 212013/12/6

Page 22: BitVisor Summit 2 「BitVisorの現状と今後」

論文の参照数(2012)

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 22

EuroSys ‘10

IEEE S&P 2010

EuroSys ‘10

SOSP ‘11

Page 23: BitVisor Summit 2 「BitVisorの現状と今後」

論文の参照数(2013)

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 23

EuroSys ‘10

IEEE S&P 2010

SOSP ‘11

EuroSys ‘10

SOSP ‘11

NDSS ‘11

IEEE S&P ‘11

62件⇒87件(+25)

Page 24: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisor 1.4

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 24

Page 25: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisor 1.4 の新機能

• UEFI 対応一部の Mac でも動作

• オーバーヘッド削減タイマーアクセス

スレッドスケジューリング

外部割り込み

⇒「コア機能」のみを使用する場合に特に有効

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 25

Page 26: BitVisor Summit 2 「BitVisorの現状と今後」

オーバーヘッド削減(1)

• タイマーアクセス今までは時刻取得に ACPI PMT を使っていた

VMExitのたびに I/O アクセスが発生する

比較的遅いため、累積オーバーヘッドが大きくなる

TSC を使う選択肢もあったが採用しなかった周波数が必ずしも一定はないため

o SpeedStep, TurboBoost

Invariant TSC に対応したCPUで使用するようにしたTSCの周波数が一定であることが保証される

タイマーアクセスのオーバーヘッドが大幅に削減できる

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 26

Page 27: BitVisor Summit 2 「BitVisorの現状と今後」

オーバーヘッド削減(2)

• スレッドスケジューリング今まではタイマー用のスレッドが無条件で動作していた

タイマーを使わない場合でも

現在のスレッドは比較的オーバーヘッドが大きいリスト構造+spinlock

必要になるまでタイマースレッドを動かさないようにしたスレッドスケジューリングのオーバーヘッドが削減された

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 27

Page 28: BitVisor Summit 2 「BitVisorの現状と今後」

オーバーヘッド削減(3)

• 外部割り込み今までは全ての外部割り込みで VMExit していた

一定間隔で VMM に制御が渡ることを保証するため

外部割り込みで VMExit しないと秒単位で VMM に戻らないことがある

外部割り込みは頻度が高く累積オーバーヘッドが大きい必要以上の頻度で VMExit してしまう

Piggyback やバックグラウンド処理がない場合には不必要

外部割り込みによる VMExit を OFF に出来るようにしたconfig により設定可能

Preemption Timer による定期的 VMExit を可能にしたTSCの精度で強制的にVMExitするまでの間隔を設定可能

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 28

Page 29: BitVisor Summit 2 「BitVisorの現状と今後」

オーバーヘッド削減の効果

12000

12500

13000

13500

14000

14500

15000

15500

Base No ACPI

PMT

No Timer No ExInt No ExInt +

Preemption

Timer

Tra

nsa

ctio

n p

er s

ec.

Netperf –t TC_RR

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 29

Page 30: BitVisor Summit 2 「BitVisorの現状と今後」

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

Page 31: BitVisor Summit 2 「BitVisorの現状と今後」

まとめ

• BitVisorの現状と今後準パススルー型アーキテクチャ

VMMコア機能、デバイス・メディエータ、保護ドメイン

応用研究・開発加藤・品川研究室、世界の研究

BitVisor 1.4

UEFI対応、オーバーヘッド削減

今後の課題デバイス対応,マシン対応,開発者向け対応,オーバーヘッド削減

商業化

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 31

Page 32: BitVisor Summit 2 「BitVisorの現状と今後」

BitVisor の宣伝

• BitVisor に関する情報ホームページ

http://www.bitvisor.org/

メーリングリスト[email protected], [email protected]

[email protected], [email protected]

ソースコードhttp://sourceforge.net/projects/bitvisor/

• 有償サービス(株)イーゲルが提供

2013/12/6 BitVisor Summit 2 「BitVisorの現状と今後」 32