38
【主催】 (社)情報処理学会 システムソフトウェアとオペレーティングシステム研究会 (第29回コンピュータシステム・シンポジウム 併設イベント)

2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

Embed Size (px)

Citation preview

Page 1: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

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

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

Page 2: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

開催趣旨

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

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

本 Summit では、BitVisor に関する最新の技術的な情報の交換の場を提供するほか,仮想化技術やOSカーネルなど、高度な基盤システムソフトウェア全般に興味を持った研究者・開発者・ユーザが交流する稀少な機会として有益な場となることを期待しています.

2

Page 3: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

プログラム

• オープニング BitVisorの現状と今後

• 招待講演(1件) BitVisorをベースとしたカーネル解析プラットフォーム

• 一般セッション(7件) BitVisor 2017年の主な変更点

Implementation and Status of 'mruby in BitVisor‘

BitVisorに「移植」する

BPFを利用したBitVisor内部でのパケットフィルタリング

大学の教育研究用端末上でのベアメタルハイパバイザの運用

Unsafe Nested Virtualization on Intel CPU

Introducing NVMe driver for BitVisor

3

Page 4: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

講演者内訳

• 一般講演×7件(昨年度6件)株式会社イーゲル×2件

筑波大学×2件

公立はこだて未来大学×1件

東京農工大学×1件

東京大学×1件

4

Page 5: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

参加登録者

0

5

10

15

20

25

30

35

40

1 2 3 4 5 6

参加登録者数の推移

5

Page 6: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisorとは

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

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

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

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

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

6

ハードウェア

VMM

VM

OS

A Single-VM Lightweight Hypervisor

Page 7: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

Single-VMの利点

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

Trusted Computing Base (TCB)のサイズ削減

o 一般にプログラムは小さいほど安全とされている

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

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

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

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

7

ハードウェア

VMM

VM

OS

×

ハードウェア

VMM

VM

OS

I/F互換

VMM

Page 8: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

VMM

BitVisor の基本アーキテクチャ

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

8

OSデバイスドライバ

DiskVGAHID USB NIC

保護ドメイン

拡張機能1

拡張機能2Disk USB NIC

ハードウェア

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

CPU仮想化

メモリ仮想化

カーネル

Page 9: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor の歴史

• 2006年:研究開発開始• 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機能、…

• 2014年 5月:BitVisor 1.4公開 UEFI(Mac)サポート

9

Page 10: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

10

BitVisor 2.0

Page 11: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor 2.0 の特徴

• PCIデバイスドライバーの改良 config.vmm.driver.pci での柔軟な指定

• ネットワーク機能の改良 netapi の導入

• UEFI対応の改良

• 新規ドライバー Broadcom NetXtreme GbE, xHCI driver, 10GbE X540 for tty

• パフォーマンスとメモリ使用量の改善新しい Thread

• バグfixと機能改善 (Unsafe) Nested Virtualization (AMD), TCP/IP

11

Page 12: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor の最近の動向

• 東京大学での運用実績vThrii として安定稼働中

iMac 向けプロビジョニングシステム

• 品川研究室での活動査読付き論文2件

現在進行系の研究2件

12

Page 13: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

東京大学での運用実績

13

Page 14: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisorBitVisor

ネットブート&インストール

14

ネットブート

インストール

Windows

サーバ

Page 15: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

運用状況

• 毎月1回夜間にイメージ配信通常は差分配信

前回イメージとの差分だけを配信する

4ヶ月に1回フル配信イメージ全体を配信する

• 4回ほど通常運用とは異なる事象が発生イメージの切り戻し

全台再インストール

vThrii自体のアップデート

パーティションサイズの変更

15

Page 16: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

イメージの切り戻し

• 夜間におこなった配信内容を元に戻すvThrii に標準搭載された機能

配信したイメージに異常があった場合のバックアップ

• macOSが起動時に固まる事象が発生ログインウィンドウの画像ファイルをNFS上に配置したため

⇒vThrii の機能が有効に機能した事象

16

Page 17: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

全台再インストール

• 全ての端末のIPアドレスが同じになってしまった配信作業時のオペレーションミス

マスタイメージの固定IPアドレスのままになっていた

• 以下の事象が発生し、切り戻しが不安定だったvThriiのリモートコマンドの応答がない端末があった

vTrhii設定の書き込みが反映されない場合があった

参照するイメージの切り戻しがうまくいかない場合があった

電源が入っていない端末も存在した

⇒全台手動で再インストールの方が確実で早い

17

Page 18: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

vThrii自体のアップデート

• vThrii が起動時に固まる事象が発生macOSセキュリティアップデート2016-003の適用に伴う

macOSでVT-d のアドレス変換が有効になった

• vThrii のアップデートで対応1.3 ⇒ 1.6.1

Macの起動スクリプトで vThrii のファイルを差し替え

18

Page 19: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

パーティションサイズの変更

• 3つの領域から構成されているWindows領域、macOS領域、TMP領域

TMP領域はフリーズ機能に使うディスクへの書き込みを別領域に書いて再起動時に破棄

• Windows の空き領域が1GB程度になった SSD全体の容量が250GBくらいしかない

• パーティションサイズの再構成をおこなった

19

80

120

49.5

変更前

macOS Windows TMP

85

135

30変更後

macOS Windows TMP

Page 20: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

品川研究室での活動

20

Page 21: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor関連の研究活動

• 査読付き論文2本ベアメタルクラウドにおけるハードウェア保護

IEEE CloudCom 2017

ハイパーバイザによるハードウェア抽象層ACM SAC 2018

• 現在進行系の研究2件軽量な仮想マシンモニタの若化

ベアメタルクラウドにおけるライブマイグレーション

ハイパーバイザ内でのBPFによるパケットフィルタ

21

Page 22: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BMCArmor: A Hardware

Protection Scheme for Bare-

metal CloudsTakaaki Fukai, Satoru Takekoshi, Kohei Azuma, Takahiro Shinagawa and

Kazuhiko Kato. In Proc. 9th IEEE International Conference on Cloud

Computing Technology and Science (CloudCom 2017), Dec. 2017

22

Page 23: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

オペレーティングシステム

ベアメタルクラウドへの攻撃

• OSがハードウェアに直接アクセスできるどのような種類のアクセスでも出来る

• 不揮発性メモリを破壊される可能性があるハードウェアが壊れたり、ウィルスに感染させられたりする

23ベアメタルインスタンス

Page 24: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor

オペレーティングシステム

BitVisorによるハードウェアの保護

• BitVisor で特定の書き込みアクセスを止める通常動作には支障がない

• その他のアクセスは全てパススルーオーバーヘッドを最小限に抑えてベアメタル性能を出す

24

ベアメタルインスタンス

Page 25: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

Unified Hardware Abstraction

Layer with Device

MasqueradeIori Yoneji, Takaaki Fukai, Takahiro Shinagawa and Kazuhiko Kato. In

Proc. 33rd ACM/SIGAPP Symposium On Applied Computing (ACM

SAC 2018), Apr 2018.

25

Page 26: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

多様なハードウェアへの対応

• デバイスごとにデバイスドライバが必要種類が多くなる

• OSごとにデバイスドライバが必要重複が多くなる

26

OS

physical netphysical disk

Driver1

Driver3

Driver2

Driver4

Library OS

Driver1

Driver3

Driver2

Driver4

New OS

Driver1

Driver3

Driver2

Driver4

Page 27: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisorによるハードウェア抽象化

• virtio で統一したインタフェースを提供するOSごとに異なるデバイスドライバを持たなくても良くなる

• Device Masquerade による軽量I/F変換仮想化のオーバーヘッドを低減する

27

OS

physical netphysical disk

Driver1 Driver2

Library OS

Driver1 Driver2

New OS

Driver1 Driver2

BitVisorvirtio-disk virtio-net

HardwareAbstraction

Layer(HAL)

Page 28: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

軽量な仮想マシンモニタの若化

28

Page 29: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

VMMの老化

• VMMも年をとるメモリリークなどで性能が低下する

• 定期的な若返りが必要リブート

29

VMM

VM VM

Page 30: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

VMMの若化

• Nested virtualization を活用VMMを一時的に2つ動作させる

• 通常利用時のオーバーヘッドをゼロにNested de-virtualization / re-virtualization

30

VMM

VM VM

VMM

TinyVisor

VMM

Page 31: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

ベアメタルクラウドにおけるライブマイグレーション

31

Page 32: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

VMのライブマイグレーション

• 比較的簡単にできる仮想マシンの状態を送れば良い

• ベアメタルクラウド環境では難しいOSが物理マシンを直接管理している

32

VMM

VM

OS

VM

OS

VMM

VM

OS

OS

Page 33: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

OSのライブマイグレーション

• BitVisorでハードウェア状態を移送する様々なテクニックを駆使して状態を取得・設定する

• あとはVMと同様に移送するCPU、メモリの状態

33

BitVisor BitVisor

OS

Page 34: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor論文のインパクト

34

Page 35: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor論文(VEE ‘09)の参照数

0

50

100

150

200

250

2010 2011 2012 2013 2014 2015 2016 2017

Citation Count

Citation Count

35

EuroSys ‘10

IEEE S&P 2010

SOSP ‘11

EuroSys ‘10

SOSP ‘11

NDSS ‘11

IEEE S&P ‘12

IEEE S&P ‘13

約199件

Page 36: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisorの今後の課題

• 機能向上デバイス対応

USB 3.0(xHCI),NIC(Marvell, Broadcom),無線LAN, RAIDカード, ...

マシン・OS対応EFI(Mac対応), Nested Virtualization, MMConfig, ...

開発者向け対応依存関係対応Config, API整理,ドキュメンテーション

オーバヘッド削減EPT, スレッド, Preemption Timer

• 商業化セキュアVM, ネットワークブート,…

36

Page 37: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

まとめ

• BitVisor とは準パススルー型単一VM軽量ハイパーバイザ

• 東京大学での運用実績 vThrii Seamless Provisioning が稼働中

イメージ切り戻し、全台再インストール、vThriiアップデート、パーティション再構成

• 品川研究室での活動 IEEE CloudCom 2017、ACM SAC 2018に採択 VMMの若化、ライブマイグレーション、BPF

VEE 2009 論文が199件参照

• 今後の課題オープンソースコミュニティの活性化対応デバイスの更なる増加更なる商業化

37

Page 38: 2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」

BitVisor の宣伝

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

https://www.bitvisor.org/

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

[email protected], [email protected]

ソースコードhttps://bitbucket.org/bitvisor/bitvisor

https://sourceforge.net/projects/bitvisor/

• vThrii Seamless Provisioningに関する情報株式会社イーゲル

https://www.igel.co.jp/solution/

38