Condividi tramite


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.

Vedere anche

Riferimenti

CodeAccessPermission.Assert

Concetti

Linee guida per la generazione di codice sicuro