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.

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

Referência

System.Security

Outros recursos

Protegendo Aplicativos