Quão seguro é o sistema operacional do host do sistema operacional da máquina virtual convidada ao usar passagem de GPU (usando os métodos descritos aqui )?

Se o convidado estiver comprometido, ele pode infectar permanentemente a GPU e seu firmware? Se for possível, o que esta GPU comprometida poderia fazer?

  • Mesmo que VT-d / IOMMU seja projetado para conter dispositivos com segurança para a máquina virtual, o convidado poderia usar a GPU para comprometer o host (SO ou qualquer outro dispositivo)?
  • Se houver suspeita de que a GPU está comprometida, qual deve ser o curso de ação ideal? Se o sistema operacional host do computador for reinstalado, a GPU seria capaz de atacar e infectá-lo?
    (Movido para pergunta separada )

Estou procurando uma resposta geral, mas se for relevante, suponha que o host Linux com KVM e convidado do Windows.

Comentários

  • Há uma prova de conceito GPU rootkit jellyfish no github. Ela sobrevive à reinicialização, mas não ao desligamento.

Resposta

  • Se o convidado está comprometido, ele pode infectar permanentemente a GPU e seu firmware?

De acordo com o OpenStack documentação , sim .

Muitos hipervisores oferecem uma funcionalidade conhecida como passagem PCI. Isso permite que uma instância tenha acesso direto a uma peça de hardware no nó. Por exemplo, o Isso pode ser usado para permitir que instâncias acessem placas de vídeo ou GPUs oferecendo a arquitetura de dispositivo unificado de computação (CUDA) para computação de alto desempenho.

Este recurso traz dois tipos de riscos de segurança: acesso direto à memória e infecção de hardware .

O acesso direto à memória só é relevante para a passagem do dispositivo que não usa IOMMU.

  • Mesmo que VT-d / IOMMU seja projetado para conter dispositivos com segurança na máquina virtual, o convidado poderia usar a GPU para comprometer o host (SO ou qualquer outro dispositivo)?

Possivelmente, se o dispositivo for usado pelo host.

Uma infecção de hardware ocorre quando uma instância faz uma modificação maliciosa no firmware ou em alguma outra parte de um dispositivo. Como este dispositivo é usado por outras instâncias ou pelo sistema operacional host, o código malicioso pode se espalhar para esses sistemas. O resultado final é que uma instância pode executar código fora de seu domínio de segurança. Esta é uma violação significativa, pois é mais difícil redefinir o estado do hardware físico do que do hardware virtual e pode levar a uma exposição adicional, como acesso à rede de gerenciamento.

Comentários

  • O dispositivo " usado " pelo host após o desligamento da VM? Ou em qualquer outro momento?
  • No mínimo, o dispositivo é " usado " pelo BIOS quando o a máquina host é reiniciada em seguida e tenta descobrir quais dispositivos estão no sistema.
  • Acho que a infecção de hardware requer acesso ao espaço de configuração PCI (para escrever ROMs opcionais). Não ' acho que CUDA é suficiente para realmente " infectar " uma GPU com persistente código.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *