Parallel Processing Institute, Fudan University
Postal Address: RM 319, Software Building, 825 Zhangheng RD
Shanghai, P.R. China 201203
Email: fzzhang at fudan dot edu dot cn
System dependability, security and privacy
Operating system design and system virtualization
Operating system supports for hardware evolution trends
- CloudVisor (aka MOON), May. 2010 ~ March. 2011. CloudVisor project is designed to provide a brand new solid trusted computing base for cloud computing. CloudVisor is a tiny hypervisor that runs underneath the hypervisor to provide strong private and secure execution environment for VMs. Even the hypervisor cannot access the memory space of VMs. Users can upload and run his VMs without exposing the VM contents, even to the cloud service provider.
- Dissolver, Jan. 2009 ~ Jan. 2010. Dissolver provides self-destruction capability for online data that are stored in the cloud. In the framework of Dissolver, users can upload computation and data to the cloud, utilize the resource of cloud and destroy sensitive data afterwards. Even the cloud service provider cannot access to user data or keep a copy in clear text.
- PALM, May. 2008 ~ Dec. 2008. PALM is the name for Protection Aegis for Live Migration of Virtual Machines. This project aims at providing VMs with migration capability under the condition that a VMM-enforced process protection mechanism (such as CHAOS) is present and active. Throughout the migration procedure, the guest OS is not trusted. PALM system provided data encryption/decryption and integrity check for the protected processes and these are transparent to the OS. Live migration character is preserved that the VM is actively working most of the time during the migration.
- CHAOS, Aug. 2006 ~ Apr. 2008. CHAOS is the name for Confidentiality and High Availablity of Operating Systems. This project aims at providing a trusted execution environment for specified applications with the assumption that the operating system could be malicious. This is made possible by trusting the relatively small and static virtual machine monitor. With the supervision and intervention of the VM monitor, the privacy (e.g. memory contents and disk files) of the specified application could be guaranteed even under the threat of a totally compromised operating system kernel.
- Mercury, Dec. 2005 ~ Jul. 2006. This project dynamically virtualize and de-virtualize an operating system. In the virtualized mode, a virtual machine monitor runs below the operating system. In this mode, virtualization enabled features could be applied like online maintenance and hosting more virtual machines. When the machine is de-virtualized, the operating system runs directly on the bare hardware. In this mode, the operating system could run without virtualization overhead. The switching between the two modes is swift and transparent to running applications.
- Self-migration, Dec. 2005 ~ Jul. 2006. This project aims at migrating a partially virtualized (CPU and memory) operating system to another machine and run as a fully virtualized guest operating system. As the operating system is the only system on the source machine before migration, it has to do the whole migration process within itself. When resuming the operating system on the target machine after migration, its devices (e.g., NICs) are re-connected to those on the target machine instead of its original ones. As the disk capacity of often large, an NFS disk is used to avoid disk content migration.
- LUCOS, Feb. 2005 ~ Dec. 2005. LUCOS is the name for Live Updating Commodity Operating Systems. This project aims at supporting live updates to commodity operating system using system virtualization. LUCOS is used to patch Linux kernel and Xen VM monitor with official released updates and bug-fix patches.
- JVM Optimization for Itanium, Sep. 2004 ~ Jan. 2005. This project aims at utilizing the large number of hardware resources (e.g., registers) on Itanium platform to boost the performance of JVM just-in-time compiler. The major optimization is to support advanced pipelining algorithm in JVM compiler. And this optimization takes the Java exception handling mechanism into consideration.
- Fengzhe Zhang, Jin Chen, Haibo Chen and Binyu Zang. CloudVisor: Retrofitting Protection of Virtual Machines in Multi-tenant Cloud with Nested Virtualization. 23rd ACM Symposium on Operating Systems Principles (SOSP-2011), Cascais, Portugal, October, 2011. [pdf].
- Fengzhe Zhang, Jin Chen, Haibo Chen and Binyu Zang. Lifetime Privacy and Self-destruction of Data in the Cloud. Journal of Computer Research and Development (in Chinese), 2010.
- Fengzhe Zhang, Yijian Huang, Huihong Wang, Haibo Chen and Binyu Zang. PALM: Security Preserving VM Live Migration for Systems with VMM-enforced Protection. In 3rd Asia-Pacific Trusted Infrastructure Technologies Conference (APTC-2008), October, 2008.
- Haibo Chen, Fengzhe Zhang, Cheng Chen, Rong Chen, Binyu Zang, Pen-chung Yew and Wenbo Mao. Tamper-Resistant Execution in an Untrusted Operating System Using A Virtual Machine Monitor. Parallel Processing Institute Technical Report, Number: FDUPPITR-2007-08001, Fudan University, August, 2007.
- Haibo Chen, Rong Chen, Fengzhe Zhang, Binyu Zang and Pen-chung Yew. Mercury: Combining Performance with Dependability Using Self-virtualization. (Best Paper Award) In Proceedings of 36th International Conference on Parallel Processing (ICPP-2007), XiAn China, September, 2007.
- Haibo Chen, Rong Chen, Fengzhe Zhang, Binyu Zang and Pen-chung Yew. Live Updating Operating Systems Using Virtualization. In SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE-2006), pp. 35-44, Ottawa, Canada, June, 2006.
- Rong Chen, Haibo Chen, Fengzhe Zhang and Binyu Zang. Dynamic Update of Operating Systems. Mini-Micro Systems (In Chinese), December, 2007.