O isolamento do aplicativo Win32 agora está em visualização pública, aqui está o que ele faz

O isolamento de aplicativo Win32 é um recurso de segurança bacana que a Microsoft introduziu no Windows 11 no mês passado, é assim que funciona.

Em sua conferência anual Build no mês passado, a Microsoft anunciou a capacidade de execute aplicativos Win32 isoladamente no Windows 11. A empresa não entrou em muitos detalhes em sua postagem inicial no blog, mas destacou a opção de executar o Win32 aplicativos em um ambiente de sandbox para que o restante do sistema operacional esteja protegido contra aplicativos potencialmente maliciosos Programas. Agora, ele revelou mais informações sobre esse recurso específico, incluindo como ele funciona e se encaixa no restante da infraestrutura de segurança do Windows.

O vice-presidente de segurança e empresas do sistema operacional da Microsoft, David Weston, escreveu um longo postagem no blog, explicando a natureza do isolamento do aplicativo Win32. O recurso é mais uma opção de segurança de sandbox, assim como Caixa de areia do Windows e o Microsoft Defender Application Guard, mas é baseado em AppContainers, não em software baseado em virtualização como as outras duas medidas de segurança. Para quem não sabe, os AppContainers servem como uma forma de controlar a execução de um processo, encapsulando-o e garantindo que ele seja executado com privilégios e níveis de integridade muito baixos.

A Microsoft recomendou fortemente o uso Controle de aplicativo inteligente (SAC) e isolamento de aplicativo Win32 em conjunto, protegendo seu ambiente Windows contra aplicativos não confiáveis ​​que utilizam vulnerabilidades de 0 dia. O antigo mecanismo de segurança impede os ataques instalando apenas aplicativos confiáveis, enquanto o último pode ser usado para executar aplicativos em um ambiente isolado e seguro para limitar danos potenciais e proteger o usuário privacidade. Isso ocorre porque um aplicativo Win32 executado isoladamente não possui o mesmo nível de privilégio do usuário do sistema.

A empresa de tecnologia de Redmond identificou vários objetivos principais do isolamento do aplicativo Win32. Para começar, limita o impacto de um aplicativo comprometido, pois os invasores têm acesso de baixo privilégio a uma parte do sistema operacional, e eles precisariam encadear um ataque complexo de várias etapas para romper sua caixa de areia. Mesmo que sejam bem-sucedidos, isso também fornece mais informações sobre o processo, tornando muito mais rápido a implementação e o fornecimento de patches de mitigação.

A maneira como isso funciona é que um aplicativo é iniciado primeiro em níveis de integridade baixos por meio do AppContainer, o que significa que eles têm acesso a APIs do Windows selecionadas e não podem executar códigos maliciosos que requerem privilégios mais altos níveis. Na próxima e última etapa, os princípios de privilégio mínimo são aplicados ao conceder a um aplicativo acesso autorizado a objetos protegíveis do Windows, o que equivale a implementar um Lista de controle de acesso discricionário (DACL) no Windows.

Outra vantagem do isolamento de aplicativos Win32 é o esforço reduzido do desenvolvedor, pois os criadores de aplicativos podem aproveitar o Application Capability Profiler (ACP) disponível no GitHub para entender quais permissões eles precisam exatamente. Eles podem habilitar o ACP e executar seu aplicativo em um "modo de aprendizado" no isolamento do aplicativo Win32 para obter logs sobre os recursos adicionais necessários para executar o software. O ACP é alimentado pelo back-end da camada de dados do Windows Performance Analyzer (WPA) e Logs de Rastreamento de Eventos (ETLs). As informações dos logs gerados por esse processo podem ser simplesmente adicionadas ao arquivo de manifesto do pacote de um aplicativo.

Por fim, o isolamento do aplicativo Win32 visa oferecer uma experiência de usuário perfeita. O isolamento do aplicativo Win32 facilita isso exigindo que os aplicativos usem o recurso "isolatedWin32-promptForAccess" para avisar o usuário caso ele precise acessar seus dados, como bibliotecas .NET e registros protegidos chaves. O prompt deve ser significativo para o usuário de quem o consentimento está sendo obtido. Depois que o acesso a um recurso é concedido, isso é o que acontece a seguir:

Quando o usuário concede consentimento a um arquivo específico para o aplicativo isolado, o aplicativo isolado interage com o Windows Corretora de sistema de arquivos (BFS) e concede acesso aos arquivos por meio de um mini driver de filtro. O BFS simplesmente abre o arquivo e serve como interface entre o aplicativo isolado e o BFS.

A virtualização de arquivo e registro ajuda a garantir que os aplicativos continuem funcionando sem atualizar o arquivo base ou o registro. Isso também minimiza qualquer atrito na experiência do usuário, mantendo a compatibilidade do aplicativo. Os namespaces protegidos são criados para permitir o acesso apenas ao aplicativo e não exigem o consentimento do usuário. Por exemplo, pode ser concedido acesso a uma pasta que tenha uma propriedade conhecida apenas pelo aplicativo Win32 e necessária para compatibilidade do aplicativo.

A Microsoft enfatizou que, para ter paridade de recursos entre isolados e não isolados Aplicativos Win32, o primeiro pode interagir com o sistema de arquivos e outras APIs do Windows aproveitando o Windows BFS. Além disso, as entradas no manifesto do aplicativo também garantem que o aplicativo possa interagir com segurança com elementos do Windows, como notificações de shell e ícones na bandeja do sistema. Você pode saiba mais sobre a iniciativa no GitHub aqui.