Поделиться через


CA2106: обеспечьте безопасность утверждений

TypeName

SecureAsserts

CheckId

CA2106

Категория

Microsoft.Security

Критическое изменение

Критическое изменение

Причина

Метод подтверждает разрешения без выполнения проверок безопасности для вызывающего объекта.

Описание правила

Подтверждение разрешений безопасности без выполнения проверок безопасности может привести к возникновению в коде уязвимости системы безопасности, которой могут воспользоваться злоумышленники. Обход стека системой безопасности прекращается после подтверждения разрешения безопасности. Если подтвердить разрешение без выполнения проверок вызывающего объекта, вызывающий объект может неявно выполнить код с помощью предоставленных разрешений. Утверждения без проверки безопасности допустимы, только если вы уверены, что утверждение не может использоваться опасным образом. Утверждение является является безопасным, если код вызова является безопасным или пользователям невозможно передать произвольные сведения в код, который вы вызываете.

Устранение нарушений

Чтобы устранить нарушение данного правила, добавьте требование безопасности к методу или типу, в котором он объявляется.

Отключение предупреждений

Предупреждения о нарушении этого правила можно отключать только после тщательной проверки безопасности кода.

См. также

Ссылки

CodeAccessPermission.Assert

Основные понятия

Правила написания безопасного кода