kMVX: Detecting Kernel Information Leaks with Multi-variant Execution

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

  • External authors:
  • Sebastian Österlund
  • Koen Koning
  • Antonio Barbalace
  • Herbert Bos
  • Cristiano Giuffrida

Abstract

Kernel information leak vulnerabilities are a major security threat to production systems. Attackers can exploit them to leak confidential information such as cryptographic keys or kernel pointers. Despite efforts by kernel developers and researchers, existing defenses for kernels such as Linux are limited in scope or incur a prohibitive performance overhead. In this paper, we present kMVX, a comprehensive defense against information leak vulnerabilities in the kernel by running multiple diversified kernel variants simultaneously on the same machine. By constructing these variants in a careful manner, we can ensure they only show divergences when an attacker tries to exploit bugs present in the kernel. By detecting these divergences we can prevent kernel information leaks. Our kMVX design is inspired by multi-variant execution (MVX). Traditional MVX designs cannot be applied to kernels because of their assumptions on the run-time environment. kMVX, on the other hand, can be applied even to commodity kernels. We show our Linux-based prototype provides powerful protection against information leaks at acceptable performance overhead (20--50% in the worst case for popular server applications).

Bibliographical metadata

Original languageEnglish
Title of host publicationASPLOS '19: Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems
PublisherAssociation for Computing Machinery
Pages559-572
ISBN (Print)978-1-4503-6240-5
DOIs
Publication statusPublished - 1 Apr 2019
EventASPLOS '19: Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems - Providence, United States
Event duration: 13 Apr 201917 Apr 2019

Conference

ConferenceASPLOS '19: Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems
CountryUnited States
CityProvidence
Period13/04/1917/04/19

Related information

Researchers

View all