Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)

832 views

Published on

BitVisor を応用したソフトウェアが vThrii として製品化され、東京大学を始めとした教育用計算機環境で実運用が開始されています。本発表では、東京大学で運用しているシステムの概要や今後の展望についてお話します。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)

  1. 1. 【主催】 (社)情報処理学会 システムソフトウェアとオペレーティングシステム研究会 (第28回コンピュータシステム・シンポジウム 併設イベント) 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 1
  2. 2. 開催趣旨 BitVisor Summit は、BitVisor に興味を持つ幅広い層の方々に交 流や情報交換の場を提供することを目的としています。 BitVisor は純国産の仮想マシンモニタですが、BitVisor のように 日本国内において研究開発されており、なおかつ高い完成度を持 つ低レイヤのシステムソフトウェアはそれほど多くはないのではない かと思われます。 本 Summit では、BitVisor に関する最新の技術的な情報の交換 の場を提供するほか,仮想化技術やOSカーネルなど、高度な基盤 システムソフトウェア全般に興味を持った研究者・開発者・ユーザが 交流する稀少な機会として有益な場となることを期待しています. 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 2
  3. 3. プログラム • オープニング BitVisorの現状と今後 • 一般セッション(6件) BitVisor 2016年の主な変更点 Virtualize APIC accessによるAPICフック手法 xHCI driver implementation TinyVisorを動作させる際に体験したエラーの共有,解説 BitVisor内蔵のlwIPでAlkanetのログ送信を試みる BitVisor と KVM の性能比較の落とし穴 & BitVisor Advent Calendar について 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 3
  4. 4. 講演者内訳 • 一般講演×6件(昨年度7件) 株式会社イーゲル×2件 立命館大学×2件 筑波大学×2件 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 4
  5. 5. 参加登録者 0 5 10 15 20 25 30 35 40 1 2 3 4 5 参加登録者数の推移 企業 45% 大学 44% その 他 11% SPAM 0% 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 5
  6. 6. 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)サポート • 20xx年x月:??? 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 6
  7. 7. 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 7
  8. 8. BitVisor の最近の動向 • 東京大学での実運用開始 iMac向けプロビジョニングシステムとして本格導入 • IPSJ-ONEで宣伝 高校生~学部生向け • CANONセミナーで宣伝 CANONのお客様向け • AXIESで宣伝(予定) 大学関係者向け • 品川研究室での研究 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 8
  9. 9. IPSJ-ONE 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 9
  10. 10. BitVisor: OSを手玉に 取る仮想化ソフトウェア 東京大学 情報基盤センター 准教授 品川高廣
  11. 11. Mac OS OS(オペレーティングシステム)とは? 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 11 Windows オペレーティングシステム(OS) アプリケーション
  12. 12. 仮想化ソフトウェアとは? 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 12 Mac OSWindows 仮想化ソフトウェア
  13. 13. BitVisor の特徴 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 13 従来の仮想化ソフトウェア 仮想マシン 仮想マシン BitVisor ◯高いセキュリティ◯とても軽い ◯高い実用性 △OSは1つ Windows Windows Mac OS
  14. 14. (1)セキュリティ 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 14 BitVisor コンピュータウィルス ⇐仮想化技術による 強力な「壁」の実現
  15. 15. (2)ハードウェアの機能向上 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 15 BitVisor Windows ⇐本物のハードウェア ⇐少し仮想化された ハードウェア
  16. 16. 問:多数マシンへのディスク配信 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 16
  17. 17. BitVisorBitVisor 解:ネットブート&インストール 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 17 ネットブート インストール 脱仮想化! Windows サーバ
  18. 18. 研究開発成果 • 品川 高廣, 表 祐志, 北村 朋宏, 榮樂 英樹, 松原 克弥.情報処理装置及びプログラム. 特許出願2015-010521,国立大学法人東京 大学, 株式会社イーゲル,2015年1月. • Yushi Omote, Takahiro Shinagawa, Kazuhiko Kato. Improving Agility and Elasticity in Bare-metal Clouds. In Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015), pp. 145- 159, Mar 2015. Acceptance Ratio: 16.7% • CANON 「in Campus Device」 + イーゲル 「vThrii Seamless Provisioning」 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 18 特許出願 トップ カンファレンス で発表 商品化
  19. 19. 東京大学教育用計算機システムに導入 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 19
  20. 20. 2016/3/12 【IPSJ-ONE 2016】 BitVisor: OSを手玉に取る仮想化ソフトウェア 20 アプリケーション オペレーティング・システム 仮想化ソフトウェア レイヤが低いほど 権限も強大に! 低レイヤ(ディープ)な システムソフトウェア研究へ ようこそ! ハードウェア
  21. 21. CANONセミナー 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 21
  22. 22. ECCS2016における in Campus DeviceとvThriiの 導入効果 国立大学法人東京大学 准教授 品川高廣
  23. 23. 東京大学における計算機環境 • 情報基盤センターで教育用計算機システムを提供 • Educational Campuswide Computing System (ECCS) • 2016年3月に「ECCS 2016」が稼働開始 • 端末として Apple iMac(21.5インチ)を提供 • Intel Core i5 2.8GHz クワッドコア • メモリ16GB • SSD 256GB • Intel Iris Pro Graphics 6200 • 1920 x 1080 2016/6/21 23
  24. 24. ECCS 2016における端末配置 • 3キャンパスに1,341台を分散配置 • 駒場キャンパス • 848台 • 2建物13部屋 • 本郷キャンパス • 481台 • 14建物18部屋 • 柏キャンパス • 12台 • 1建物1部屋 2016/6/21 24 本郷キャンパス 柏キャンパス 駒場キャンパス
  25. 25. 端末の使われ方(1) • ユーザ数は約2万5千人 • 約16部局の教職員・学生 • 教養学部前期で約6,000人 2016/6/21 25 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 24000 26000 部局 法 医 工 文 理 農 経済 教養(前) 教養(後) 教育 薬 新領域 情報学環 情報理工 公共政策 数理科学 その他
  26. 26. 端末の使われ方(2) • 授業で OS X と Windows の両方を活用 • 授業「情報」(全1年生が必修) • OS Xが推奨環境(演習テキストなどで想定) • 各種プログラミング授業 • OS Xのコンソール環境でプログラミング • 図形科学実習 • 市販のCADソフトウェアをWindowsで使用 2016/6/21 26 主に Mac 64% Macと Windo ws 12% 主に Windo ws 24% 講義担当教員の利用環境
  27. 27. 端末管理における課題(1) • 管理作業の省力化 • 多数の端末の一元管理 • 千台を超える端末数がある • 物理的に分散配置されている • 少数の管理者による管理 • 人手も予算もかけられない 2016/6/21 27
  28. 28. 端末管理における課題(2) • 管理作業にかかる時間の短縮 • 日中は授業で使用する • 管理作業は出来ない • 夜中に終了する必要がある • 23:00~8:00に実施する 2016/6/21 28
  29. 29. 端末管理における課題(3) • 端末の性能 • OS起動時間が速いこと • ユーザが入れ替わるたびにOSを起動する • 端末の応答性能が高いこと • CADソフトウェアなども利用する 2016/6/21 29
  30. 30. 従来の管理手法 • シンクライアント • ネットワークブート • 画面転送型 • サーバーベース方式 • ブレードPC方式 • 仮想PC方式 • イメージ配信 2016/6/21 30
  31. 31. ネットワークブート • サーバ上のOSイメージをネットワーク経由で取得して起動 • 端末の起動は速い • 常にネットワークに負荷がかかる • ネットワークにかなりの投資が必要 • 時々遅くなる 2016/6/21 31 × OS イメージ
  32. 32. 画面転送型:サーバーベース方式 • アプリケーション実行をサーバでおこない画面のみを転送 • OSを実行するマシンを一箇所で集中管理できる • アプリケーションの応答速度が遅くなる • Windowsでは互換性が問題になることもある 2016/6/21 32 OS 実行画面
  33. 33. 画面転送型:ブレードPC方式 • サーバの代わりに多数のPCブレードでOSを実行 • OSの互換性の問題が軽減する • アプリケーションの応答速度が遅くなる • 比較的システムが高価になる 2016/6/21 33 OS 実行画面
  34. 34. 画面転送型:仮想PC方式 • サーバのVirtual Machine(VM)上でOSを実行 • 物理的にマシンの数が多くなる問題を解消できる • アプリケーションの応答速度が遅くなる • 仮想化のオーバーヘッドがかかる • 比較的コストが高くなる 2016/6/21 34 VM VM VM OS 実行画面
  35. 35. イメージ配信 • OSのディスクイメージを事前にローカルディスクに配信 • アプリケーションの応答性は通常と変わらなくなる • イメージ配信に非常に時間が掛かる • 万が一失敗した時に困る 2016/6/21 35 OS イメージ
  36. 36. ECCSにおける端末構成の遷移 • ECCS 2004 • OS X 及び Windows のネットワークブート(ディスクレス) • iMac端末1,149台+Windows端末227台 • ECCS 2008 • OS X のネットワークブート+仮想環境(Parallels)上の Windows • iMac端末1,176台 • Windows のネットワークブート+キャッシュ(Ardence) • Windows端末186台 • ECCS 2012 • OS X と Windows 7 のローカルブート(デュアルブート) • iMac端末1,321台 2016/6/21 36
  37. 37. ECCS2016における要件(1) • Mac環境とWindows環境の提供 • Mac 環境(OS X EI Capitan) • 授業における標準環境 • 1年生全員が必修の授業「情報」など • Windows 環境(Windows 10) • 様々なソフトウェアを使用可能 • CADソフトウェア(Inventor Professional, 3ds max) 2016/6/21 37
  38. 38. ECCS2016における要件(2) • ローカルブート(SSD使用) • OS起動の速さ • ネットワークに頼らない • CADソフトウェアの操作性 • 仮想化のオーバーヘッドは避ける 2016/6/21 38
  39. 39. ECCS2016における要件(3) • 端末管理の容易さ • 中央で集中管理できる • 端末の前での作業を避ける • 少人数で管理できる • 1~数人 • 容易に新しいOSイメージに出来る • ローカルディスクへ気軽に配信 • 緊急時には元に戻せる • 夜間に管理が終わる • 短時間でのイメージ配信 2016/6/21 39
  40. 40. In Campus Device + vThrii-P • In Campus Device • 管理者向けインターフェイス • GUIで簡単に操作できる • vThrii Seamless Provisioning • OSイメージ管理システム • ハイパーバイザ型で動作するソフトウェア 2016/6/21 40
  41. 41. システム構成 2016/6/21 41 In Campus Device vThrii Client (Hypervisor) vThrii Server
  42. 42. OS デバイスドライバ vThriiハイパーバイザの構造 • 準パススルー型 • ハードウェアの大部分は仮想化しない • ストレージとネットワークだけ少し仮想化する 2016/6/21 42 ハイパーバイザ 完全パススルー (仮想化しない) 準パススルー (少し仮想化する) CPU VGA USB Storag e Networ k
  43. 43. 準パススルー型の利点 • OSの設定や修正が必要ない • OS XやWindows(やLinux)がそのまま動く • 仮想化のコストが少なくて済む • 仮想化しない時に近い応答性能が出せる 2016/6/21 43
  44. 44. vThrii Seamless Provisioningの機能 (1) ネットワークブート (2) パーシステントキャッシュ (3) バックグラウンドインストール (4) ディスクフリーズ (5) 差分配信 (6) ロールバック 2016/6/21 44
  45. 45. Mac OS 機能(1): ネットワークブート 2016/6/21 45 vThrii ネットワークブート サーバ
  46. 46. ネットブートの利点 • OSイメージを中央で集中管理できる • サーバ上で作成したOSイメージを各端末に配布 • 新しいOSイメージで直ぐに作業できる • イメージ配信のようにコピーを待つ必要が無い 2016/6/21 46
  47. 47. vThrii Mac OS 機能(2): パーシステントキャッシュ 2016/6/21 47 キャッシュを SSDに格納 サーバ
  48. 48. パーシステントキャッシュの利点 • 一度読み込んだデータは再度読み込まなくて良い • 2回目のOS起動がローカル起動と同等の速度になる • よく使うデータから順番にキャッシュ出来る • 使わないデータは後回し 2016/6/21 48
  49. 49. Mac OS 機能(3): バックグランドインストール 2016/6/21 49 vThrii ネットブート インストール サーバ ローカルアクセス
  50. 50. バックグラウンドインストールの利点 • 一度読み込んだデータは再度読み込まなくて良い • 2回目のOS起動がローカル起動と同等の速度になる • よく使うデータから順番にキャッシュ出来る • 使わないデータは後回し 2016/6/21 50
  51. 51. Mac OS 機能(4): フリーズ 2016/6/21 51 vThrii サーバ 通常領 域 一時領 域
  52. 52. フリーズの利点 • OSイメージに対する変更を破棄できる • ウィルス感染や意図せぬ設定変更等から回復できる • イメージ更新の時は一時的にOFFにする • イメージ管理機能との密接な連携 2016/6/21 52
  53. 53. Mac OS 機能(5): 差分配信 2016/6/21 53 vThrii 差分配信 サーバ 前回 イメージ 前回 イメージ 差 分 差 分
  54. 54. 差分配信の利点 • クライアントに送るデータのサイズを小さく出来る • ネットワークの負荷を減らせる • 配信時間を短く出来る • クライアント側でバージョン管理が出来る • ディスク容量次第で幾つかのバージョンを持てる 2016/6/21 54
  55. 55. Mac OS 機能(6): ロールバック 2016/6/21 55 vThrii サーバ 前回 イメージ 前回 イメージ 差 分 差 分 ミ ス
  56. 56. ロールバックの利点 • OSイメージ作成にミスがあっても素早く元に戻せる • イメージ更新を(比較的)安心しておこなえる 2016/6/21 56
  57. 57. スケジュール起動の必要性 • 夜間に一斉にOSイメージを更新する • iMac は閉館時に一斉にシャットダウン • OSイメージ更新時には一斉に起動する必要がある • 1,341台の iMac が30部屋以上に分散配置 • 人手による起動は非現実的である 2014/11/21 BitVisor Summit 3 「BitVisorの現状と今後」 57
  58. 58. iMacでのスケジュール起動 • Windows 対応に問題がある • Wake on Lan には非対応 • 任意のタイミングでの起動はできない • iMac のファームウェアにはスケジュール起動機能がない • OSに依存しない方式でのスケジュール起動はできない • Windows はシャットダウン後にスケジュール起動できない • この挙動自体は ACPI という規格に沿った正しい挙動である • Windows はシャットダウン時にスケジュール起動設定を消去する • デバイスドライバなどでスケジュール起動を設定することは困難である 2014/11/21 BitVisor Summit 3 「BitVisorの現状と今後」 58
  59. 59. ECCS2012での運用 • Windows からのシャットダウンを禁止 • メニューからシャットダウンの項目を削除 • 再起動して Mac OS からシャットダウンさせるよう強制 • ユーザに様々なデメリットがある • 通常と異なる操作で戸惑う • 手間が多くて不便である • 再起動に2分程度の時間がかかる • ユーザが強制的に電源をOFFにしてしまう可能性もある ⇒操作性、利便性、省電力の観点から対応が必要 2014/11/21 BitVisor Summit 3 「BitVisorの現状と今後」 59
  60. 60. vThriiによるスケジュール起動 • vThriiでスケジュール起動の設定をする • 電源をOFFにするイベントを監視する • 電源が切れる直前にスケジュール起動の設定を行う • OSに依存しないで確実に実現できる • Windows でも OS X でも動作 2014/11/21 BitVisor Summit 3 「BitVisorの現状と今後」 60
  61. 61. vThrii と BitVisor • vThrii は BitVisor をベースに開発された商用版 • BitVisor はオープンソースのハイパーバイザ • 筑波大学を中心として2006年に研究開発開始 • 当初目的はセキュアなOS環境の実現 • 内閣官房情報セキュリティセンターが主導する国プロとして実施 • 2009年にバージョン1.0が公開 • 様々な競争的件研究資金を使って研究開発を実施 • 総務省SCOPE、JST A-STEP(シーズ顕在化、ハイリスク挑戦)、 総務省先進的通信アプリケーション開発推進事業 2016/6/21 61
  62. 62. BitVisorと株式会社イーゲル • 当初からBitVisorの研究開発に参加 • 各種ドライバを開発 • 主要な開発メンバーがイーゲルに入社 • 一貫してBitVisorの研究開発に従事 • 高度な技術による高い実用性 • Windows や OS Xが非常に安定して動作 2016/6/21 62
  63. 63. 東京大学における稼働実績 • イメージ配信を3回実施 • 3月: 約40GB • 4月: 約70GB • 5月: 約100GB • イメージ配信は夜間に終了 • 23:00~8:00で配信するという仕様を満たす • ロールバック回数1回 • OS Xのイメージに不備⇒1つ前のイメージに戻して対策 2016/6/21 63
  64. 64. 課題(1): 仮想化の入れ子 (Nested) • vThrii 上で動くOS上でVMwareなどを動かす際に必要 • 現状では動かないか非常に遅い • 演習で学生にOSをインストールさせる大学がある • 演習で仮想化ソフトウェアが必須 • ハードウェアの仮想化支援機能のエミュレーションで実現可 • 現在調査に着手している段階 2016/6/21 64
  65. 65. 課題(2): 多様なハードウェア対応 • ハードウェアに依存した部分がいくつかある • ストレージデバイス • 現在は ATA/AHCI に対応したデバイスのみ対応 • NVMeなど最新デバイスに対応するには開発作業が必要 • 既に調査に着手している段階 • ネットワーク • 現在は Intel 社製ネットワークカードのみ対応 • 他社ハードウェアに対応するには開発作業が必要 2016/6/21 65
  66. 66. まとめ • ECCS 2016 で In Campus Device と vThrii を導入 • iMac 1,341台に導入してOSイメージを管理 • 様々な便利な管理機能の提供 • ネットワークブート、パーシステントキャッシュ、 • バックグラウンドインストール、ディスクフリーズ • 差分配信、ロールバック • 安定した動作 • 既に3回のイメージ配信と1回のロールバックを動作 • 本システムに起因する動作不良はなし 2016/6/21 66
  67. 67. ニュース記事 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 67 ※ASCII.jp 4/26, 5/18, 6/28
  68. 68. 事例紹介 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 68 ※キャノンITS
  69. 69. 学術的な成果 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 69
  70. 70. デバイスドライバのデバッグ (ACM SAC 2016) 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 70
  71. 71. コンピュータシステムの信頼性 • システムが動作し続けることは重要 ダウンすると様々な損失が生じる • ハードウェア故障の頻度は上昇傾向 安価でコモディティなハードウェアが急速に普及している • デバイスドライバでハードウェア故障は想定外 デバイスは常に正しく動作するという前提で書かれている • 実際には様々なハードウェア故障が発生 ビット反転やビット固定など 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 71
  72. 72. 対象とするバグの一例 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 72 1 static int aac_rx_deliver_message(struct fib * fib) 2 { 3 ... 4 for(;;) { 5 Index = rx_readl(dev, MUnit.InboundQueue); 6 if (unlikely(Index == 0xFFFFFFFFL)) 7 Index = rx_readl(dev, MUnit.InboundQueue); 8 if (likely(Index != 0xFFFFFFFFL)) 9 break; 10 ... 11 } 12 device = dev->base + Index; 13 addr = fib->hw_fib_pa; 14 writel((u32)(addr & 0xffffffff), device); 15 ... 16 } Example of unreliable code. An index variable received from the hardware in line 5 or 7 is used for pointer arithmetic in line 12 only if it is not equal to 0xFFFFFFFF (aacraid in Linux 4.0; rx.c).
  73. 73. 提案手法 • BitVisor で擬似的なハードウェア故障を起こす ハードウェアへのI/Oにビット反転などを混ぜる • 何回も繰り返し実行してOSが落ちないかチェック デバイスドライバの堅牢性を調べる 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 73 ハードウェア BitVisor OS デバイスドライバデバイスドライバ フォルトインジェクション
  74. 74. 見つかったバグの数 Driver All Faults Critical Faults Tests Time Linux Adaptec RAID 5805 3 2 3 01:12 Marvell 88SE8123 0 0 3 01:56 NVIDIA GT 610 10 3 1 04:33 Windows Adaptec RAID 5805 2 2 3 03:00 Marvell 88SE8123 1 1 3 00:33 NVIDIA GT 610 25 22 1 11:20 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 74
  75. 75. ベアメタルクラウドでの ハードウェア保護 (東大卒論) 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 75
  76. 76. 背景:ベアメタルクラウド • 物理マシンを提供する IaaS クラウドサービス 一般的な IaaS クラウド ⇨ 仮想マシンを提供 • 仮想マシンとの比較 安定した性能(仮想化による揺らぎがない) 高性能(仮想化によるオーバーヘッドがない) ユーザ 仮想マシン1Amazon EC2 ベアメタルクラウド ユーザ 仮想マシン2 ハイパーバイザ 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 76
  77. 77. 問題点:不揮発メモリへの攻撃 • ベアメタルクラウドでは物理マシンを提供 ユーザはマシンの不揮発メモリ書き換えが可能 ⇨マシンの起動不能・マルウェア感染の危険性 • ベアメタルクラウドではOSは信頼できない 攻撃者 不揮発メモリへの攻撃 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 77
  78. 78. 提案手法 • 軽量ハイパーバイザで不揮発メモリへの書き 込みを遮断 OSから独立したレイヤでハードウェアを保護 ⇨OSが信頼できなくても保護機能を実現 ほとんどのアクセスをパススルー ⇨オーバヘッドが少ない 不揮発メモリへの攻撃 ❌ ハイパーバイザ 捕捉されるアクセス パススルー 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 78
  79. 79. 設計 • 保護したいデバイス上の不揮発メモリへの書 き込みを遮断 • ほとんどのデバイスへのアクセスをパスス ルー 準パススルー型ハイパーバイザ OS Read Write ❌ ハイパーバイザ OS OS 仮想マシン1 仮想マシン2 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 79
  80. 80. 実装 • NIC(Network Interface Card)上の不揮発メモリ EEPROMへの書き込みアクセスを遮断 マザーボード上のチップセット(Z97)経由のNIC へアクセスを 捕捉・改変 • 準パススルー型ハイパーバイザ` BitVisor を使 用 OS NIC(I218-V) CPU チップセット Z97❌ BitVisor Read Write マザーボード EEPROM 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 80
  81. 81. 実験:EEPROM書き込み遮断 • ethtool でNICのEEPROM上のMACアドレスを書 き換え • 本手法により書き換えの遮断に成功 $ ethtool –E eth1 magic 0x15a18086 offset 0x05 value 0xf3 Cannot set EEPROM data: Operation not permitted BitVisorを用いた遮断 $ ethtool –E eth1 magic 0x15a18086 offset 0x05 value 0xf3 d0 50 99 2f 51 f2 01 08 ff ff d0 50 99 2f 51 00 01 08 ff ff MACアドレス書き換えの例 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 81
  82. 82. 実験:オーバーヘッドの計測 • 二台のマシン間のネットワーク通信におけるス ループットとレイテンシの計測 • ネットワークベンチマークソフトNetperfを使用 プロトコルはTCP 測定時間は1秒 • None • On BitVisor • On KVM LAN Cable • None AB A: Server A: Client 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 82
  83. 83. 実験:オーバーヘッドの計測 • それぞれの場合を10回計測し平均を計算 0 50 100 150 200 250 client server Latency(us) none on BitVisor on KVM 0 200 400 600 800 1000 client server Throughput(Mbps) none on BitVisor on KVM 2016/3/15 BitVisor 研究紹介2016 @ 富士通研究所 83
  84. 84. 新規採択論文 • ACM SAC 2016 Satoru Takekoshi, Takahiro Shinagawa, Kazuhiko Kato. Testing Device Drivers against Hardware Failures in Real Environments. In Proceedings of the 31st ACM Symposium On Applied Computing (ACM SAC 2016), Apr 2016. 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 84
  85. 85. 論文の参照数(2016) 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 85 EuroSys ‘10 IEEE S&P 2010 SOSP ‘11 EuroSys ‘10 SOSP ‘11 NDSS ‘11 IEEE S&P ‘12 IEEE S&P ‘13 87件(‘13) ⇒ 108件(‘14)⇒136件(‘15)⇒169件(‘16)
  86. 86. BitVisorの今後の課題 • 機能向上 デバイス対応 USB 3.0(xHCI),NIC(Marvell, Broadcom),無線LAN, RAIDカード, ... マシン・OS対応 EFI(Mac対応), Nested Virtualization, MMConfig, ... 開発者向け対応 依存関係対応Config, API整理,ドキュメンテーション オーバヘッド削減 EPT, スレッド, Preemption Timer • 商業化 セキュアVM, ネットワークブート,… 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 86
  87. 87. まとめ • BitVisor の最近の動向  IPSJ-ONEで宣伝  CANONセミナーで宣伝  AXIESで宣伝(予定) • 学術的な成果  ACM SAC 2016 採択  VEE 2009 論文が169件参照 • 今後の課題  オープンソースコミュニティの活性化  対応デバイスの更なる増加  アプリケーションの開発  更なる商業化 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 87
  88. 88. BitVisor の宣伝 • BitVisor に関する情報 ホームページ http://www.bitvisor.org/ メーリングリスト bitvisor-user@bitvisor.org, bitvisor-user-en@bitvisor.org bitvisor-devel@bitvisor.org, bitvisor-devel-en@bitvisor.org ソースコード https://bitbucket.org/bitvisor/bitvisor http://sourceforge.net/projects/bitvisor/ 2016/11/30 BitVisor Summit 5 「BitVisorの現状と今後」 88

×