Abstract
VUOS (View based OS) is a virtual operating system that permits to give to each process a different view of the underlying system, i.e. access only some specific directories or specified system calls. This is currently obtained intercepting system call requests leveraging the ptrace system call. All the system call requests are forwarded to a VUOS hypervisor (umvu) that runs in user space. For each request, the hypervisor can use its own system call implementation or forward it to the Linux kernel. Running the hypervisor in the user space, like any other user process, increases the security because, in the case of sandbox escape bugs, the potentially malicious process obtains only limited system access. This approach can be seen as an extension to system calls of the FUSE behavior. FUSE (File system in Userspace) is a user-space file system framework that permits users to implement their own file systems without patching the Linux kernel. A kernel module forwards requests for each FUSE-mounted file system to its corresponding user process. FUSE is specific for file systems. VUOS instead permits to implement several system services in user space, like virtual devices, virtual networking and file systems (including reimplementing FUSE as a VUOS module).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
VU was chosen because sounds like “view”.
References
Xu, Q., Patel, R.: Hardware Virtualization. In: Data Plane Development Kit (DPDK), pp. 219–227. CRC Press (2020). https://doi.org/10.1201/9780429353512-13
Watada, J., Roy, A., Kadikar, R., Pham, H., Xu, B.: Emerging trends, techniques and open issues of containerization: a review. IEEE Access 7, 152443–152472 (2019). https://doi.org/10.1109/ACCESS.2019.2945930
Reshetova, E., Karhunen, J., Nyman, T., Asokan, N.: Security of OS-level virtualization technologies. In: Bernsmed, K., Fischer-Hübner, S. (eds.) NordSec 2014. LNCS, vol. 8788, pp. 77–93. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11599-3_5
ptrace(2) - Linux manual page. https://www.man7.org/linux/man-pages/man2/ptrace.2.html. Accessed 02 May 2024
Edge, J.: A seccomp overview. https://lwn.net/Articles/656307/. Accessed 02 May 2024
Seccomp BPF (SECure COMPuting with filters). https://www.kernel.org/doc/html/latest/userspace-api/seccomp_filter.html. Accessed 02 May 2024
Gardenghi, L., Goldweber, M., Davoli, R.: View-OS: a new unifying approach against the global view assumption. In: Bubak, M., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2008. LNCS, vol. 5101, pp. 287–296. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69384-0_34
mount(8) - Linux manual page. https://www.man7.org/linux/man-pages/man8/mount.8.html. Accessed 02 May 2024
VirtualSquare wiki. https://wiki.virtualsquare.org. Accessed 02 May 2024
Davoli, R.: VXVDEX: Internet of threads and networks of namespaces. In: 2017 IEEE International Conference on Communications (ICC), pp. 1–6 (2017). https://doi.org/10.1109/ICC.2017.7996595
Anjali, Caraza-Harter, T., Swift, M.M.: Blending containers and virtual machines: a study of firecracker and gVisor. In: Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 101–113. VEE ’20, Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3381052.3381315
Deshane, T., Shepherd, Z., Matthews, J., Ben-Yehuda, M., Shah, A., Rao, B.: Quantitative comparison of Xen and KVM. Xen Summit, Boston, MA, USA (2008)
gVisor Platform Guide. https://gvisor.dev/docs/architecture_guide/platforms/. Accessed 02 May 2024
Vangoor, B.K.R., Tarasov, V., Zadok, E.: To FUSE or not to FUSE: Performance of User-Space file systems. In: 15th USENIX Conference on File and Storage Technologies (FAST 17), pp. 59–72. USENIX Association, Santa Clara, CA (2017). https://www.usenix.org/conference/fast17/technical-sessions/presentation/vangoor
libfuse repository. https://github.com/libfuse/libfuse. Accessed 02 May 2024
rclone mount. https://rclone.org/commands/rclone_mount/. Accessed 02 May 2024
SSHFS repository. https://github.com/libfuse/sshfs. Accessed 02 May 2024
Tazaki, H., Nakamura, R., Sekiya, Y.: Library Operating System with Mainline Linux Network Stack. In: netdev0.1 (2015). https://netdevconf.info/0.1/papers/Library-Operating-System-with-Mainline-Linux-Network-Stack.pdf
gVisor Homepage. https://gvisor.dev/. Accessed 02 May 2024
Sartakov, V.A., Vilanova, L., Eyers, D., Shinagawa, T., Pietzuch, P.: CAP-VMs: capability-Based isolation and sharing in the cloud. In: 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22), pp. 597–612. USENIX Association, Carlsbad, CA (2022). https://www.usenix.org/conference/osdi22/presentation/sartakov
Watson, R.N., et al.: CHERI: a hybrid capability-system architecture for scalable software compartmentalization. In: 2015 IEEE Symposium on Security and Privacy, pp. 20–37 (2015). https://doi.org/10.1109/SP.2015.9
Chen, J., et al.: DuVisor: a User-level Hypervisor Through Delegated Virtualization (2022). https://doi.org/10.48550/arXiv.2201.09652
Bellard, F.: QEMU, a fast and portable dynamic translator. In: 2005 USENIX Annual Technical Conference (USENIX ATC 05). USENIX Association, Anaheim, CA (2005). https://www.usenix.org/conference/2005-usenix-annual-technical-conference/qemu-fast-and-portable-dynamic-translator
Findlay, W., Somayaji, A., Barrera, D.: bpfbox: simple precise process confinement with eBPF. In: Proceedings of the 2020 ACM SIGSAC Conference on Cloud Computing Security Workshop, pp. 91–103. CCSW’20, Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3411495.3421358
Jia, J., et al.: Programmable System Call Security with eBPF (2023). https://doi.org/10.48550/arXiv.2302.10366
Acknowledgements
This work was partially supported by project SERICS (PE00000014) under the MUR National Recovery and Resilience Plan funded by the European Union - NextGenerationEU.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Disclosure of Interests
Author Renzo Davoli is a member of committee for TOAST 2024.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Bassi, L., Berardi, D., Davoli, R. (2024). VUOS: A User-Space Hypervisor Based on System Call Hijacking. In: Ceccarelli, A., Trapp, M., Bondavalli, A., Schoitsch, E., Gallina, B., Bitsch, F. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2024 Workshops. SAFECOMP 2024. Lecture Notes in Computer Science, vol 14989. Springer, Cham. https://doi.org/10.1007/978-3-031-68738-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-031-68738-9_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-68737-2
Online ISBN: 978-3-031-68738-9
eBook Packages: Computer ScienceComputer Science (R0)