Conjunto de regras de segurança para código gerenciado
Você deve incluir a regra das regras de segurança do Microsoft definida para maximizar o número de problemas potenciais de segurança que são relatadas.
Regra |
Descrição |
---|---|
Revise consultas SQL para vulnerabilidades de segurança |
|
Exceções non-CLSCompliant de captura em manipuladores gerais |
|
Segurança de revisão obrigatório |
|
Não declarar tipos mutáveis somente leitura de referência |
|
Os campos de matriz não devem ser somente leitura |
|
Afirma Seguro |
|
A revisão deny e só permitir o uso |
|
Segurança declarativa revisão em tipos de valor |
|
Manipuladores de eventos visíveis revisão |
|
Os ponteiros não devem ser visíveis |
|
Os tipos não seguros deve expor campos |
|
A segurança do método deve ser um superconjunto do tipo |
|
Chame GC.KeepAlive ao usar recursos nativos |
|
Os métodos de APTCA só devem chamar métodos de APTCA |
|
Os tipos de APTCA só devem estender tipos de base de APTCA |
|
Uso de SuppressUnmanagedCodeSecurityAttribute revisão |
|
Métodos do selo que satisfazem interfaces privadas |
|
Construtores de serialização seguros |
|
Os construtores estáticos devem ser privados |
|
Não expõe métodos indiretamente com as demandas de link |
|
As demandas do link de substituição devem ser idênticas com base |
|
Cláusulas vulneráveis de quebra automática finalmente tente externa |
|
As demandas do link do tipo exigem demandas de herança |
|
As constantes críticos de segurança devem ser transparentes |
|
Os tipos críticos de segurança não podem participar da equivalência do tipo |
|
Os construtores padrão devem ser pelo menos críticos quanto construtores padrão do tipo de base |
|
O delega devem associar a transparência consistente com métodos |
|
Os métodos devem manter a transparência consistente ao substituir métodos de base |
|
Os assemblies de nível 2 não devem conter LinkDemands |
|
Os membros não devem ter conflitantes anotações de transparência |
|
Os métodos transparentes devem conter apenas o IL verificável |
|
Os métodos transparentes não devem chamar métodos com o atributo de SuppressUnmanagedCodeSecurity |
|
Os métodos transparentes não podem usar o atributo de HandleProcessCorruptingExceptions |
|
O código transparente não deve referenciar itens críticos de segurança |
|
Os métodos transparentes não devem satisfazer LinkDemands |
|
O código transparente não deve ser protegido com LinkDemands |
|
Os métodos transparentes não devem usar as demandas de segurança |
|
O código transparente não deve carregar os assemblies das matrizes de bytes |
|
Os métodos transparentes não devem ser decorados com o SuppressUnmanagedCodeSecurityAttribute |
|
Os tipos devem ser pelo menos críticos quanto os tipos de base e interfaces |
|
Os métodos transparentes não podem usar segurança afirmam |
|
Os métodos transparentes não devem chamar em código nativo |
|
Os assemblies devem ter nomes fortes válidos |