Compartilhar via


Práticas recomendadas de segurança no Visual Studio SDK

 

Você precisa compreender a segurança para as extensões de VSPackage para que você possa criar os melhores produtos possíveis.

Um produto seguro ajuda a proteger o seguinte:

  • Confidencialidade, integridade e disponibilidade das informações do cliente.

  • Integridade e disponibilidade dos recursos de processamento sob o controle do proprietário do sistema ou do administrador.

Vulnerabilidade de segurança

Uma vulnerabilidade de segurança é um ponto fraco em um produto que torna impossível impedir atividades mal-intencionadas do invasor, mesmo quando o produto é usado corretamente. Aqui estão alguns exemplos:

  • Obtendo as permissões em um computador que são maiores que os do usuário.

  • Assumir a operação do computador do usuário.

  • Comprometer os dados no computador do usuário.

Importante

Nunca suponha que seu aplicativo será executado apenas em ambientes específicos. Seu aplicativo pode ser usado nas configurações que você não esperava, especialmente quando o aplicativo se torna popular. Em vez disso, suponha que seu código serão executados em ambientes hostis e criar, gravar e testar seu código adequadamente.

Produtos e sistemas projetados e criados com segurança como um recurso excelente são mais robustos do que aqueles criados com segurança em segundo plano. Produtos seguros também são mais imune a crítica de mídia, mais atraente para os usuários e menos dispendioso para suporte e atualização.

APIs perigosas

Chamadas para algumas funções podem produzir vulnerabilidades de segurança indesejadas se eles forem usados incorretamente, proibir o uso não necessariamente produz código seguro. No entanto, alguns projetos de software obter ganhos significativos em segurança por funções como proibir que são difíceis de usar com segurança, como uma das várias práticas de desenvolvimento seguro. Para obter mais informações, consulte o Apêndice A do livro Microsoft Press, "Writing Secure Code" de Michael Howard e David LeBlanc.

A maioria dos problemas de segurança resultar de confiar em entrada sem verificá-lo adequadamente. Certifique-se de que dados de rastreamento como ele entra em seu código e questionar as implicações de operações nos dados. Você pode escrever código seguro usando a maioria das funções se as entradas de dados são marcados para confiabilidade e bem formados.

Problemas UAC (controle) de conta de usuário

O recurso de controle de conta de usuário (UAC) tem implicações de segurança que você deve compreender. Ele reduz a exposição do sistema operacional e aplicativos a ataques mal-intencionados.

  1. Para obter mais informações sobre o UAC em Windows 7, consulte o que é controle de conta de usuário?.

  2. Para obter mais informações sobre o UAC em Windows 8, consulte quais são as configurações de controle de conta de usuário?.

Antes do advento do UAC, os desenvolvedores normalmente executou Visual Studio com permissões de administrador, mesmo quando eles não eram necessários. Você deve fazer seu desenvolvimento e teste de sua extensão como um usuário normal, para certificar-se de que ele não exige direitos elevados desnecessariamente.

Observe que o UAC também afeta a implantação. Pacotes de instalação devem ser criados corretamente para oferecer suporte a UAC. Um pacote criado incorretamente normalmente causa erros de "acesso negado" porque o instalador tentará usar direitos de usuário normal para executar uma tarefa que exige direitos elevados.

Consulte também

Práticas recomendadas de segurança em VSPackages
Recursos para criar aplicativos seguros
Conceitos principais de segurança