Siemens a publié l'hyperviseur Jailhouse 0.12

société Siemens опубликовала version gratuite de l'hyperviseur Prison 0.12. L'hyperviseur prend en charge les systèmes x86_64 avec les extensions VMX+EPT ou SVM+NPT (AMD-V), ainsi que les processeurs ARMv7 et ARMv8/ARM64 avec les extensions de virtualisation. Séparément développe générateur d'images pour l'hyperviseur Jailhouse, généré sur la base des packages Debian pour les appareils pris en charge. Code de projet distribué par sous licence GPLv2.

L'hyperviseur est implémenté en tant que module pour le noyau Linux et assure la virtualisation au niveau du noyau. Les composants pour les systèmes invités sont déjà inclus dans le noyau Linux principal. Pour gérer l'isolation, les mécanismes de virtualisation matérielle fournis par les processeurs modernes sont utilisés. Les caractéristiques distinctives de Jailhouse sont sa mise en œuvre légère et sa concentration sur la liaison des machines virtuelles à un processeur, une zone RAM et des périphériques matériels fixes. Cette approche permet à un serveur multiprocesseur physique de prendre en charge le fonctionnement de plusieurs environnements virtuels indépendants, chacun étant attribué à son propre cœur de processeur.

Grâce à un lien étroit avec le processeur, la surcharge de l'hyperviseur est minimisée et sa mise en œuvre est considérablement simplifiée, car il n'est pas nécessaire d'exécuter un planificateur d'allocation de ressources complexe : l'allocation d'un cœur de processeur distinct garantit qu'aucune autre tâche n'est exécutée sur ce processeur. . L'avantage de cette approche est la capacité de fournir un accès garanti aux ressources et des performances prévisibles, ce qui fait de Jailhouse une solution adaptée pour créer des tâches exécutées en temps réel. L'inconvénient est une évolutivité limitée, limitée par le nombre de cœurs de processeur.

Dans la terminologie Jailhouse, les environnements virtuels sont appelés « caméras » (cellule, dans le contexte de la prison). À l'intérieur de la caméra, le système ressemble à un serveur monoprocesseur affichant les performances fermer aux performances d'un cœur de processeur dédié. La caméra peut exécuter l'environnement d'un système d'exploitation arbitraire, ainsi que des environnements allégés pour exécuter une application ou des applications individuelles spécialement préparées conçues pour résoudre des problèmes en temps réel. La configuration est définie dans fichiers .cell, qui déterminent le processeur, les régions de mémoire et les ports d'E/S alloués à l'environnement.

Siemens a publié l'hyperviseur Jailhouse 0.12

Dans la nouvelle version

  • Ajout de la prise en charge des plates-formes Raspberry Pi 4 modèle B et Texas Instruments J721E-EVM ;
  • Retravaillé Dispositif ivshmem utilisé pour organiser l'interaction entre les cellules. En plus du nouveau ivshmem, vous pouvez implémenter un transport pour VIRTIO ;

    Siemens a publié l'hyperviseur Jailhouse 0.12

  • Implémentation de la possibilité de désactiver la création de pages mémoire volumineuses (hugepage) pour bloquer la vulnérabilité CVE-2018-12207 dans les processeurs Intel, qui permet à un attaquant non privilégié de lancer un déni de service entraînant un blocage du système dans l'état « Machine Check Error » ;
  • Pour les systèmes équipés de processeurs ARM64, la prise en charge de SMMUv3 (System Memory Management Unit) et TI PVU (Peripheral Virtualization Unit) est implémentée. La prise en charge PCI a été ajoutée pour les environnements isolés fonctionnant sur du matériel (bare metal) ;
  • Sur les systèmes x86 pour les caméras racine, il est possible d'activer le mode CR4.UMIP (User-Mode Instruction Prevention) fourni par les processeurs Intel, qui permet d'interdire l'exécution dans l'espace utilisateur de certaines instructions, comme SGDT, SLDT, SIDT. , SMSW et STR, qui peuvent être utilisés dans des attaques visant à augmenter les privilèges du système.

Source: opennet.ru

Ajouter un commentaire