A Microsoft está preservando as informações vetoriais da Recall em ambientes seguros de execução, o que implica em um aumento na carga computacional, porém é essencial para garantir a proteção dos dados.

VBS Enclaves representam a mais recente iniciativa da Microsoft para utilizar a virtualização como forma de proteger o Windows, ao isolar funções essenciais em máquinas virtuais criptografadas por meio de seu hipervisor de baixo nível chamado Krypton.
Windows sempre presente no hipervisor, Krypton.
Krypton é fundamental para o funcionamento do Windows atual, uma vez que possibilita a partilha de um agendador entre as máquinas virtuais e o sistema operacional principal. Isso garante a separação de recursos como o login do Windows do restante do sistema operacional, protegendo informações sensíveis, como senhas e dados biométricos, contra o acesso de malware que possa estar em execução na instância principal do Windows.
Krypton desempenha um papel fundamental na segurança do hardware do Windows 11, colaborando com os módulos de plataforma confiáveis do seu computador para controlar chaves criptográficas, assinaturas digitais e hashes de verificação. Essa funcionalidade ajuda a minimizar a possibilidade de vazamento de dados sensíveis e protege contra a substituição de funções confiáveis do Windows por malware.
A Microsoft tem explorado a segurança por meio da virtualização por um longo tempo, desde o Windows Server 2016 e a implementação dos recipientes Secure Windows. Embora o Windows tenha oferecido suporte ao Docker e outras ferramentas de isolamento de aplicativos baseados em recipientes, o nível de isolamento de processos não era ideal.
Os contêineres seguros do Windows agora incorporam tanto contêineres como a ferramenta de segurança da Hyper-V para fornecer maior isolamento, permitindo que os contêineres seguros sejam hospedados em uma máquina virtual em vez do sistema operacional host. Embora isso resulte em uma sobrecarga adicional devido à execução de um sistema operacional separado para os contêineres de aplicativos, recursos como o Nano Server e o Windows Server Core ajudaram a minimizar essa sobrecarga, com versões subsequentes reduzindo significativamente os tamanhos das imagens do servidor.
Proteção utilizando virtualização no Windows 11
A Microsoft combinou essa estratégia com as funcionalidades do TPM para incrementar a segurança do Windows ao longo dos anos, implementando-a no Windows 11. Por isso, o Windows 11 exige hardware compatível com o TPM 2.0.
O TPM possui as chaves e certificados necessários para administrar assinaturas digitais, possibilitando a execução de recursos como o serviço de integridade de memória do Windows em um ambiente virtualizado seguro, utilizando VMs protegidas pelo Hyper-V no hipervisor de Krypton. Com a integridade da memória, os drivers do kernel e os binários são verificados quanto a assinaturas válidas antes da execução, impedindo que código não assinado comprometa o computador.
Recentemente, a Microsoft ampliou seu modelo de segurança virtual baseado em virtualização para incluir os VBS Enclaves. Se você já analisou a implementação de computação confidencial no Windows Server ou no Azure, provavelmente já se deparou com a ideia de enclaves, que utilizam as instruções SGX da Intel para proteger áreas específicas da memória e utilizá-las como um ambiente seguro para execução de processos. Essa abordagem requer processadores específicos, sendo que a última geração do SGX está disponível apenas nos processadores Xeon corporativos.
Utilizando programas de computador para criar ambientes de execução seguros.
As VBS Enclaves oferecem uma maneira parecida de proteger a memória, sem necessidade de hardware específico. Isso possibilita que a Microsoft implemente enclaves seguros em dispositivos com processadores Intel, AMD e Arm. Como resultado, o Recall será executado apenas em memória confiável controlada pelo hipervisor Krypton, com chaves de criptografia gerenciadas pelo TPM do seu computador e acesso controlado pelo Windows Hello para assegurar a autenticação do usuário.
Colocar um ambiente de execução confiável em um computador tem benefícios que vão além de assegurar a inteligência artificial. Além de proteger dados sensíveis, oferece uma camada extra de segurança durante o uso, além de em repouso e em movimento. Embora seja necessário mais esforço para configurar e utilizar um VBS Enclave, os benefícios adicionais de segurança compensam, com apenas um impacto de desempenho limitado.
Com as ferramentas de integridade de memória do Windows 11, um VBS Enclave cria uma nova área isolada de alta memória do sistema, chamada Nível de Confiança Virtual 1, utilizando o hipervisor integrado do Windows. Enquanto a maior parte do código, incluindo o Windows, permanece em execução no Nível de Confiança Virtual 0, o VTL 1 é utilizado por uma versão segura do kernel do Windows com seu próprio modo de usuário isolado. Neste ambiente, o VBS Enclave é executado como parte de uma aplicação que aparenta transcender o limite entre as duas zonas, mas na realidade, o enclave VTL 1 está separado e se comunica com o restante da aplicação em VTL 0 através de canais seguros.
Utilizando VBS Enclaves em seus programas.
Como criar e utilizar VBS Enclaves? Em primeiro lugar, é necessário ter o Windows 11 ou o Windows Server 2019 ou versões posteriores, com o VBS ativado. Isso pode ser feito através da ferramenta de segurança do Windows, por meio de uma Política de Grupo ou utilizando o Intune para controlá-lo via MDM. O VBS faz parte do serviço de integridade de memória, portanto, é recomendável ativá-lo em todos os dispositivos suportados para ajudar a diminuir os riscos de segurança, mesmo que não haja planos de utilizar os VBS Enclaves no código.
Uma forma eficaz de pensar nisso é como a utilização segura de armazenamento criptografado. Por exemplo, ao utilizar um banco de dados para guardar informações sensíveis, é possível processar e consultar esses dados de maneira segura executando um código em um enclave, e então enviar os resultados para o restante da aplicação. Dessa forma, os dados são encapsulados em um ambiente seguro com acesso restrito, garantindo a segurança dos dados em disco, já que nenhuma outra parte do sistema tem acesso às chaves de decodificação.
O código em execução no ambiente VTL 1 deve ser autenticado pela Microsoft e ter uma transição de nível de sistema operacional entre as duas zonas de confiança. Isso ajuda a restaurar os registros de CPU para diminuir o risco de transferência de estado entre modos de usuário menos seguros e o VBS Enclave. Embora o uso de um VBS Enclave seja mais custoso em termos computacionais e as operações levem mais tempo para serem concluídas, ainda ocorrem em apenas alguns microssegundos.
VBS Enclaves são DLLs que necessitam de um aplicativo hospedeiro para funcionar. O uso é restrito a um conjunto específico de APIs de nível de sistema C++ do Windows, com uma lista das APIs disponíveis do Universal C Runtime mencionadas na documentação de desenvolvimento. Outras APIs compatíveis incluem as do VBS Enclave Runtime (Vertdll) e da biblioteca criptográfica Bcrypt.
Inicie com uma pequena amostra específica.
A Microsoft disponibiliza um exemplo prático que demonstra o processo de uma aplicação VBS Enclave, exemplificando como invocar funções do enclave a partir do aplicativo host. É necessário exportar explicitamente as funções externas, sendo que somente essas funções podem ser acessadas pelo host. A compilação de um enclave requer configurações específicas no linker para garantir a inclusão das bibliotecas corretas e a correta instrumentação do DLL resultante. Outras características asseguram que o VBS Enclave esteja protegido contra possíveis ataques por meio de DLLs falsificadas.
Após compilar, é necessário assinar o código. A assinatura de um enclave VBS requer três EKUs específicos: um para a assinatura do código, outro para o enclave e um terceiro para o autor. Durante a produção, é possível utilizar o serviço de assinatura confiável da Microsoft, o qual disponibiliza um perfil para assinar enclaves. Essa estratégia possibilita a automação da assinatura por meio do Azure CLI.
Alguns aspectos essenciais devem ser levados em consideração ao programar com VBS Enclaves. Esses enclaves podem ser carregados por qualquer aplicativo em execução no computador hospedeiro, logo é necessário redigir código no enclave que lide explicitamente com qualquer elemento externo ao enclave como não confiável.
Proteção fundamental para informações sigilosas.
A tecnologia utilizada no recurso Sempre Criptografado do Azure SQL e SQL Server é a mesma. Isso garante que somente usuários autorizados consigam acessar informações confidenciais, permitindo que as operações T-SQL atravessem o enclave seguro por meio de consultas confidenciais em um canal TLS interno. Dessa forma, as operações são realizadas dentro do enclave, mantendo os dados sempre criptografados.
As VBS Enclaves são complexas e possuem restrições importantes em relação às DLLs padrão. Se não fossem essas restrições, elas teriam a mesma segurança que uma DLL padrão. Ao restringir o código em uma biblioteca e nível de cabeçalho para funcionar em um ambiente de execução confiável, você está diminuindo consideravelmente o risco de vazamento de dados, seja intencional ou acidental.
Apesar de demandar um pouco mais de tempo e recursos do sistema, se você lida com dados sensíveis, é uma troca que vale a pena. O uso de VBS Enclaves e armazenamento criptografado é fundamental sempre que se trabalha com informações pessoais identificáveis, como histórico de Recall indexado por vetor de usuário, dados de pagamento ou registros de saúde.
Se há algum perigo ligado aos dados, é fundamental ter uma justificativa sólida para não adotar essa tecnologia. No caso de informações confidenciais, o VBS Enclaves é a opção mais recomendada.