Download presentation
Presentation is loading. Please wait.
1
仮想化技術に関する最近の論文 金田 憲二
2
本発表の内容 Argos: an Emulator for Fingerprinting Zero-Day Attacks
Georgios Portokalidis, Asia Slowinska, and Herbert Bos EuroSys’06 SubVirt: Implementing Malware with Virtual Machines Samuel T. King, Peter M. Chen, Yi-Min Wang, Chad Verbowski, Helen J. Wang, and Jacob R. Lorch Symposium on Security and Privacy’06
3
Argos: an Emulator for Fingerprinting Zero-Day Attacks
for advertised honeypots with automatic signature generation
4
本論文の要旨 ワームの封じ込めのためのシステムArgos ワームの侵入を検出 どういったデータが攻撃を引き起こしたのかを解析
※ x86エミュレータを改良することで実装されている
5
ワームとは 自己増殖を繰り返しながら破壊活動を行なう ネットワーク経由でPCに送られてくる プログラムのバグを利用し、危険なコードを実行する
例)バッファ溢れを利用して、関数の戻りアドレスを改変 感染したPCを通して、他のPCを攻撃する Worm Worm Worm
6
ワームを封じ込めるためには ワームの侵入を検出する シグネチャを生成する シグネチャを他のマシンに配布する !
シグネチャ = 攻撃を引き起こすバイト列 シグネチャを他のマシンに配布する EB 10 EB 19 9F 18 F3 EB E0 FD … EB 10 EB 19 9F 18 F3 EB E0 FD … ! Worm
7
! ワームの侵入を検出するには? 動的テイント(taint)解析を用いる 動的にデータフローを解析する
ネットワークから送られてきたデータを プログラムが実行しないか等をチェックする メモリ 汎用レジスタ ! 動的に解析するので、オーバヘッドは大きいが、false-positiveは少ない ネットワークから送られてきたデータにタグをつける タグ付けされたデータに依存するデータにもタグをつける タグ付けされたデータが実行されたときに an alert is generated (only) if and when an exploit takes place 例) when data coming from the network are executedネットワークから送られてきたデータに依存するデータが実行されたとき EIP
8
どういった動的テイント解析行うか どのレベルで解析を行うか? どうやって解析を実装するか? マシンレベル or プロセスレベル
ソフトウェア上で実装
9
既存手法とその問題点 (1/2) マシンレベル + ハードウェア改良
例)Minos [J. R. Crandall et al. Microarchitecture’04] ハードウェアの改良はコストが大きい 攻撃に関する情報を収集するのが難しい 攻撃を引き起こす原因となったデータの物理アドレスのみしか得られない
10
既存手法とその問題点 (2/2) プロセスレベル + ソフトウェア上で実装
例)Vigliante [M. Costa et al. SOSP’05] OSカーネルを扱うのが難しい 複雑なメモリ操作(例、DMA)を扱うのが難しい
11
本論文の提案するシステムArgos マシンレベルの解析をソフトウェア上で実現 攻撃に関する様々な情報が収集可能
例)攻撃を引き起こす原因となったデータの仮想アドレス 例)レジスタ、メモリ 複雑なメモリ操作(DMA)をサポート ※ x86 エミュレータ(QEMU)を改良
12
Argosの動作の流れ 攻撃の検出 シグネチャの生成・配布 アプリ アプリ アプリ ゲストOS メモリ 汎用レジスタ
アーキテクチャ図と噴出し メモリ 汎用レジスタ Argos エミュレータ Argos エミュレータ EIP
13
1. 攻撃の検出 ネットワークから来たデータは、汚染あつかい 汚染データが書き込まれたメモリやレジスタも、汚染あつかい アプリ アプリ
ゲストOS メモリ 汎用レジスタ Argos エミュレータ EIP
14
1. 攻撃の検出 汚染データが制御流を変更させると、警告を出す EIPに書き込まれた値が汚染 or
システムコールの引数が汚染 メモリ 汎用レジスタ メモリ 汎用レジスタ EIP EIP
15
2. シグネチャの生成・配布 攻撃に関する情報を取得する 汚染されたメモリブロックとレジスタをダンプする ゲストOSにコードを挿入し実行する
プロセスIDや実行ファイルに関する情報を取得する シグネチャの生成 memory footprintやnetwork traceから OS-specific forensics shellcodeを挿入可能 複数のホストのシグネチャを比較して、シグネチャをrefineできる
16
2. シグネチャの生成・配布 シグネチャを洗練させる snortと同様の形式でシグネチャを配布する
ネットワークトレースや、他のPCからの情報を利用 例)IPアドレスの違いを吸収するようなシグネチャを生成 snortと同様の形式でシグネチャを配布する
17
Argosの実装 攻撃の検出 シグネチャの生成・配布 どうやってメモリやレジスタの汚染を計算するか?
メモリ・レジスタに汚染を示すタグを付ける シグネチャの生成・配布 どうやって攻撃に関する情報を取得するか? エミュレータを使っているので、ほぼ自明にできる どうやってシグネチャを洗練させるか? 本発表では割愛する(詳しくは別論文を参照)
18
汚染タグの実装 Qemuを改良することで実現 レジスタ、メモリ、ネットワークをエミュレーションするデータ構造に改良を加える
19
汚染タグの実装(レジスタの場合) 個々の汎用レジスタごとに4バイト用意する 特殊なレジスタには、タグを付けない
格納中の値が、どの物理アドレスから来たかを記憶 特殊なレジスタには、タグを付けない セグメントレジスタ、MMX、FPU は重要でない EFLAGS にタグを付けると、ほとんどが汚染扱いに メモリ 汎用レジスタ EIP
20
汚染タグの実装(メモリの場合) 仮想マシンの物理メモリの各バイトごとに 1ビットのフラグを用意 or 1バイトのフラグを用意
※ 計算速度とメモリ消費量のトレードオフ ビットマップ バイトマップ メモリ メモリ or
21
汚染タグの実装(ネットワークの場合) in/out命令によってNICから値が書き込まれたレジスタを、汚染されたとみなす
22
汚染タグの更新の例1 データ転送命令 mov %eax %ebx ソースオペランドのタグを、 デスティネーションオペランドに移す メモリ
23
汚染タグの更新の例2 ALU命令(例、add %eax %ebx) デスティネーションオペランドは、 既に汚染されている場合、汚染されたまま
まだ汚染されていない場合、ソースオペランドのタグがコピーされる
24
タグを更新する際の注意点 レジスタに0を代入する命令の扱い DMAの扱い 例)xor %eax %eax タグをクリアする
I/Oデバイスからデータの書き込まれたメモリ ブロックのタグをクリアする
25
Argosの性能評価 ベンチマークの実行速度 攻撃の検出精度
26
ベンチマークの実行速度 以下の実行性能を比較 ※全てにおいて、QEMUの最適化機能は無効 Vanilla QEMU: オリジナルのQEMU
Argos-B: バイトマップ方式 Argos-B-CI: バイトマップ方式 + 攻撃検出 Argos-P: ページディレクトリによるタグ管理 ※全てにおいて、QEMUの最適化機能は無効
27
ベンチマークの実行速度
28
攻撃の検出精度 実験で試した攻撃では、false-positiveは無し 検出できた攻撃の代表例は以下の通り Windows 2000
Apache Chunked Encoding Overflow Microsoft IIS ISAPI .printer Extension Host Header Overflow Microsoft Windows WebDav ntdll.dll Overflow Microsoft FrontPage Server Extensions Debug Overflow Microsoft Windows PnP Service Remote Overflow Microsoft ASN.1 Library Bitstring Heap Overflow Microsoft Windows Message Queueing Remote Overflow Microsoft Windows RPC DCOM Interface Overflow War-FTPD 1.65 USER Overflow Linux nbSMTP v0.99 remote format string exploit Custom Stack Overflow Custom Heap Corruption Overflow
29
結論 ワームの封じ込めのためのシステムArgos x86エミュレータQEMUを利用 実行速度はかなり遅くなるが、攻撃の検出精度は高い
30
SubVirt: Implementing Malware with Virtual Machines
31
論文の要旨 Virtual-machine based rootkit (VMBR) 検出が困難で、かつ、多様な攻撃が可能
VMMをインストールする 元のOSを仮想マシン上で実行する 検出が困難で、かつ、多様な攻撃が可能
32
既存のルートキットの問題点 IDSに対して、明確な優位性を持たない 複雑な機能を持つほど、検出されやすくなる
特権レベルで動くプログラム同士の「いたちごっこ」 複雑な機能を持つほど、検出されやすくなる 例)フィッシングwebサーバは、ネットワークポートやファイルなどに関する情報を残す
33
Virtual-Machine Based Rootkit (VMBR)
仮想マシンモニタ(VMM)を利用したルートキット VMMをインストールする 元のOSを仮想マシン上で実行する 仮想マシン 特長 攻撃を検出するのが困難 攻撃対象のOS アプリ ホストOS 仮想マシンモニタ ハードウェア
34
VMBRの特長 攻撃が検出されにくい 多様な攻撃を実現できる 攻撃対象のOSからVMMを隠蔽 VMMによって、攻撃対象のOSを制御
Exercises qualitatively more control than current malware Supports general-purpose functionality
35
以降の発表の流れ どうやってVMBRをインストールか どうやって悪意のあるサービスを実現するか どうやってVMBRのアンインストールを防ぐか
36
VMBRのインストール方法 ブートシークエンスを操作し、 VMBRを攻撃対象OSより先に起動させる
Overwrite the disk master boot record using the Linux hard-drive block-device so that our VMBR loads at system boot
37
インストール方法の詳細 特権レベルでマシンにアクセス可能にする VMMを未使用のディスクスペースに置く ブートシークエンスを変更する
例)ユーザをだましてソフトウェアをインストール 例)P2P上にあるbootable CD-ROMイメージを改竄 VMMを未使用のディスクスペースに置く 例)攻撃対象OSがLinuxならば、スワップ領域に ブートシークエンスを変更する 起動時に、 VMMが最初にロードされるようにする IDSに検知されないように、マシンが停止する直前に ブートシークエンスを変更
38
インストール方法の詳細 マシンの再起動と共に、VMMが起動する 攻撃対象OSをゲストOSとして起動させる
仮想ディスクへのアクセスを、物理ディスク上の対応する領域へのアクセスに変換する
39
悪意のあるサービスの実現方法 攻撃のためのOSを別に用意する 攻撃対象OSによって攻撃が検出されにくい
既存のライブラリ・ツールを使い、攻撃を実装できる 攻撃対象のOS アプリ 悪意のある サービス ホストOS 仮想マシンモニタ ハードウェア
40
悪意のあるサービスの例1 ターゲットシステムには無関係の攻撃 スパムの転送 分散DoS攻撃 フィッシングWebサーバ …
アプリ フィッシング Webサーバ フィッシングの場合、 ほとんどのトラフィックは、ターゲットOSに 8080番ポートへのincoming TCPリクエストのみ、 ホストOS 仮想マシンモニタ ハードウェア
41
悪意のあるサービスの例2 ターゲットシステムのデータ・イベントを見る攻撃
I/Oデバイスへのアクセスを捕捉して、 キーストロークやネットワークパケットを盗み見る SSLソケットのwrite呼び出しを捕捉して、 暗号化される前の平文を取得する … 攻撃対象のOS アプリ 監視アプリ ホストOS 仮想マシンモニタ ハードウェア
42
悪意のあるサービスの例3 ターゲットシステムの実行を書き換える攻撃 ネットワークパケットの改竄 ファイルの削除 …
43
VMBRのアンインストールを防ぐには VMBRがマシンを制御できない瞬間をなくしたい マシンの起動・停止を仮想化する
例)BIOSが他のメディアを起動させるのを防ぎたい マシンの起動・停止を仮想化する ACPIのスリープ状態でエミュレーションする
44
どうやってVMBRが インストールされたことを検出するか
安全なハードウェア(例、Intel LaGrande)や 安全なVMM(例、Terra)を利用する VMBRより上のレイヤーで検出する 実行時のオーバヘッドから類推する センシティブな非特権命令(例、sidt命令)を、 ユーザレベルで実行する 多くのVMMで、エミュレーションが実装されていない
45
実装 2種類のProof-of-concept VMBR 4つの悪意のあるサービス Virtual PC (Windows XP)
VMware (Linux) 4つの悪意のあるサービス フィッシングWebサーバ キーストロークのスニファー パスワードファイルの検索ツール VMMを検出するプログラムredpillを回避するプログラム
46
結論 VMMを使った悪意のあるサービスと、 それへの防御方法 まだまだNaïveな点は多いけれど、新しい発想?
仮想化対応のハードウェアが普及してくれば、 こうした攻撃もより一般的になるはず?
47
その他
48
Executing MPI Programs on Virtual Machines in an Internet Sharing System
User-mode Linuxを元にしている 通信処理を最適化している ゲストOSのソケットとホストOSのソケットを 直に対応付ける 例)ゲストOS上でsocket()を呼ぶと、ホストOS上でもsocket()が呼ばれ、ソケットが生成される ※ Linux Vserverで十分では? ファイルデスクリプタの対応付け 同期通信のブロックの扱い
49
A Feather-Weight Virtual Machine for Windows Applications
Windows上で動くsoftware potのようなもの OSの名前空間を仮想化する ファイル、レジストリ、ネットワークアドレス、 カーネルオブジェクトの仮想化 プロセス間通信の制限 デーモンサービスの仮想化
50
A Feather-Weight Virtual Machine for Windows Application
システムサービスの捕捉の実装 ファイル、プロセス間通信 カーネルレベルで捕捉 System Service Dispatch Table中のシステムコールの エントリポイントを変更 ウィンドウ管理など ユーザレベルで捕捉 Import Address Table 中のライブラリ関数の エントリポイントを変更 ファイル等の資源の共有及び隔離の実装 Copy-on-write方式 …
51
参考資料
52
関連する学会 USENIX Symposium on Operating Systems Design and Implementation (OSDI) ACM Symposium on Operating Systems Principles (SOSP) USENIX Annual Technical Conference (USENIX) ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) ACM/USENIX International Conference on Virtual Execution Environments (VEE) USENIX Symposium on Networked Systems Design and Implementation (NSDI) IEEE International Conference on Distributed Computing Systems (ICDCS) IEEE International Parallel and Distributed Processing Symposium (IPDPS) EuroSys
53
関連する論文 (USENIX’06) Antfarm: Tracking Processes in a Virtual Machine Environment Stephen T. Jones, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau Optimizing Network Virtualization in Xen Aravind Menon, Alan L. Cox, and Willy Zwaenepoel High Performance VMM-Bypass I/O in Virtual Machines Jiuxing Liu, Wei Huang, Bulent Abali, and Dhabaleswar K. Panda
54
関連する論文 (EuroSys’06) Argos: an Emulator for Fingerprinting Zero-Day Attacks Georgios Portokalidis, Asia Slowinska, and Herbert Bos
55
関連する論文 (VEE’06) Virtual Machine-Based Honeypot Monitoring
Kurniadi Asrigo, Lionel Litty, and David Lie A Feather-Weight Virtual Machine for Windows Applications Yang Yu, Fanglu Guo, Susanta Nanda, Lap-chung Lam, and Tzi-cker Chiueh Live Updating Operating Systems Using Virtualization Haibo Chen,Rong Chen,Fengzhe Zhang,Binyu Zang, and Pen-Chung Yew
56
関連する論文 (NSDI’06) Ventana: A Distributed Filesystem for Virtual Machine Based Computing Environments Ben Pfaff, Tal Garfinkel, and Mendel Rosenblum
57
関連する論文 (IPDPS’06) Executing MPI Programs on Virtual Machines in an Internet Sharing System Z. Pan, X. Ren, R. Eigenmann, and D. Xu
58
関連する論文 (SACSIS’06) 仮想計算機を用いたグリッド上でのMPI実行環境
立薗 真樹, 中田 秀基, and 松岡 聡 ORE Grid: 仮想計算機を用いたグリッド実行環境の高速な配置ツール 高宮 安仁, 山形 育平, 青木 孝文, 中田 秀基, and 松岡 聡
59
関連する論文 (ASPLOS’04) Devirtualizable virtual machines enabling general, single-node, online maintenance David E. Lowell, Yasushi Saito, and Eileen J. Samberg
60
関連するプロジェクト (1/3) Xen Denali User-mode Linux Cooperative Linux
Denali Lightweight virtual machines for distributed and networked systems User-mode Linux Cooperative Linux FAUmachine L4Ka Virtual Machine Technology
61
関連するプロジェクト (2/3) sHype, rHype CoVirt HyperSpector
Hypervisor security architecture Research Hypervisor CoVirt Virtual-machine based security services HyperSpector virtual distributed monitoring environment
62
関連するプロジェクト (3/3) The Collective Zap, MobiDisk, THINC Virtuoso (VNET)
A virtual appliance computing infrastructure Zap, MobiDisk, THINC Virtuoso (VNET) Resource management and prediction for distributed computing using virtual machines Virtualization-based system for network security and Grid Collapsar, VIOLIN, SODA In-VIGO (VMPlants) Virtualization middleware for computational grids
63
関連する企業 VMware Microsoft Virtual Server SWSoft Virtuozzo TRANGO
Real-time embedded hypervisor Parallels SVISTA Ensim
64
Virtual machine support for distributed file system
VMM introduction R. Goldberg, Survey of Virtual Machine Research, IEEE Computer, June 1974, pp R. Goldberg, Architecture of Virtual Machines, Proceedings of the Workshop on Virtual Computer Systems, Cambridge, Mass, 1973, pp J. E. Smith and Ravi Nair, An Overview of Virtual Machine Architectures, November 1, 2003. J. E. Smith and Ravi Nair, Virtual Machine Architectures, Implementations, and Applications, August 23, 2004. VMware VMware patent Carl A. Waldspurger, Memory Resource Management in VMware ESX Server, OSDI 2002. John Scott Robin and Cynthia E. Irvine, Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor, USENIX Security 2000. Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim, Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor, USENIX Annual Technical Conference, 2001. OS extension for VMM Samuel T. King, George W. Dunlap, Peter M. Chen, Operating System Support for Virtual Machines, USENIX Annual Technical Conference, 2003. Linux-specific systems User-mode Linux Cooperative Linux Emulators DOSemu, WINE bochs, QEMU, PearPC Process-level virtualization FreeBSD Jail Zap: Steven Osman, Dinesh Subhraveti, Gong Su, and Jason Nieh, The Design and Implementation of Zap: A System for Migrating Computing Environments, OSDI 2002. Compute Capsule: Brian K. Schmidt, Supporting Ubiquitous Computing with Stateless Consoles and Computation Caches, Ph.D. Thesis, Computer Science Department, Stanford University, August 2000. Para-virtualization, microkernel Xen: Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield, Xen and the Art of Virtualization, SOSP 2003. Denali: Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, Scale and Performance in the Denali Isolation Kernel, OSDI 2002. Exokernel: Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr, Exokernel: an operating system architecture for application-level resource management, SOSP '95. Exokernel: Charles L. Coffing, An x86 Protected Mode Virtual Machine Monitor for the MIT Exokernel, Master's thesis, 1999. LilyVM: Hideki Eiraku and Yasushi Shinjo, Running BSD Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions, BSDCon '03. Visiting classics SimOS: Mendel Rosenblum, Edouard Bugnion, Scott Devine, and Steve Herrod, Using the SimOS Machine Simulator to Study Complex Computer Systems, ACM TOMACS Special Issue on Computer Simulation, 1997. Disco: Edouard Bugnion, Scott Devine, Mendel Rosenblum, Disco: Running Commodity Operating Systems on Scalable Multiprocessors, SOSP '97. Application to security Terra: Tal Garfinkel, Ben Pfaff, Jim Chow, Mendel Rosenblum, Dan Boneh, Terra: A Virtual-Machine Based Platform for Trusted Computing, SOSP 2003. Revirt: George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza A. Basrai, and Peter M. Chen, ReVirt: Enabling Intrusion Analysis Through Virtual-Machine Logging and Replay, OSDI 2002. Tal Garfinkel and Mendel Rosenblum, A Virtual Machine Introspection Based Architecture for Intrusion Detection, NDSS 2003. Collapsar: Xuxian Jiang, Dongyan Xu, Collapsar: A VM-Based Architecture for Network Attack Detention Center, USENIX Security Symposium 2004. Honeypot using VMware or UML honeynet project Application to Grid SODA: Xuxian Jiang, Dongyan Xu, SODA: a Service-On-Demand Architecture for Application Service Hosting Utility Platforms, HPDC-12, 2003. Virtuoso: R. Figueiredo, P. Dinda, J. Fortes, A Case for Grid Computing on Virtual Machines, ICDCS 2003, 2003. vMatrix: Amr A. Awadallah and Mendel Rosenblum, The vMatrix: Server Switching, IEEE FTDCS 2004, 2004. VMPlants: Ivan Victor Krsul, Arijit Ganguly, Jian Zhang, Jose A. B. Fortes, Renato J. Figueiredo, VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing, SC 2004, 2004. Migration Constantine P. Sapuntzakis, Ramesh Chandra, Ben Pfaff, Jim Chow, Monica S. Lam, and Mendel Rosenblum, Optimizing the Migration of Virtual Computers, OSDI 2002. vOS: Tom Boyd and Partha Dasgupta, Process Migration: A Generalized Approach using a Virtualizing Operating System, ICDCS 2002. Fault tolerant, dependable, and reliable VMs DARMA Intel's new architecture for virtualization Other VMMs VirtualPC Simics Ensim FAUmachine Misc M. D. Canon, D. H. Fritz, J. H. Howard, T. D. Howell, M. F. Mitoma, and J. Rodriquez-Rosell, A virtual machine emulator for performance evaluation, ACM Communications Volume 23, Issue 2, pp , 1980. Peter M. Chen, Brian D. Noble, When Virtual Is Better Than Real, Proceedings of the 2001 Workshop on Hot Topics in Operating Systems (HotOS-VIII), 2001. Samuel T. King, George W. Dunlap, Peter M. Chen, Debugging operating systems with time-traveling virtual machines, University of Michigan CSE-TR , August 2004. Andrew Whitaker, Richard S. Cox, and Steven D. Gribble. Using Time Travel to Diagnose Computer Problems, Proceedings of the 11th ACM SIGOPS European Workshop, Leuven, Belgium, September 2004. Bin Lin and Peter Dinda, VSched: Mixing Batch and Interactive Virtual Machines Using Periodic Real-time Scheduling Virtual machine support for distributed file system GVFS DF] Distributed File System Support for Virtual Machines in Grid Computing Virtual Appliances for Deploying and Maintaining Software In Proceedings of ACM Workshop on Models, Methods and Tools for Reproducible Network Research (MoMeTools, in conjunction with ACM SIGCOMM 2003).
65
Virtual machine support for distributed file system
VMM introduction R. Goldberg, Survey of Virtual Machine Research, IEEE Computer, June 1974, pp R. Goldberg, Architecture of Virtual Machines, Proceedings of the Workshop on Virtual Computer Systems, Cambridge, Mass, 1973, pp J. E. Smith and Ravi Nair, An Overview of Virtual Machine Architectures, November 1, 2003. J. E. Smith and Ravi Nair, Virtual Machine Architectures, Implementations, and Applications, August 23, 2004. VMware VMware patent Carl A. Waldspurger, Memory Resource Management in VMware ESX Server, OSDI 2002. John Scott Robin and Cynthia E. Irvine, Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor, USENIX Security 2000. Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim, Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor, USENIX Annual Technical Conference, 2001. OS extension for VMM Samuel T. King, George W. Dunlap, Peter M. Chen, Operating System Support for Virtual Machines, USENIX Annual Technical Conference, 2003. Linux-specific systems User-mode Linux Cooperative Linux Emulators DOSemu, WINE bochs, QEMU, PearPC Process-level virtualization FreeBSD Jail Zap: Steven Osman, Dinesh Subhraveti, Gong Su, and Jason Nieh, The Design and Implementation of Zap: A System for Migrating Computing Environments, OSDI 2002. Compute Capsule: Brian K. Schmidt, Supporting Ubiquitous Computing with Stateless Consoles and Computation Caches, Ph.D. Thesis, Computer Science Department, Stanford University, August 2000. Para-virtualization, microkernel Xen: Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield, Xen and the Art of Virtualization, SOSP 2003. Denali: Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, Scale and Performance in the Denali Isolation Kernel, OSDI 2002. Exokernel: Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr, Exokernel: an operating system architecture for application-level resource management, SOSP '95. Exokernel: Charles L. Coffing, An x86 Protected Mode Virtual Machine Monitor for the MIT Exokernel, Master's thesis, 1999. LilyVM: Hideki Eiraku and Yasushi Shinjo, Running BSD Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions, BSDCon '03. Visiting classics SimOS: Mendel Rosenblum, Edouard Bugnion, Scott Devine, and Steve Herrod, Using the SimOS Machine Simulator to Study Complex Computer Systems, ACM TOMACS Special Issue on Computer Simulation, 1997. Disco: Edouard Bugnion, Scott Devine, Mendel Rosenblum, Disco: Running Commodity Operating Systems on Scalable Multiprocessors, SOSP '97. Application to security Terra: Tal Garfinkel, Ben Pfaff, Jim Chow, Mendel Rosenblum, Dan Boneh, Terra: A Virtual-Machine Based Platform for Trusted Computing, SOSP 2003. Revirt: George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza A. Basrai, and Peter M. Chen, ReVirt: Enabling Intrusion Analysis Through Virtual-Machine Logging and Replay, OSDI 2002. Tal Garfinkel and Mendel Rosenblum, A Virtual Machine Introspection Based Architecture for Intrusion Detection, NDSS 2003. Collapsar: Xuxian Jiang, Dongyan Xu, Collapsar: A VM-Based Architecture for Network Attack Detention Center, USENIX Security Symposium 2004. Honeypot using VMware or UML honeynet project Application to Grid SODA: Xuxian Jiang, Dongyan Xu, SODA: a Service-On-Demand Architecture for Application Service Hosting Utility Platforms, HPDC-12, 2003. Virtuoso: R. Figueiredo, P. Dinda, J. Fortes, A Case for Grid Computing on Virtual Machines, ICDCS 2003, 2003. vMatrix: Amr A. Awadallah and Mendel Rosenblum, The vMatrix: Server Switching, IEEE FTDCS 2004, 2004. VMPlants: Ivan Victor Krsul, Arijit Ganguly, Jian Zhang, Jose A. B. Fortes, Renato J. Figueiredo, VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing, SC 2004, 2004. Migration Constantine P. Sapuntzakis, Ramesh Chandra, Ben Pfaff, Jim Chow, Monica S. Lam, and Mendel Rosenblum, Optimizing the Migration of Virtual Computers, OSDI 2002. vOS: Tom Boyd and Partha Dasgupta, Process Migration: A Generalized Approach using a Virtualizing Operating System, ICDCS 2002. Fault tolerant, dependable, and reliable VMs DARMA Intel's new architecture for virtualization Other VMMs VirtualPC Simics FAUmachine Misc M. D. Canon, D. H. Fritz, J. H. Howard, T. D. Howell, M. F. Mitoma, and J. Rodriquez-Rosell, A virtual machine emulator for performance evaluation, ACM Communications Volume 23, Issue 2, pp , 1980. Peter M. Chen, Brian D. Noble, When Virtual Is Better Than Real, Proceedings of the 2001 Workshop on Hot Topics in Operating Systems (HotOS-VIII), 2001. Samuel T. King, George W. Dunlap, Peter M. Chen, Debugging operating systems with time-traveling virtual machines, University of Michigan CSE-TR , August 2004. Andrew Whitaker, Richard S. Cox, and Steven D. Gribble. Using Time Travel to Diagnose Computer Problems, Proceedings of the 11th ACM SIGOPS European Workshop, Leuven, Belgium, September 2004. Bin Lin and Peter Dinda, VSched: Mixing Batch and Interactive Virtual Machines Using Periodic Real-time Scheduling Virtual machine support for distributed file system GVFS DF] Distributed File System Support for Virtual Machines in Grid Computing Virtual Appliances for Deploying and Maintaining Software In Proceedings of ACM Workshop on Models, Methods and Tools for Reproducible Network Research (MoMeTools, in conjunction with ACM SIGCOMM 2003).
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.