Создание Windows-приложений на основе Visual C#



Безопасность доступа кода


Основой определения разрешений для системы безопасности служит само приложение, его сборка и так называемое удостоверение. Удостоверение — это набор информации о сборке и ее производителе. Удостоверение может включать в себя:

  • Строгое имя, частное имя и версию сборки.
  • Название производителя сборки.
  • Зону, из которой сборка была получена, такую, как локальный компьютер, Интернет или локальная сеть.
  • Местонахождение, откуда сборка была получена, — такое, как папка на локальном компьютере или URL сайта, с которого загружена сборка.
  • Криптографический хэш-код сборки..

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

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

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

.NET Framework имеет много встроенных разрешений, автоматически проверяющих код и разрешения на него. В таблице 10.1 перечислены все встроенные разрешения.

Таблица 10.1. Встроенные разрешения .NET Framework

Класс, представляющий разрешениеОхраняемый ресурс
DirectoryServicesPermissionСлужба каталогов
DnsPermissionСлужбы DNS (Domain Namespace Services)
EnvironmentPermissionРесурсы операционной системы
EventLogPermissionЖурнал событий
FileDialogPermissionДиалоги открытия, сохранения файлов в пользовательском интерфейсе приложения
FileIOPermissionРабота с файлами
IsolatedStorgeFilePermissionИзолированное хранилище файлов
MessageQueuePermissionОчереди сообщений
OleDbPermissionБазы данных, доступ к которым осуществляется средствами поставщика данных OleDB
PerformanceCounterPermissionСчетчики производительности
PrintingPermissionПечать
ReflectionPermissionИнформация о типах во время выполнения
RegistryPermissionРеестр
SecurityPermissionРабота с правами доступа
ServiceControllerPermissionЗапуск или остановка Windows-служб
SocketPermissionСоединение с компьютером через порты
SqlClientPermissionБазы данных, доступ к которым осуществляется средствами SqlClient провайдера
UIPermissionПользовательский интерфейс
WebPermissionСоединение с компьютерами через web-интерфейс

В дополнение к встроенным разрешениям вы можете создать собственные, основываясь на классе CustomPermission.




Содержание  Назад  Вперед