ASA-2019-00109 – QubesOS: Configuração de rede DisposableVM insegura por padrão


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00109

Identificador(es)

ASA-2019-00109, QSB-047-2019

Título

Configuração de rede DisposableVM insegura por padrão

Fabricante(s)

Invisible Things Lab

Produto(s)

Qubes OS

Versão(ões) afetada(s)

Qubes OS 4.0

Versão(ões) corrigida(s)

Para Qubes OS 4.0:

– qubes-core-dom0 versão 4.0.39
– qubes-manager versão 4.0.28

Prova de conceito

Desconhecido

Descrição

No sistema operacional do Qubes, pode-se tentar limitar o acesso à rede de um usuário, seja desconectando-o completamente de qualquer NetVM ou definindo suas regras de firewall para não permitir o acesso. Um qube mal-intencionado pode contornar esses limites, lançando um DisposableVM, que, na configuração padrão, teria acesso irrestrito à rede.

Além disso, mesmo quando um DisposableVM não padrão é configurado para não ter acesso à rede (ou acesso limitado), outros DisposableVMs iniciados a partir dessa DisposableVM podem ter acesso total à rede (a menos que explicitamente configurado de outra forma).

Embora limitar o acesso à rede dessa maneira não deva ser considerado um mecanismo eficaz de prevenção de vazamento, ainda consideramos esse tipo de isolamento de rede potencialmente ineficaz como um problema.

Detalhes técnicos

No Qubes 4.0, cada DisposableVM é baseado em um modelo DVM com a propriedade `template_for_dispvm` definida como “True”. O DisposableVM herda todas as suas configurações do modelo DVM, incluindo a propriedade `netvm` e as regras de firewall. Nem as configurações de rede nem outras configurações da chamada são consideradas. Esse design é intencional, pois permite muito mais flexibilidade em relação ao modelo anterior. Por exemplo, pode-se criar diferentes modelos de DVM para diferentes propósitos, como abrir links (acesso à internet), visualizar documentos (offline), imprimir (drivers instalados), etc. Cada modelo de DVM possui configurações de rede apropriadas para essa finalidade.

A parte importante desse design é a propriedade qube `default_dispvm`. O valor dessa propriedade é o modelo DVM que será usado ao iniciar novos DisposableVMs a partir dessa qube. Na configuração padrão, o Qubes OS possui um modelo DVM padrão, que possui acesso irrestrito à rede. O modelo DVM padrão é o valor padrão da propriedade global `default_dispvm`, que é acessível por meio de “Global settings” no Gerenciador de Qube ou por meio da ferramenta `qubes-prefs`. Esta propriedade global serve como o valor padrão para a propriedade `default_dispvm` para cada qube. Se o usuário criar um Modelo DVM não padrão com acesso limitado à rede, o usuário também deve definir o valor `default_dispvm` (globalmente ou por qube) para que qualquer novo DisposableVM deve ser baseado neste modelo de DVM não padrão.

Na configuração do Whonix fornecida com o Qubes, esse problema é evitado criando um Modelo DVM separado que usa o Whonix Gateway (`sys-whonix`) como seu NetVM. A propriedade `default_dispvm` deste modelo DVM é definida como ela mesma. Este modelo DVM é o valor da propriedade `default_dispvm` para cada estação de trabalho Whonix.

Este problema é parcialmente mitigado ao restaurar um backup do Qubes 3.2. Para cada qube que tem a propriedade `dispvm_netvm` definida como “none”, um modelo DVM separado chamado `disp-no-netvm` é criado. Este modelo de DVM não tem acesso direto à rede. No entanto, este próprio modelo de DVM tem o valor padrão para sua propriedade `default_dispvm`, portanto, os DisposableVMs iniciados a partir dele ou de DisposableVMs baseados nele teriam acesso total à rede.

Créditos

Vít ‘v6ak’ Šesták

Referência(s)

QSB #47: Insecure default DisposableVM networking configuration
https://www.qubes-os.org/news/2019/02/19/qsb-47/

QSB-047-2019.txt
https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-047-2019.txt

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 25 fevereiro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.