Práticas recomendadas de segurança para C++
Este tópico contém informações sobre ferramentas e práticas de segurança recomendadas.Usando esses recursos e ferramentas não torna aplicativos imunes a ataques, mas torna o ataques bem-sucedidos menos provável.
Recursos de segurança do Visual C++
Esta seção discute recursos de segurança que sejam criados dentro do compilador Visual C++ e vinculador.
/GS (Marcar de segurança de buffer)
Esta opção do compilador instrui o compilador para inserir o código de detecção de saturação em funções que correm o risco de exploração.Quando for detectada uma saturação, a execução é interrompida.Por padrão, essa opção está ativada./SAFESEH (imagem tem manipuladores de exceção de segurança)
Essa opção de vinculador faz com que o vinculador a incluir na imagem de saída, uma tabela que contém o endereço de cada manipulador de exceções.Em tempo de execução, o sistema operacional usa esta tabela para certificar-se de que os manipuladores de exceção legítimos somente são executados.Isso ajuda a impedir a execução de manipuladores de exceção introduzidos por um ataque malicioso em tempo de execução.Essa opção é desabilitado por padrão./ANALYZE (análise de código Corporativa)
Esta opção do compilador ativa a análise de código que reporta possíveis problemas de segurança sistema autônomo saturação do buffer, memória un-initialized, desreferência de ponteiro nulo e vazamentos de memória.Essa opção é desabilitado por padrão.Consulte Visão geral análise de código para C / C++ para obter mais informações.
CRT com segurança avançado
For Visual C++ 2005, a CRT (C tempo de execução biblioteca) tem sido aumentada para incluir versões seguras de funções que representam riscos de segurança. (A seqüência de caracteres strcpy desmarcada copiar função, por exemplo.) Versões mais antigas e não seguras dessas funções agora estão desaprovadas e, portanto, seu uso faz com que os avisos de time de compilar.Programadores são altamente incentivados a usar as versões seguras dessas funções CRT em vez de eliminar esses avisos de compilação.Consulte Aprimoramentos de segurança na CRT para obter mais informações.
Iteradores selecionados
Com os iteradores selecionados, os usuários das classes de contêiner biblioteca C++ padrão são notificados sobre tentativas de acessar elementos fora dos limites de um recipiente.Consulte Iteradores Marcado para obter mais informações.
Análise de código para código gerenciado
Análise de código para código gerenciado, também conhecida sistema autônomo FxCop, é uma ferramenta que verifica sistema autônomo assemblies quanto à conformidade com sistema autônomo diretrizes de design do Microsoft .NET estrutura.O FxCop analisa o código e metadados em cada assembly para verificar se há defeitos nas seguintes áreas:
Design de bibliotecas
Localização
Convenções de nomenclatura
Desempenho
Segurança
Análise de código para código gerenciado está incluída no Visual Studio Team Systeme também pode ser baixada em https://www.gotdotnet.com/Team/FxCop/.
Windows aplicativo Verifier
Disponível sistema autônomo parte do Application Compatibility Toolkit, o Application Verifier (AppVerifier) é uma ferramenta que pode ajudar sistema autônomo desenvolvedores identificar possíveis problemas de segurança, estabilidade e compatibilidade de aplicativo.
O AppVerifier funciona monitorando o uso de um aplicativo do sistema operacional, incluindo o sistema de arquivos, registro, memória e APIs, enquanto o aplicativo é executado.A ferramenta fornece orientação para código-fonte nível correções dos problemas que ele revela.
O verificador permite que você execute o seguinte procedimento:
Testar possíveis erros de compatibilidade de aplicativos causados por erros comuns de programação.
Examine um aplicativo para questões relacionadas à memória.
Determine a conformidade de um aplicativo com várias exigências do projetado para Windows XP ou programas de logotipo certificado para Windows servidor ™ 2003.
Identificar possíveis problemas de segurança em um aplicativo.
O Windows aplicativo Verifier está disponível em https://www.microsoft.com/windows/appcompatibility/appverifier.mspx.
Recursos de segurança do .NET estrutura
Esta seção fornece uma visão geral dos recursos de segurança do .NET estrutura relacionadas dois.
Segurança de Acesso de código
Descreve o sistema de segurança do .NET estrutura e como ele faz interface com código do aplicativo.Configurando política de segurança
Descreve diretrizes e ferramentas para ajustar diretivas de segurança do .NET estrutura.
Contas de usuário do Windows
Usando contas de usuário do Windows que pertencem para os desenvolvedores de expõe do agrupar Administradores e--por extensão--os clientes a riscos de segurança.Consulte Executando sistema autônomo um membro do agrupar usuários para obter mais informações.
Aumenta a segurança, usando o controle de conta de usuário no Windows Vista
O controle de conta de usuário (UAC) é um recurso do Windows Vista no qual o usuário o contas tem privilégios limitados.Para obter mais informações, consulte Como o controle de conta de usuário (UAC) afeta o aplicativo.
Consulte também
Conceitos
Como o controle de conta de usuário (UAC) afeta o aplicativo