CA2106: Asserzioni protette
TypeName |
SecureAsserts |
CheckId |
CA2106 |
Category |
Microsoft.Security |
Breaking Change |
Breaking |
Causa
Un metodo asserisce un'autorizzazione e non vengono eseguiti controlli di sicurezza sul chiamante.
Descrizione della regola
Quando si asserisce un'autorizzazione di sicurezza senza eseguire alcun controllo di sicurezza, nel codice potrebbero restare punti deboli nella sicurezza. Un percorso stack di sicurezza si arresta quando un'autorizzazione di sicurezza è asserita. Se si asserisce un'autorizzazione senza eseguire alcun controllo sul chiamante, il chiamante potrebbe eseguire indirettamente il codice utilizzando le autorizzazioni. Le asserzioni senza controlli di sicurezza sono consentite solo quando si è certi che l'asserzione non può essere utilizzata in modo dannoso. Un'asserzione è innocua se il codice chiamato è innocuo o gli utenti non possono passare informazioni arbitrarie al codice chiamato.
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere una richiesta di sicurezza al metodo o al tipo che lo dichiara.
Esclusione di avvisi
Escludere un avviso dalla regola solo dopo un'attenta verifica della sicurezza.