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


Безопасность и реестр (Visual Basic)

На этой странице обсуждается, как хранение данных в реестре сказывается на безопасности.

Разрешения

Хранить секретные данные, например пароли, в реестре обычным текстом небезопасно, даже если раздел реестра защищен ACL (списком управления доступом).

Работа с реестром может привести к нарушению безопасности, допуская несанкционированный доступ к системным ресурсам или защищенной информации. Чтобы использовать эти свойства, необходимо иметь разрешения на чтение и запись в перечислении RegistryPermissionAccess, которое управляет доступом к переменным реестра. Любой код, выполняющийся с полным доверием (в рамках политики безопасности по умолчанию это любой код, установленный на локальном жестком диске компьютера пользователя), имеет необходимые разрешения для доступа к реестру. Дополнительные сведения см. в описании класса RegistryPermission.

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

Значения разрешений на доступ к реестру определяются перечислением RegistryPermissionAccess. Его члены подробно рассмотрены в следующей таблице.

Значение Доступ к переменным реестра
AllAccess Создание, чтение и запись
Create Создание
NoAccess Нет доступа
Read Чтение
Write Запись

Проверка значений в разделах реестра

Создавая значение реестра, необходимо решить, что делать, если это значение уже существует. Другой процесс (возможно, вредоносный) мог уже создать это значение и получить к нему доступ. Данные, добавленные в значение реестра, становятся доступными для другого процесса. Чтобы этого избежать, используйте метод GetValue. Он возвращает Nothing, если данный раздел еще не существует.

Внимание

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

См. также