Информационная безопасность Модели управления доступом Разграничение доступа Глобальные сети Средства анализа и управления сетями Примеры скриптов на JavaScript Примеры программирования на Java

Информационная безопасность

Разграничение доступа к реестру ОС семейства Windows

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

Запрещать пользователям доступ «на запись» к реестру ОС следует не только с целью предотвращения возможной модификации ими настроек ОС и приложений, но и с целью предотвращения несанкционированной инсталляции пользователем программных средств (как правило, при инсталляции ПО осуществляется запись необходимой для программы настроечной информации в реестр ОС).

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

При этом могут выделяться привилегированные процессы, которым необходимо разрешить права доступа к реестру «на запись» эксклюзивно. К таким процессам могут быть отнесены системные процессы ОС и приложений, а также процессы системы защиты информации.

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

Таким образом, диспетчер доступа к реестру ОС должен обеспечивать управление доступом к реестру ОС субъектам «ПОЛЬЗОВАТЕЛЬ» и «ПРОЦЕСС». Причем права доступа субъекта «ПРОЦЕСС» могут устанавливаться эксклюзивно. Эксклюзивные права доступа «назапись» следует устанавливать привилегированным процессам, доступ же пользователям к реестру ОС должен разрешаться только «на чтение».

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

Поэтому будем говорить, что реестр ОС это объект мандатного разграничения доступа (обязательно должен учитываться в схеме мандатного управления), которому при мандатном управлении доступом назначена метка МО. Напомним, что метка МО — признак исключения из схемы мандатного управления, то есть разграничения осуществляются дискреционным механизмом.

Дискреционным механизмом должны устанавливаться эксклюзивные права доступа «на запись» привилегированным процессам. Доступ же пользователям к реестру ОС должен разрешаться только «на чтение».

Пароль

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

Пароль следует выбирать достаточно длинным, чтобы полученный в результате его преобразования ключ был случайным. Из теории информации известно, что в предложении на английском языке каждая буква содержит примерно 1,3 бита информации. Тогда, чтобы получить 64-битный ключ, пароль должен состоять примерно из 49 букв, что соответствует английской фразе из 10 слов.

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

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

Стандарт ANSI X9.17

Американский национальный институт стандартов (ANSI) разработал метод генерации 64-битных ключей при помощи DES-алгоритма. Его основное назначение состоит в получении большого количества ключей для многократных сеансов связи. Вместо DES-алгоритма можно использовать любой другой стойкий алгоритм шифрования.

Пусть функция ЕК(Р) осуществляет шифрование Р по DES-алгоритму на заранее заготовленном ключе К, который используется только для генерации секретных ключей. Пусть далее V0 является начальным 64-битным значением, которое держится в тайне от противника, а Тi представляет собой отметку времени, когда был сгенерирован i-й ключ. Тогда очередной случайный ключ Ri вычисляется с помощью преобразования:

Ri = EK(EK(Тi) ⊕ Vi)

Чтобы получить очередное значение Vi, надо вычислить

Vi = EK (EK (Тi) ⊕ Ri)

Общие принципы построения вычислительных сетей