QEMU : RUST va sauver la virtualisation

Par:
ftonic

mer, 12/08/2020 - 18:45

QEMU est un outil de virtualisation open source. Jusqu’à présent, le projet était codé en C. Tout naturellement, de nombreux bugs et failles de sécurité sont dans le code C. Bien entendu, comme le précise Stefan Hajnoczi (développeur & contributeur QEMU / KVM), il n’est pas nécessaire de changer de langage pour éliminer les bugs en C. Mais un constat existe aussi : avec le temps, d’un côté on fixe les bugs et de l’autre, de nouveaux bugs apparaissent. Or, le C n’est pas un langage hautement sécurisé. Il est dit unsafe. 

Pour Stefan, cela peut être un argument pour changer de langage : un langage dit sécurisé (safe) doit permettre d’éliminer de nombreux bugs et notamment dans la gestion mémoire. Rust propose une meilleure sécurité by design. Un code RUST a donc des chances de réduire les failles. 

Problème : QEMU pèse 1,5 million de lignes de codes ! C’était le volume en 2018. Pas question pour Stefan de se lancer dans une telle aventure. Elle sera longue et hasardeuse. Par contre, pour créer de nouvelles émulations matérielles, RUST serait un excellent choix. D’ailleurs, il existe des moniteurs de machines virtuelles écrits en RUST : Chrome OS Virtual Machine Monitor (ou crosvm), firecracker, cloud-hypervisor. Pour Stefan, c’est la preuve que RUST serait un bon langage pour la virtualisation et les conteneurs !

Post source : http://blog.vmsplice.net/2020/08/why-qemu-should-move-from-c-to-rust.html