Написание безопасных библиотек классов

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

В следующей таблице описываются три основных элемента, на которые следует обратить внимание для обеспечения безопасности библиотеки классов.

Элемент безопасности

Описание

Требование безопасности

Требования применяются на уровне классов и методов как механизм обеспечения наличия у вызывающих код объектов необходимых разрешений. Требования инициируют проверку стека, при которой все вызывающие объекты, напрямую или опосредованно вызывающие код, проверяются в стеке при вызове кода. Требования обычно используются в библиотеках классов для защиты ресурсов.

Переопределения безопасности

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

ПримечаниеПримечание
Изменения системы безопасности в .NET Framework 4 сделали некоторые переопределения устаревшими.Дополнительные сведения об этих изменениях см. в разделе Изменения системы безопасности в .NET Framework.
Предупреждающее замечаниеВнимание
Переопределения могут быть небезопасны, и при их использовании следует соблюдать осторожность.

Оптимизация безопасности

Прозрачность, представленная в .NET Framework 4, обеспечивает новые способы оптимизации управления доступом для кода. Для получения дополнительной информации см. Прозрачный для системы безопасности код.

См. также

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

Требования безопасности

Переопределение результатов проверки безопасности

Декларативная безопасность в области классов и членов

Оптимизация безопасности

Другие ресурсы

Управление доступом для кода