Internships/ProjectIdeas/VirtiofsdSandboxingTool: Difference between revisions

From QEMU
(Created page with "=== A sandboxing tool for virtiofsd === ''Summary:''' Create a tool that runs virtiofsd in a sandboxed environment Virtiofs is a shared file system that lets virtual machines access a directory tree on the host. Unlike existing approaches, it is designed to offer local file system semantics and performance. Currently, virtiofsd integrates the sandboxing code and the server code in a single binary. The goal is to extract that code and create an external tool that...")
 
Line 10: Line 10:
single binary. The goal is to extract that code and create an external tool that
single binary. The goal is to extract that code and create an external tool that
creates a sandbox environment and runs virtiofsd in it. In addition, that tool
creates a sandbox environment and runs virtiofsd in it. In addition, that tool
should be extended to be able to run virtiofsd in a restricted environment with
should be extended to be able to run virtiofsd in a restricted environment with landlock.
Landlock.
    
    
This will allow greater flexibility when integrating virtiofsd into a VMM or
This will allow greater flexibility when integrating virtiofsd into a VMM or

Revision as of 16:55, 17 February 2023

A sandboxing tool for virtiofsd

Summary:' Create a tool that runs virtiofsd in a sandboxed environment

Virtiofs is a shared file system that lets virtual machines access a directory tree on the host. Unlike existing approaches, it is designed to offer local file system semantics and performance.

Currently, virtiofsd integrates the sandboxing code and the server code in a single binary. The goal is to extract that code and create an external tool that creates a sandbox environment and runs virtiofsd in it. In addition, that tool should be extended to be able to run virtiofsd in a restricted environment with landlock.

This will allow greater flexibility when integrating virtiofsd into a VMM or running it inside a container.

Goals:

  • Understand how to setup a restricted environment using chroot, namespaces, and
 Landlock
  • Refactor virtiofsd to extract the sandbox code to its own crate
  • Create an external sandboxing tool for virtiofsd

Links:

Details:

  • Project size: 175 hours
  • Skill level: intermediate (knowledge of Rust and C)
  • Language: Rust
  • Mentor: German Maglione <gmaglione@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>
  • Suggested by: German Maglione <gmaglione@redhat.com>