Skip to main content

Protected Functions: User Space Privileged Function Calls

  • Conference paper
  • First Online:
  • 568 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13642))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://github.com/misc0110/PTEditor.

References

  1. 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)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. Binkert, N.L., et al.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011)

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Corporation, A.: Amd64 architecture programmer’s manual (2021)

    Google Scholar 

  7. Davis, M.: Creating a vDSO: the colonel’s other chicken (2012). https://dl.acm.org/doi/fullHtml/10.5555/2073763.2073769

  8. 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)

    Google Scholar 

  9. Guide, P.: Intel® 64 and IA-32 architectures software developer’s manual, vol. 4 (2022)

    Google Scholar 

  10. Hedayati, M., et al.: Hodor: intra-process isolation for high-throughput data plane libraries. In: USENIX Annual Technical ConferenceATC (2019)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Kjellqvist, C., Hedayati, M., Scott, M.L.: Safe, fast sharing of memcached as a protected library. In: 49th International Conference on Parallel Processing (2020)

    Google Scholar 

  13. Kuznetsov, D., Morrison, A.: Privbox: faster system calls through sandboxed privileged execution. In: USENIX Annual Technical Conference (USENIX ATC) (2022)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Nafiseh Moti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics