Hoe veilig is het hostbesturingssysteem van het besturingssysteem van de virtuele gastmachine bij gebruik van GPU-passthrough (met behulp van de methoden beschreven hier )?
Als de gast gecompromitteerd is, kan deze dan permanent de GPU en zijn firmware infecteren? Als het mogelijk is, wat kan deze gecompromitteerde GPU dan doen?
- Ook al is VT-d / IOMMU ontworpen om veilig apparaten op de virtuele machine te plaatsen, kan de gast de GPU gebruiken om de host (OS of andere apparaten) in gevaar te brengen?
-
Als wordt vermoed dat de GPU gecompromitteerd is, wat zou dan de ideale manier van handelen moeten zijn? Als het host-besturingssysteem van de computer opnieuw wordt geïnstalleerd, zou de GPU het dan kunnen aanvallen en infecteren?
(Verplaatst naar aparte vraag )
Ik ben op zoek naar een algemeen antwoord, maar als het relevant is, ga dan uit van Linux-host met KVM en Windows-gast.
Opmerkingen
- Er is een proof-of-concept GPU rootkit jellyfish op github. Het overleeft opnieuw opstarten, maar niet afsluiten.
Antwoord
-
Als de gast is gecompromitteerd, kan het de GPU en zijn firmware permanent infecteren?
Volgens OpenStack documentatie , ja .
Veel hypervisors bieden een functionaliteit die bekend staat als PCI-passthrough. Hierdoor heeft een instantie directe toegang tot een stuk hardware op het knooppunt. Het kan worden gebruikt om instanties toegang te geven tot videokaarten of GPUs die de Compute Unified Device Architecture (CUDA) bieden voor krachtige berekeningen.
Deze functie brengt twee soorten beveiligingsrisicos met zich mee: directe geheugentoegang en hardware-infectie .
Directe geheugentoegang is alleen relevant voor apparaatdoorvoer zonder IOMMU.
-
Ook al is VT-d / IOMMU ontworpen om apparaten veilig op de virtuele machine te plaatsen, kan de gast de GPU gebruiken om de host te compromitteren (OS of andere apparaten)?
Mogelijk, als het apparaat wordt gebruikt door de host.
Een hardware-infectie treedt op wanneer een instantie een kwaadwillige wijziging aanbrengt in de firmware of een ander onderdeel van een apparaat. Aangezien dit apparaat wordt gebruikt door andere instanties of het host-besturingssysteem, kan de schadelijke code zich verspreiden naar die systemen. Het eindresultaat is die ene instantie kan code uitvoeren buiten zijn beveiligingsdomein. Dit is een aanzienlijke inbreuk aangezien het moeilijker is om de toestand van fysieke hardware te resetten dan virtuele hardware, en kan leiden tot extra blootstelling, zoals toegang tot het beheernetwerk.
Reacties
- Wordt het apparaat " " gebruikt door de host na het afsluiten van de VM? Of op een ander moment?
- Op zijn minst wordt het apparaat " " gebruikt door het BIOS wanneer de host-machine wordt vervolgens opnieuw opgestart en het probeert uit te vinden welke apparaten in het systeem zitten.
- Ik denk dat hardware-infectie toegang vereist tot PCI-configuratieruimte (om optie-ROMs te schrijven). Ik ' denk niet dat CUDA voldoende is om daadwerkelijk " " een GPU met persistente code.