Dans quelle mesure le système dexploitation hôte est-il sécurisé par rapport au système dexploitation de la machine virtuelle invitée lors de lutilisation du GPU passthrough (en utilisant les méthodes décrites ici )?
Si linvité est compromis, peut-il infecter définitivement le GPU et son firmware? Si cest possible, que pourrait faire ce GPU compromis?
- Même si VT-d / IOMMU est conçu pour contenir en toute sécurité des périphériques sur la machine virtuelle, linvité pourrait-il utiliser le GPU pour compromettre lhôte (système dexploitation ou tout autre périphérique)?
-
Si le GPU est suspecté dêtre compromis, quelle devrait être la marche à suivre idéale? Si le système dexploitation hôte de lordinateur est réinstallé, le GPU pourrait-il lattaquer et linfecter?
(Déplacé vers question distincte )
Je recherche une réponse générale, mais si elle est pertinente, supposez un hôte Linux avec KVM et un invité Windows.
Commentaires
- Il existe une validation de principe GPU rootkit jellyfish sur github. Elle survit au redémarrage, mais pas à un arrêt.
Réponse
-
Si linvité est compromis, peut-il infecter définitivement le GPU et son firmware?
Selon OpenStack documentation , oui .
De nombreux hyperviseurs offrent une fonctionnalité appelée PCI passthrough. Cela permet à une instance davoir un accès direct à un élément matériel sur le nœud. Par exemple, e Cela pourrait être utilisé pour permettre aux instances daccéder à des cartes vidéo ou à des GPU offrant larchitecture de périphérique unifiée de calcul (CUDA) pour des calculs haute performance.
Cette fonctionnalité comporte deux types de risques de sécurité: laccès direct à la mémoire et infection matérielle .
Laccès direct à la mémoire nest pertinent que pour le relais de périphérique nutilisant pas IOMMU.
-
Même si VT-d / IOMMU est conçu pour contenir en toute sécurité des périphériques sur la machine virtuelle, linvité pourrait-il utiliser le GPU pour compromettre lhôte (système dexploitation ou tout autre périphérique)?
Peut-être, si lappareil est utilisé par lhôte.
Une infection matérielle se produit lorsquune instance apporte une modification malveillante au micrologiciel ou à une autre partie dun appareil. Comme cet appareil est utilisé par dautres instances ou le système dexploitation hôte, le code malveillant peut se propager dans ces systèmes. Le résultat final est quune instance peut exécuter du code en dehors de son domaine de sécurité. Il sagit dune violation importante car il est plus difficile de réinitialiser létat du matériel physique que du matériel virtuel et peut entraîner une exposition supplémentaire telle que laccès au réseau de gestion.
Commentaires
- Lappareil " utilisé " par lhôte après larrêt de la VM? Ou à tout autre moment?
- À tout le moins, lappareil est " utilisé " par le BIOS lorsque le La machine hôte est ensuite redémarrée et elle essaie de déterminer quels périphériques sont dans le système.
- Je pense que linfection matérielle nécessite laccès à lespace de configuration PCI (pour écrire des ROM optionnelles). Je ne ' Je pense que CUDA est suffisant pour " infecter " un GPU avec persistant code.