Compartilhar via


DLLs AppInit e Inicialização Segura

Começando em Windows 8, a infraestrutura de AppInit_DLLs é desabilitada quando a inicialização segura está habilitada.

Sobre AppInit_DLLs

A infraestrutura AppInit_DLLs fornece uma maneira fácil de conectar APIs do sistema, permitindo que DLLs personalizadas sejam carregadas no espaço de endereço de cada aplicativo interativo. Aplicativos e software mal-intencionado usam DLLs appInit pelo mesmo motivo básico, que é conectar APIs; depois que a DLL personalizada é carregada, ela pode conectar uma API do sistema conhecida e implementar uma funcionalidade alternativa. Apenas um pequeno conjunto de aplicativos legítimos modernos usa esse mecanismo para carregar DLLs, enquanto um grande conjunto de malware usa esse mecanismo para comprometer sistemas. Mesmo AppInit_DLLs legítimas podem causar involuntariamente deadlocks e problemas de desempenho do sistema, portanto, o uso de AppInit_DLLs não é recomendado.

AppInit_DLLs e inicialização segura

Windows 8 UEFI adotado e inicialização segura para melhorar a integridade geral do sistema e fornecer forte proteção contra ameaças sofisticadas. Quando a inicialização segura está habilitada, o mecanismo de AppInit_DLLs é desabilitado como parte de uma abordagem sem comprometimento para proteger os clientes contra malware e ameaças.

Observe que a inicialização segura é um protocolo UEFI e não um recurso de Windows 8. Mais informações sobre UEFI e a especificação do protocolo de inicialização segura podem ser encontradas em https://www.uefi.org.

AppInit_DLLs requisito de certificação para aplicativos da área de trabalho Windows 8

Um dos requisitos de certificação para aplicativos da área de trabalho Windows 8 é que o aplicativo não deve carregar DLLs arbitrárias para interceptar chamadas à API do Win32 usando o mecanismo de AppInit_DLLs. Para obter informações mais detalhadas sobre os requisitos de certificação, consulte a seção 1.1 dos requisitos de certificação para Windows 8 aplicativos da área de trabalho.

Resumo

  • O mecanismo de AppInit_DLLs não é uma abordagem recomendada para aplicativos legítimos porque pode levar a deadlocks e problemas de desempenho do sistema.
  • O mecanismo de AppInit_DLLs é desabilitado por padrão quando a inicialização segura está habilitada.
  • Usar AppInit_DLLs em um aplicativo da área de trabalho Windows 8 é uma falha de certificação de aplicativo da área de trabalho do Windows.

Para baixar um white paper com informações sobre AppInit_DLLs no Windows 7 e no Windows Server 2008 R2, visite o Arquivo morto do Centro de Desenvolvimento de Hardware do Windows e pesquise por DLLs do AppInit no Windows 7 e no Windows Server 2008 R2.