skip to main content
10.1145/3193111.3193118acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
demonstration
Public Access

Hardening Hypervisors against Vulnerabilities in Instruction Emulators

Published:23 April 2018Publication History

ABSTRACT

Vulnerabilities in hypervisors are crucial in multi-tenant clouds and attractive for attackers because a vulnerability in the hypervisor can undermine all the virtual machine (VM) security. This paper focuses on vulnerabilities in instruction emulators inside hypervisors. Vulnerabilities in instruction emulators are not rare; CVE-2017-2583, CVE-2016-9756, CVE-2015-0239, CVE-2014-3647, to name a few. For backward compatibility with legacy x86 CPUs, conventional hypervisors emulate arbitrary instructions at any time if requested. This design leads to a large attack surface, making it hard to get rid of vulnerabilities in the emulator.

This paper proposes FWinst that narrows the attack surface against vulnerabilities in the emulator. The key insight behind FWinst is that the emulator should emulate only a small subset of instructions, depending on the underlying CPU micro-architecture and the hypervisor configuration. FWinst recognizes emulation contexts in which the instruction emulator is invoked, and identifies a legitimate subset of instructions that are allowed to be emulated in the current context. By filtering out illegitimate instructions, FWinst narrows the attack surface. In particular, FWinst is effective on recent x86 micro-architectures because the legitimate subset becomes very small. Our experimental results demonstrate FWinst prevents existing vulnerabilities in the emulator from being exploited on Westmere micro-architecture, and the runtime overhead is negligible.

References

  1. 2017. ab - Apache HTTP server benchmarking tool. https://httpd.apache.org/docs/2.4/programs/ab.html. (2017).Google ScholarGoogle Scholar
  2. 2017. sysbench. https://github.com/akopytov/sysbench. (2017).Google ScholarGoogle Scholar
  3. 2017. Unix Bench. https://github.com/kdlucas/byte-unixbench. (2017).Google ScholarGoogle Scholar
  4. Nadav Amit, Dan Tsafrir, Assaf Schuster, Ahmad Ayoub, and Eran Shlomo. 2015. Virtual CPU Validation. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15). ACM, New York, NY, USA, 311--327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Andrea Arcangeli. 2008. Using Linux as Hypervisor with KVM. https://indico.cern.ch/event/39755/attachments/797208/1092716/slides.pdf. (2008).Google ScholarGoogle Scholar
  6. Liang Deng, Peng Liu, Jun Xu, Ping Chen, and Qingkai Zeng. 2017. Dancing with Wolves: Towards Practical Event-driven VMM Monitoring. In Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE '17). ACM, New York, NY, USA, 83--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Baozeng Ding, Yeping He, Yanjun Wu, and Yuqi Lin. 2013. HyperVerify: A VM-assisted Architecture for Monitoring Hypervisor Non-control Data. In Proceedings of the 2013 IEEE Seventh International Conference on Software Security and Reliability Companion (SERE-C '13). IEEE Computer Society, Washington, DC, USA, 26--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. KVM. 2016. KVM. http://www.linux-kvm.org/page/Main_Page. (2016).Google ScholarGoogle Scholar
  9. Anh Nguyen, Himanshu Raj, Shravan Rayanchu, Stefan Saroiu, and Alec Wolman. 2012. Delusional Boot: Securing Hypervisors Without Massive Re-engineering. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12). ACM, New York, NY, USA, 141--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Junya Ogasawara and Kenji Kono. 2017. Nioh: Hardening The Hypervisor by Filtering Illegal I/O Requests to Virtual Devices. In Proceedings of the 33rd Annual Computer Security Applications Conference (ACSAC 2017). ACM, New York, NY, USA, 542--552. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Paolo Bonzini. 2014. KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions. Linux Kernel Mailing List. https://lkml.org/lkml/2014/3/17/384. (2014).Google ScholarGoogle Scholar
  12. Lei Shi, Yuming Wu, Yubin Xia, Nathan Dautenhahn, Haibo Chen, Binyu Zang, Haibing Guan, and Jinming Li. 2017. Deconstructing Xen. In The Network and Distributed System Security Symposium 2017 (NDSS '17).Google ScholarGoogle Scholar
  13. Udo Steinberg and Bernhard Kauer. 2010. NOVA: A Microhypervisor-based Secure Virtualization Architecture. In Proceedings of the 5th European Conference on Computer Systems (EuroSys '10). ACM, New York, NY, USA, 209--222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jakub Szefer, Eric Keller, Ruby B. Lee, and Jennifer Rexford. 2011. Eliminating the Hypervisor Attack Surface for a More Secure Cloud. In Proceedings of the 18th ACM Conference on Computer and Communications Security (CCS '11). ACM, New York, NY, USA, 401--412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Xenproject.org Security Team. 2017. Xen Security Advisory. https://xenbits.xen.org/xsa/. (2017).Google ScholarGoogle Scholar
  16. Zhi Wang and Xuxian Jiang. 2010. HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity. In IEEE Symposium on Security and Privacy. IEEE, 380--395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Zhi Wang, Chiachih Wu, Michael Grace, and Xuxian Jiang. 2012. Isolating Commodity Hosted Hypervisors with HyperLock. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12). ACM, New York, NY, USA, 127--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Chiachih Wu, Zhi Wang, and Xuxian Jiang. 2013. Taming Hosted Hypervisors with (Mostly) Deprivileged Execution.. In NDSS (NDSS '13). The Internet Society.Google ScholarGoogle Scholar

Index Terms

  1. Hardening Hypervisors against Vulnerabilities in Instruction Emulators

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      EuroSec'18: Proceedings of the 11th European Workshop on Systems Security
      April 2018
      53 pages
      ISBN:9781450356527
      DOI:10.1145/3193111

      Copyright © 2018 Owner/Author

      Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 23 April 2018

      Check for updates

      Qualifiers

      • demonstration
      • Research
      • Refereed limited

      Acceptance Rates

      EuroSec'18 Paper Acceptance Rate8of19submissions,42%Overall Acceptance Rate47of113submissions,42%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader