Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O .NET oferece muitos recursos para ajudar a resolver problemas de segurança ao criar aplicativos. A implantação do AOT nativa se baseia nesses recursos e fornece vários que podem ajudar a fortalecer seus aplicativos.
Sem geração de código de runtime
Como o AOT nativo gera todo o código no momento da publicação do aplicativo, nenhum novo código executável precisa ser gerado em runtime. Isso permite executar seus aplicativos em ambientes que não permitem a criação de novas páginas de código executáveis em runtime. Todo o código que a CPU executa pode ser assinado digitalmente.
Superfície de reflexão restrita
Quando os aplicativos são publicados com AOT nativo, o compilador analisa o uso da reflexão dentro do aplicativo. Somente os elementos do programa considerados alvos de reflexão estão disponíveis para reflexão em runtime. Os locais dentro do programa que tentam fazer uma reflexão irrestrita são sinalizados usando avisos de corte. Os elementos do programa que não foram planejados para serem alvos de reflexão não podem ser refletidos. Essa restrição pode evitar uma classe de problemas em que um agente mal-intencionado assume o controle do que o programa reflete e invoca código não intencional. Essa restrição inclui abordagens que usam Assembly.LoadFrom ou Reflection.Emit – nenhuma delas funciona com AOT nativo, e seu uso é sinalizado com um aviso no momento da compilação.
Proteção de Fluxo de Controle
A Proteção de Fluxo de Controle é um recurso de segurança de plataforma altamente otimizado que foi criado para combater as vulnerabilidades de corrupção da memória. Ao impor restrições rígidas sobre o local de onde um aplicativo pode executar o código, fica muito mais difícil para as explorações executarem códigos arbitrários por meio de vulnerabilidades, como estouro de buffer.
Para habilitar a Proteção de Fluxo de Controle em seu aplicativo AOT nativo, defina a propriedade ControlFlowGuard no projeto publicado.
<PropertyGroup>
<!-- Enable control flow guard -->
<ControlFlowGuard>Guard</ControlFlowGuard>
</PropertyGroup>
Pilha de Sombra da Tecnologia de Aplicação de Fluxo de Controle (.NET 9+)
A Pilha de sombra do CET (Tecnologia de Imposição de Fluxo de Controle) é um recurso do processador do computador. Ele fornece recursos para se defender contra ataques de malware baseados em ROP (programação orientada a retorno).
O CET é habilitado por padrão ao publicar para Windows. Para desabilitar o CET, defina a propriedade CetCompat no projeto publicado.
<PropertyGroup>
<!-- Disable Control-flow Enforcement Technology -->
<CetCompat>false</CetCompat>
</PropertyGroup>