Abstract
The operating system’s traditional design controls and manages all system resources, which comes at the cost of performance and scalability overhead. The scalability overhead results from the kernel’s internal metadata structures and locks primarily designed for sequential access. Additionally, implementing software services and resource management requires compliance with the strict kernel abstractions and programming paradigms that can result in semantic bugs. Although plausible, decoupling from the strict kernel control path and code stack comes at the penalty of losing a higher trust entity to enforce protection separation and protection of user code and data. This paper offers a hardware-assisted method to run confined user-space functions at a higher privilege level. Our method allows the implementation of fined-grained user-level services and protocols without modifying the operating system’s protection scheme. This is done by introducing two high-level instructions to the x86 ISA. Our simulation shows that user-level functions that leverage our instructions run in the same order as standard function calls, while the real benefit lies in the flexibility and ability to decouple the protected code from the kernel limitations.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Bagherzadeh, M., Kahani, N., Bezemer, C., Hassan, A.E., Dingel, J., Cordy, J.R.: Analyzing a decade of Linux system calls. Empir. Softw. Eng. 23(3), 1519–1551 (2018)
Baumann, A., et al.: The multikernel: a new OS architecture for scalable multicore systems. In: Proceedings of the 22nd ACM Symposium on Operating Systems Principles, SOSP (2009)
Binkert, N.L., et al.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011)
Bittman, D., Alvaro, P., Mehra, P., Long, D.D.E., Miller, E.L.: Twizzler: a data-centric OS for non-volatile memory. In: USENIX Annual Technical Conference (ATC) (2020)
Cai, M., Huang, H., Huang, J.: Understanding security vulnerabilities in file systems. In: Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems, APSys 2019, Hangzhou, China, 19–20 August 2019, pp. 8–15. ACM (2019)
Corporation, A.: Amd64 architecture programmer’s manual (2021)
Davis, M.: Creating a vDSO: the colonel’s other chicken (2012). https://dl.acm.org/doi/fullHtml/10.5555/2073763.2073769
Dong, M., Bu, H., Yi, J., Dong, B., Chen, H.: Performance and protection in the ZoFS user-space NVM file system. In: Proceedings of the 27th ACM Symposium on Operating Systems Principles, SOSP (2019)
Guide, P.: Intel® 64 and IA-32 architectures software developer’s manual, vol. 4 (2022)
Hedayati, M., et al.: Hodor: intra-process isolation for high-throughput data plane libraries. In: USENIX Annual Technical ConferenceATC (2019)
Kim, T., Peinado, M., Mainar-Ruiz, G.: STEALTHMEM: system-level protection against cache-based side channel attacks in the cloud. In: Kohno, T. (ed.) Proceedings of the 21th USENIX Security Symposium. USENIX Association (2012)
Kjellqvist, C., Hedayati, M., Scott, M.L.: Safe, fast sharing of memcached as a protected library. In: 49th International Conference on Parallel Processing (2020)
Kuznetsov, D., Morrison, A.: Privbox: faster system calls through sandboxed privileged execution. In: USENIX Annual Technical Conference (USENIX ATC) (2022)
Lee, H., Song, C., Kang, B.B.: Lord of the x86 rings: a portable user mode privilege separation architecture on x86. In: Lie, D., Mannan, M., Backes, M., Wang, X. (eds.) Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, CCS (2018)
Moti, N., et al.: Simurgh: a fully decentralized and secure NVMM user space file system. In: SC 2021: The International Conference for High Performance Computing, Networking, Storage and Analysis (2021)
Narayanan, V., et al.: Redleaf: isolation and communication in a safe operating system. In: 14th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2020, Virtual Event, 4–6 November 2020, pp. 21–39. USENIX Association (2020)
Park, S., Lee, S., Xu, W., Moon, H., Kim, T.: libmpk: software abstraction for intel memory protection keys (intel MPK). In: 2019 USENIX Annual Technical Conference, USENIX ATC 2019, Renton, WA, USA, 10–12 July 2019, pp. 241–254. USENIX Association (2019)
Shapiro, J.S., Smith, J.M., Farber, D.J.: EROS: a fast capability system. In: Proceedings of the 17th ACM Symposium on Operating System Principles (SOSP), 12–15 December, pp. 170–185 (1999)
Song, C., et al.: HDFI: hardware-assisted data-flow isolation. In: IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May, pp. 1–17 (2016)
Watson, R.N.M., et al.: CHERI: a hybrid capability-system architecture for scalable software compartmentalization. In: IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 17–21 May, pp. 20–37 (2015)
Wippel, H.: DPDK-based implementation of application-tailored networks on end user nodes. In: International Conference and Workshop on the Network of the Future, NOF (2014)
Yang, Z., et al.: SPDK: a development kit to build high performance storage applications. In: IEEE International Conference on Cloud Computing Technology and Science, CloudCom (2017)
Zhang, I., et al.: The demikernel datapath OS architecture for microsecond-scale datacenter systems. In: SOSP: ACM SIGOPS 28th Symposium on Operating Systems Principles (2021)
Acknowledgment
This work has been partially funded by the European Union’s Horizon 2020 under the “Adaptive multi-tier intelligent data manager for Exascale (ADMIRE)” project; Grant Agreement No: 956748-ADMIRE-H2020-JTI-EuroHPC-2019-1 and the IO-SEA project, supported by the European High-Performance Computing Joint Undertaking (JU) and from BMBF/DLR under grant agreement No 955811.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Moti, N., Salkhordeh, R., Brinkmann, A. (2022). Protected Functions: User Space Privileged Function Calls. In: Schulz, M., Trinitis, C., Papadopoulou, N., Pionteck, T. (eds) Architecture of Computing Systems. ARCS 2022. Lecture Notes in Computer Science, vol 13642. Springer, Cham. https://doi.org/10.1007/978-3-031-21867-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-21867-5_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21866-8
Online ISBN: 978-3-031-21867-5
eBook Packages: Computer ScienceComputer Science (R0)