Fuzzing Host-to Guest Attack Surface in Android Protected KVM- Eugene Rodionov & Will Deacon, Google
Channel: The Linux Foundation
Date: 08/10/2022

Fuzzing Host-to Guest Attack Surface in Android Protected KVM - Eugene Rodionov & Will Deacon, Google

Android 13 introduces native support of virtualization services built on top of Protected KVM (pKVM) for arm64 devices. Unlike in traditional KVM where the host is assumed to be entirely trusted by the guest VMs, the new security model introduced in pKVM changes this assumption such that even if the host kernel is compromised pKVM still protects the guest VMs. In this presentation the authors will provide an analysis of the new attack surface exposed by the guest device drivers, which process untrusted input from the devices emulated by a potentially malicious host. Any vulnerabilities in the implementation of virtio front-end and PCI device drivers reachable via the emulated devices can be exploited by the attacker in order to break into the guest VMs. To effectively mitigate this attack vector and identify gaps in input validation of virtio front-end and PCI device drivers, the authors will present a fuzzing solution based on the Linux Kernel Library (LKL) project. The authors will provide details on fuzzing virtio front-end and PCI device drivers with LKL in the context of pKVM, discuss interesting findings and how this tool could be applied more widely in the Linux kernel.