Share via


A proteção de dados de estado

Aplicativos que manipulam dados confidenciais ou fazer qualquer tipo de decisões de segurança necessárias para manter os dados em seu próprio controle e não podem permitir que outros códigos potencialmente mal-intencionados acessar os dados diretamente. A melhor maneira de proteger os dados na memória é declarar os dados como privadas ou internas (com escopo limitado para o mesmo assembly) variáveis. No entanto, mesmo com esses dados são sujeitos a acesso, que você deve conhecer:

  • Usando mecanismos de reflexão, o código altamente confiável que fazem referência a seu objeto pode obter e definir membros particulares.

  • O uso de serialização código altamente confiável pode efetivamente obter e definir membros particulares se ele pode acessar os dados correspondentes no formulário do objeto serializado.

  • Em debugging, esses dados podem ser lidos.

Certificar-se de que nenhum dos seus próprios métodos ou propriedades expõe esses valores não intencional.

Em alguns casos, os dados podem ser declarados como "protegido" com acesso limitado à classe e seus derivativos. No entanto, você deve levar as seguintes precauções adicionais devido à exposição adicional:

  • Controlar qual código tem permissão para derivar de sua classe, restringindo-o para o mesmo assembly ou usando a segurança declarativa, descrita em Protegendo o acesso do método, para exigir algumas permissões para o código derivar de sua classe ou identidade.

  • Certifique-se de que todas as classes derivadas implementam proteção similar ou são seladas.

Consulte também

Conceitos

Diretrizes para Codificação Segura