Fuzzing Device Emulation in QEMU

A Greater Boston RIG project

Virtual devices are the most common site for security bugs in hypervisors. In our evaluation, we found new bugs in devices such as serial and virtio-net, ranging from memory corruptions to denial-of-service vulnerabilities. By combining well known coverage guidance techniques with domain-specific feedback, we found promising fuzzer performance, even for complex targets such as hypervisors.

Hardware and the OS

The cloud might abstract away the hardware and OS layers on which it’s built, but at some point, the success of all computing, even the cloud, relies on the interdependencies between hardware features and the software OS that exposes those features to applications. With edge computing advancing and the performance and scale requirements of cloud, new hardware types are rapidly evolving and software innovation must keep pace. We are very interested in projects that amplify hardware innovation and especially in projects that push software-defined capabilities forward.

Projects

ProjectSummaryResearch AreaRIGUniversitiesrig_hfilterpartner_university_hfilter
Building the next generation of programmable networking – powered by LinuxThe project seeks to explore areas related to programmable networking, with a particular focus on the eXpress Data Path (XDP) technology in the Linux kernel.karlstad-university
OpenInfra LabsOpenInfra Labs is an OpenStack Foundation project connecting open source projects to production to advance …, , , , , , boston-university northeastern-university umass-amherst
Open Cloud TestbedThe Open Cloud Testbed project will build and support a testbed for research and experimentation into new cloud platforms – the underlying software which provides cloud services to applications. Testbeds such as OCT are critical for enabling research into new cloud technologies – research that requires experiments which potentially change …, , , , , , greater-bostonboston-university northeastern-university umass-amherst
Outfitting QEMU/KVM with Partitioning Hypervisor FunctionalityThis project extends the virtualization capabilities of QEMU and KVM by adding partitioning hypervisor functionality. With this implementation, hardware resources can be exclusively assigned to specific tasks and VMs. Current work supports KVM Isolation IOCTLs to query CPUs to find isolated CPUs.greater-bostonboston-university
An Optimizing Operating System: Accelerating Execution With SpeculationTo optimize performance, Automatically Scalable Computation (ASC), a Harvard/BU collaboration attempts to auto-parallelize single threaded workloads, reducing any new effort required from programmers to achieve wall clock speedup. SEUSS takes a different approach by splicing a custom operating system into the backend of a high throughput distributed serverless platform, Apache …, greater-bostonboston-university
Kernel Techniques to Optimize Memory Bandwidth with Predictable LatencyRecent processors have started introducing the first mechanism to monitor and control memory bandwidth. Can we use these mechanisms to enable machines to be fully used while ensuring that primary workloads have deterministic performance? This project presents early results from using Intel’s Resource Director Technology and some insight into this …greater-bostonboston-university
Unikernel LinuxThis project aims to turn the Linux kernel into a unikernel with the following characteristics: 1) are easily compiled for any application, 2) use battle-tested, production Linux and glibc code, 3) allow the entire upstream Linux developer community to maintain and develop the code, and 4) provide applications normally running …greater-bostonboston-university
Fuzzing Device Emulation in QEMUHypervisors—the software that allows a computer to simulate multiple virtual computers—form the backbone of cloud computing. Because they are both ubiquitous and essential, they are security-critical applications that make attractive targets for potential attackers., , greater-bostonboston-university
FPGAs in Large-Scale Computer SystemsWe will highlight many ways to deploy FPGAs in a data center node, such as traditional back-end accelerators, tightly coupled off-load processors, Smart NICs, Bump-in-the-Wire, MPC accelerators and even FPGAs in the router itself. We will also discuss our efforts to make these devices accessible globally accessible, through deeper integration …, , greater-bostonboston-university
Automatic Configuration of Complex HardwareIn this project, we pursue three goals towards this understanding: 1) identify, via a set of microbenchmarks, application characteristics that will illuminate mappings between hardware register values and their corresponding microbenchmark performance impact, 2) use these mappings to frame NIC configuration as a set of learning problems such that an …greater-bostonboston-university
Quest-V, a Partitioning Hypervisor for Latency-Sensitive WorkloadsQuest-V is a separation kernel that partitions services of different criticality levels across separate virtual machines, or sandboxes. Each sandbox encapsulates a subset of machine physical resources that it manages without requiring intervention from a hypervisor. In Quest-V, a hypervisor is only needed to bootstrap the system, recover from certain …greater-bostonboston-university