Recommended
PDF
2008-03-19 第2回セキュアVMシンポジウム
PDF
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
BitVisor Summit 7「2. BitVisor 2018年の主な変更点」
PDF
2009-03-24 第3回セキュアVMシンポジウム
PDF
2012-12-04 BitVisor Summit (公開版)「BitVisorの現状と今後」
PDF
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
PDF
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
PPTX
Effective Hyper-V - 久しぶりエディション
PDF
PDF
PDF
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
PDF
PPTX
PDF
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
KEY
PDF
Bitvisorをベースとした既存Windowsのドライバメモリ保護
PDF
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
PDF
PPT
PDF
PDF
Ns2240series users manual_07
PDF
20111015 勉強会 (PCIe / SR-IOV)
PPTX
TechEd2008_T1-407_EffectiveHyper-V
PPTX
SC 2012 VMM SP1によるHyper-Vホストの展開
PDF
PDF
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
More Related Content
PDF
2008-03-19 第2回セキュアVMシンポジウム
PDF
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
BitVisor Summit 7「2. BitVisor 2018年の主な変更点」
PDF
2009-03-24 第3回セキュアVMシンポジウム
PDF
2012-12-04 BitVisor Summit (公開版)「BitVisorの現状と今後」
PDF
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
What's hot
PDF
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
PPTX
Effective Hyper-V - 久しぶりエディション
PDF
PDF
PDF
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
PDF
PPTX
PDF
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
KEY
Similar to 2008-11-18 セキュアVMワークショップ
PDF
Bitvisorをベースとした既存Windowsのドライバメモリ保護
PDF
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
PDF
PPT
PDF
PDF
Ns2240series users manual_07
PDF
20111015 勉強会 (PCIe / SR-IOV)
PPTX
TechEd2008_T1-407_EffectiveHyper-V
PPTX
SC 2012 VMM SP1によるHyper-Vホストの展開
PDF
PDF
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
PDF
Virtual Machine Security on Cloud Computing 20090311
PDF
Cloud VM Security on Cloud Computingi 20090311
PDF
私立大学情報教育協会大学 情報セキュリティ研究講習会
PDF
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
PDF
PDF
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
PDF
Technology Used in Virtual Machine (Jan 2008)
PDF
PPTX
TechEd2010_T2-401_EffectiveHyper-V
More from Takahiro Shinagawa
PDF
BitVisor Summit 2 「BitVisorの現状と今後」
PDF
BitVisor Summit 3 「BitVisorの現状と今後」
PPTX
2017-12-04 BitVisor Summit 6 「BitVisorの現状と今後」
PDF
2012-08-28 アカデミッククラウドシンポジウム(公開版)「クライアント向け仮想化ソフトウェアBitVisorのクラウドへの応用」
PPTX
2018-11-28 BitVisor Summit 7
PDF
2012-04-25 ASPLOS2012出張報告(公開版)
PPTX
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
PDF
2015-11-26 BitVisor Summit 4(公開版)
PDF
2012-08-24 日本ソフトウェア科学会チュートリアル(公開版)
2008-11-18 セキュアVMワークショップ 1. 2. 情報漏洩事件の増加
PC・USBメモリ等の紛失・盗難
インターネット経由
▪ ウィルスやファイル交換ソフトなど
仮想マシンモニタ(VMM)による安全性向上
暗号化・認証をVMMで強制する
▪ ストレージ及びネットワークの暗号化
▪ ICカードによる認証・鍵管理
2008/11/21 2
3. ストレージ管理
ゲストOS
HDD・USBメモリの暗号化
ネットワーク管理 VMM
IPsecでVPN接続 ストレージ管理 ID 管理 ネットワーク管理
認証
暗号化 VPN
鍵管理
ID管理
ICカードで認証・鍵管理 VMMコア
CPU・デバイス仮想化,アクセス制御
VMMコア
ハードウェア
CPU・デバイスの仮想化
アクセス制御
2008/11/18 3
4. 暗号化を確実に実施できる
強力・強制的な実施
▪ ユーザが勝手にセキュリティを無効にできない
▪ たとえOSが脆弱でも大丈夫
透過的な実施
▪ OSの機能や設定には依存しない
統一した暗号化システムを実現できる
HDD, USBメモリを一括管理
▪ ICカードの活用
2008/11/18 4
5. VMM自身に脆弱性がないことが重要
暗号化を無効される危険性がある
▪ VMMを乗っ取られる,暗号化を回避される,…
VMMにセキュリティパッチは当てたくない
▪ OSとVMMの両方を管理するのは「二重苦」
(TCBの)コードサイズ最小化が有効
バグの数はコードサイズに比例する
▪ 小さいほど安全性の検証が容易になる
2008/11/18 5
6. VM VM
Type II 型(ホスト型) Device Model
VMM
TCB=ホストOS+VMM Host OS
Device Driver
▪ Linux 5,600万行+QEMU31万行 hardware
Type I 型(ハイパーバイザ型) VM
Device Model
VM
VMMがデバイスを管理 VMM
Device Driver
▪ VMWare ESX Server’s hypervisor=20万行 hardware
Driver VM
ドライバVM型 Device Model VM
Device Driver
▪ Xen hypervisor=10万行
VMM
hardware
2008/11/18 6
7. ゲストOS
可能な限りパススルー
デバイスドライバ
デバイスを仮想化しない
▪ ゲストOSがデバイスを直接制御
準パススルーVMM
必要最小限の監視・変換 制御I/O その他I/O データI/O
パススルー
制御I/Oの監視 アクセス制御 暗号化
▪ 状態把握とアクセス制御
データI/Oの変換 デバイス
▪ データの暗号化 ハードウェア
2008/11/18 7
8. ゲストOSは複数同時に稼働しない
1つのゲストOSがデバイスを直接制御している
▪ 複数ゲストOS間での共有・保護は難しい
必ずしも複数ゲストOS稼働は必要ではない
▪ デスクトップ環境のセキュリティ(暗号化)が目的
対応するマシン環境が限定される
制御I/O及びデータI/Oはデバイス依存
▪ 通常のデバイスドライバよりはサイズが小さい
ドライバが必要なのは一部のデバイスのみ
▪ グラフィックスやサウンドは(完全)パススルー
2008/11/18 8
9. コードサイズを小さくできる
完全なデバイスドライバを持たなくてよい
▪ ゲストOSのデバイスドライバを活用している
複数ゲストOS間の共有機能を削減できる
▪ スケジューリング,資源管理機能などが不要
開発コストを削減できる
デバイスドライバの数を削減できる
オーバーヘッドを低減できる
デバイスへのアクセスが準パススルー
VM間のスケジューリングなどが不要
2008/11/18 9
10. 制御I/O
デバイスへのデータ転送を制御するI/O
▪ (例)LBAの指定,R/Wの指定,転送の開始・終了,…
アクセス制御をおこないつつパススルー
▪ 制御自体はゲストOSのデバイスドライバが行う
データI/O
実際のデータの転送をおこなうI/O
▪ ディスクデータの読み書き,ネットワークパケットの送受信
VMMで捕捉して変換する(encrypt/decrypt)
▪ メモリ上でのデータの書き換え
2008/11/18 10
11. 原則ハードウェアの名前空間と同じ
デバイスをゲストOSに直接見せる
▪ ゲスト物理アドレス=マシン物理アドレス
▪ I/Oアドレス,ストレージLBA,PCIバスアドレス,…
アクセス制御のみをおこなう
VMMの保護
▪ VMMのメモリ領域,ディスク領域への読み書き禁止
▪ IOMMUによるDMAアクセス制御
2008/11/18 11
12. 各種ドライバ
ゲストOS ATAドライバ USBドライバ NICドライバ
(画面,サウンドなど)
ストレージ IKE
暗号化 ID管理 IPsec
(AES-XTS)
UDP/IP
VMM
ATA準パススルー USB準パススルー NIC準パススルー IOMMU
ドライバ ドライバ ドライバ ドライバ
VMMコア
USBホストコントローラ NIC 各種デバイス
ハードウェア ATAホストコントローラ
(IDE) (UHCI, EHCI) (Intel Pro100など) (画面,サウンドなど)
2008/11/18 12
13. I/O命令
I/Oアドレス空間(16bit)へのアクセス
専用の命令(IN, OUT)によるI/O
▪ Ex. “in dx, al”, “out dx, al”, ...
MMIO(メモリマップドI/O)
物理メモリ空間(32bit or 64bit)へのアクセス
メモリアクセス命令によるI/O
▪ Ex. “mov al, [edx]”, “mov [edx], al”
DMA
専用ハードウェアによるデータ転送
2008/11/18 13
14. Command Block Registers LBA
0
I/O Addr Offset Size Name(read) Name(write)
0x1F0 0 16bit Data Data
1 8bit Error Features
2 8bit Sector Count Sector Count 01001101
00110101
3 8bit LBA Low LBA Low
4 8bit LBA Mid LBA Mid
5 8bit LBA High LBA High
6 8bit Device Device
7 8bit Status Command
0x20: READ SECTOR
0x30: WRITE SECTOR
0xC8: READ DMA
0xCA: WRITE DMA
2008/11/18 14
15. Read Write
ゲストOS rep insw rep outsw
シャドウ シャドウ
バッファ ←復号 暗号化→ バッファ
VMM (512byte) (512byte)
rep insw rep outsw
ハードウェア
2008/11/18 15
16. テーブル構造のDMAディスクリプタ
PRD(Physical Region Descriptor)のテーブルをメモリ上に保持
テーブルへのアドレスをレジスタに指定
Command Register の Start Bit に 1 を書き込むとDMA転送開始
Physical Region Descriptor Table
Bus Master IDE Controller Memory Region Physical Base Address[31:1] 0
EOT reserved Byte Count[15:1] 0
オフセット 機能
… 0
00h Command Register
… … … 0
02h Status Register
04h-07h PRD Table Address
1
2008/11/18 16
17. DMAディスクリプタのシャドウを作る
データだけVMMで横取りする
▪ 制御はゲストOSにさせる
シャドウDMAディスクリプタ
バッファアドレス バイト数 ステータス
0xF0004000 16384 OK
ホストコントローラ
VMMの領域
ベースアドレスレジスタ
+
DMAディスクリプタ
インデックス バッファアドレス バイト数 ステータス
0x08086000 4096 OK
0x04004000 8192 OK
0x00386000 4096 Ready
2008/11/18 17
18. 物理メモリ
シャドウDMAディスクリプタ
VMM
ベースアドレス バイト数
0xF0004000 16384
VMMによる暗号化/復号化+コピー
DMAディスクリプタ
ベースアドレス バイト数
ゲストOS
0x08086000 4096
0x04004000 8192
0x00386000 4096
2008/11/18 18
19. 内容
コードサイズ
▪ コードサイズが削減できていることの確認
オーバーヘッド
▪ VMMによるオーバーヘッドの測定
環境
▪ ハードウェア:Intel Core 2 Duo E6850(3.0GHz),メモリ2GB,
ディスク74GB(10,000rpm)
▪ ゲストOS:Fedora 8 (Linux 2.6.25.9-40.fc8)
▪ VMM: BitVisor 0.3 (64bit版)
2008/11/18 19
20. コア
総数:21,582行
▪ 実行時:13,789行
▪ 命令エミュレーション:2,239行,シャドウページ管理:1,130行
▪ 初期化:2,062行
▪ デバッグ:5,781行
ATAドライバ
総数:1,287行
▪ ※最新バージョンでは実行時789行
2008/11/18 20
21. 1400
25000
1200
20000 5781 1000
2062 800
15000 デバッグ デバッグ
1279
600
初期化 初期化
10000 789
実行時 400 実行時
13789
5000 200
0
0
ATA ATA
VMMコア
ドライバ ドライバ
(最新)
2008/11/18 21
22. BitVisor
40
35
30
オーバーヘッド(%)
25
20
15
10
5
0
null fork exec prot page ctx
2008/11/18 22
23. 140
120
100
転送速度(MB/s)
80 Linux
BitVisorコア
60
+ドライバ
40 +暗号化
20
0
4KB 64KB 512KB 10MB
ブロックサイズ
2008/11/18 23
24. WindowsXP
14
12
10
起動時間(秒)
8
6
4
2
0
VMMなし BitVisorコア +ATAドライバ +暗号化
2008/11/18 24
25. 準パススルー型VMM「BitVisor」の概要
VMMのサイズを非常に小さく出来る
▪ ゲストOSのデバイスドライバを活用
▪ 必要最小限のI/OのみをVMMで監視・変換
準パススルー方式の実現手法を示した
▪ 制御I/OとデータI/Oの捕捉によるアクセス制御・暗号化
▪ シャドウDMAディスクリプタによるDMA転送の監視
2008/11/18 25
26. 近日公開予定
BitVisor 0.7
http://www.securevm.org/
2008/11/18 26