Как защитить системы и данные от программных и аппаратных сбоев, от природных и техногенных катаклизмов, от террористов и хакеров? Для этого можно использовать, например кластеры и систему безопасности, встроенную в операционную систему общего назначения — OpenVMS. Если недостаточно традиционного варианта, то имеются еще специальные версии с расширенными средствами защиты, которые усиливают надежность обычных вариантов ОС.

Cегодня, в эпоху переноса многих элементов человеческой деятельности в мир Internet, для наступления катастрофических последствий уже не обязательны землетрясения, наводнения и пожары: достаточно нескольких команд, случайно введенных пользователем или намеренно выполненных хакером.

Проектирование новых и анализ существующих информационных систем любой организации требует рассмотрения базовых аспектов хранения и использования информации, относимых к общим вопросам информационной безопасности:

  • готовность (availability): надежность хранения данных, включающая возможность получить их в срок при наличии соответствующих прав доступа и невозможность утратить критически важные данные при повреждениях программно-аппаратного комплекса;
  • целостность (integrity): сохранность данных в части как достоверности и отсутствия умышленных или неумышленных искажений, так и, возможно, внутренней полноты и непротиворечивости документов или записей;
  • конфиденциальность (security): поддержка нескольких степеней или уровней конфиденциальности хранимых данных путем защиты от несанкционированного доступа и контроля доступа как к собственно данным, так и к ресурсам системы в широком смысле (с учетом физической безопасности защищаемых объектов, возможности съема или перехвата данных и т.д.).

Готовность и надежность хранения данных обеспечиваются различными устойчивыми к отказам и сбоям системами, кластерами, системами резервного копирования — о которых написано немало [1, 2]. Защиту от неумышленного искажения данных обеспечивают алгоритмы контроля четности и защиты от ошибок, используемые как при передаче данных на всех этапах, так и при хранении данных в памяти машин и на дисковых массивах.

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

Немного истории

Compaq унаследовала технологии корпорации Digital Equipment, чьи операционные системы традиционно славились надежной системой безопасности, которая, в отличие от многих других ОС, не была выполнена в виде «надстройки», а закладывалась еще на этапе разработки. Национальный центр компьютерной безопасности США в 1988 году впервые присвоил операционной системе VAX/VMS рейтинг уровня защищенности C2 в соответствии со стандартами TCSEC (Trusted Computer System Evaluation Criteria), выработанными в оборонном ведомстве США. В 1993-1996 гг. были получены сертификаты уровня С2 для стандартной версии OpenVMS/VAX и OpenVMS/Alpha и уровня B1 для SEVMS/VAX и SEVMS/Alpha — специальной разновидности VMS с расширенной системой безопасности. При этом было продемонстрировано, что заявленные уровни безопасности достигаются как на изолированной системе, так и в кластерной конфигурации, включая кластеры на базе локальной сети и смешанные кластеры с разной архитектурой машин [3], чем могут похвастаться лишь немногие операционные системы. Вся дальнейшая разработка вариантов VMS велась с учетом требований стандартов TCSEC.

Специальные стандарты

Чем же отличаются варианты операционных систем, разработанные в соответствии с уровнями безопасности C2 и B1?

Рис.1. Структура проверок для принятия решения о допуске субъекта к объекту

Система, претендующая на уровень безопасности С2 (рис. 1), должна обеспечивать доверительную вычислительную базу (Trusted Computing Base — TCB), включающую политику «избирательного» контроля доступа (DAC — Discretionary Access Control), обязывающую пользователей регистрироваться в системе с помощью специальной процедуры (logon), обеспечивающей аудит событий и изоляцию защищенных ресурсов и объектов [3, 4]. Только зарегистрированные пользователи могут получить доступ к OpenVMS, введя уникальный идентификатор пользователя и пароль. Занесение пользователей в базу данных и выдача им привилегий на доступ к тем или иным объектам или выполнению действий, в соответствии с ролью каждого пользователя, осуществляются системными администраторами, причем можно сделать так, чтобы в одиночку никто из администраторов и операторов не обладал всей полнотой власти над операционной системой.

OpenVMS предоставляет два механизма контроля доступа к объектам: списки контроля доступа (Access Control List — ACL) и средства задания прав доступа к каждому объекту для четырех категорий: система (system), группа (group), владелец (owner) и все остальные (world).

В OpenVMS существует три способа указания необходимости контроля за данными и ресурсами, требующими аудита доступа: система команд административного аудита, поля требования аудита в записях списков контроля доступа к объектам и соответствующих полей, в записях базы данных пользователей. Имеется возможность выполнять выборочный аудит, а также фильтрацию журналов аудита. Кроме того, данные, собираемые в журнале аудита, могут быть переведены в текстовую форму, доступную для чтения оператором, с помощью специальной утилиты.

Система, претендующая на уровень B1, должна обеспечивать все свойства уровня C2, дополняя их принудительным контролем доступа (Mandatory Access Control — MAC) субъектов к объектам, метками уровня конфиденциальности данных и возможностью классифицировать и помечать соответствующим грифом всю исходящую из системы информацию.

SEVMS (Security Enhanced VMS) дополняет свойства OpenVMS обязательным контролем доступа MAC [3, 5]. Записи в базе данных пользователей содержат информацию о максимальном уровне допуска для каждого пользователя, минимальном уровне допуска и уровне допуска по умолчанию. Пользователь, регистрируясь в системе, может указать уровень допуска для данного сеанса (в пределах разрешенного диапазона, конечно, а всего может быть до 256 уровней секретности и, соответственно, допуска), в противном случае будет использован уровень допуска по умолчанию. С другой стороны, каждому объекту (диску, магнитной ленте, файлу, очереди, терминалу и т.д.) присваивается метка MAC, состоящая из пары классификационных блоков (максимальный и минимальный), содержащих уровень секретности и категории секретности (всего в системе может быть до 65 тыс. различных категорий секретности). Алгоритм принятия решения о разрешении доступа субъекта (пользователя или процесса) к объекту базируется на так называемой модели Белла-ЛаПадулы (Bell-LaPadula lattice security model, описана в [6], а также, в общих чертах, в [3,5]), в основе которой лежит следующий принцип: никакой субъект не может прочитать объект, более секретный, чем классификация субъекта и никакой субъект не может записать в объект менее секретный, чем сам субъект. Классификационные метки объектов также содержатся в записях в журналах аудита; соответствующий гриф печатается на документах, выводимых на принтеры.

Не забыта и вторая операционная система, которую развивала DEC, а теперь Compaq. Для работы в среде, удовлетворяющей требованиям уровня B1, предусмотрена специальная защищенная разновидность операционной системы Digital Unix (сейчас Tru64 Unix), называемая MLS+. Как и SEVMS, она разрабатывалась в соответствии со стандартами TCSEC и обладает политиками контроля доступа DAC и MAC [7].

За рамками стандарта

В отчете NCSC [3] отмечено, что OpenVMS и SEVMS предоставляют более широкие возможности, чем предусмотрено стандартами TCSEC.

  • Управление паролями. Возможность потребовать дополнительной аутентификации при регистрации на определенных терминалах и/или определенных пользователей. Кроме того, можно настроить учетную запись пользователя так, чтобы требовалось вводить последовательно два пароля — это требуется для контроля или санкционирования действий оператора другим человеком (по аналогии с двумя ключами от банковской ячейки) только скоординировав свои действия они смогут получить доступ к ОС. VMS проверяет каждый новый пароль по словарю, чтобы пользователи не использовали часто встречающиеся слова и наборы букв, причем системный администратор может пополнять словарь словами, специфичными для конкретной организации, а кроме того, он может потребовать обязательного использования генератора паролей, смены пароля с заданной периодичностью и использование пароля не короче заданной длины. Администратор также может добавить в систему фильтры паролей и интегрировать дополнительные алгоритмы шифрования паролей, специфичные для конкретной системы или организации.
  • Проверка на вторжение. Администратор может определить параметры таких попыток получения доступа к системе, которые будут расценены как попытки несанкционированного вторжения — взлома системы. Система в этом случае предпримет меры для парирования атаки. Поддерживается также база данных, регистрирующая все попытки вторжения, в дополнение к записям в журнале аудита.
  • Расширенный контроль доступа (DAC). В OpenVMS и SEVMS контроль доступа гибче, чем просто механизм контроля пользователя и групп. Субъект может иметь много идентификаторов, права использования которых определяются системным администратором. Следовательно, доступ к объектам может предоставляться при наличии некоторых определенных идентификаторов у субъекта, причем дополнительно в списках контроля доступа можно указать, что субъект должен обладать несколькими идентификаторами одновременно. Таким образом, владелец объекта или субъект, имеющий право контроля доступа к данному объекту, могут предоставлять или запрещать доступ к своим объектам в рамках определенных контекстов приложений.
  • Контроль подсистем приложений. Механизмы DAC могут быть использованы для запрещения предоставления доступа к файлам с данными при использовании пользователем приложений, не разрешенных заранее администратором. И наоборот, определенные пользователи могут получить доступ к данным только при использовании именно им разрешенных приложений. Администратор, которому разрешен контроль за подсистемами, управляет доступом путем определения подсистем приложений и назначения идентификаторов, записываемых в соответствующие списки контроля доступа к файлам данных.
  • Контроль доступа в кластере. Все узлы VMS-кластера используют единую базу данных пользователей и образуют распределенную вычислительную среду с совместным использованием общекластерных ресурсов, включая устройства ввода-вывода, файлы и записи в базах данных. Контроль доступа к разделяемым и распределенным ресурсам осуществляется так же, как и к локальным ресурсам. Начиная с версии OpenVMS 7.3, осуществляется распределенный общекластерный контроль за попытками несанкционированного вторжения, так что узлы кластера теперь борются с хакерами не поодиночке, а сообща.
  • Проверка целостности данных. OpenVMS и SEVMS, а также аппаратура, на которой они выполняются, осуществляют проверку целостности типов данных, контроль четности и проверку целостности самих данных во многих случаях при обычном режиме работы. Кроме того, SEVMS обладает функциональностью, обеспечивающую принудительный контроль целостности (mandatory integrity policy) [5] — этот механизм может обеспечить дополнительную защиту системы и данных, в том числе от вирусов и «троянских коней».
Рис. 2. Уровни и категории допуска к информации

Вирусы vs. VMS

VMS — достаточно непривлекательная среда для вирусописателей, поэтому вирусы для него встречаются крайне редко, да и распространяются они с колоссальным трудом.

Во-первых, распространение классических «червей» перекрывается благодаря разумной политике работы с паролями и списками контроля доступа ACL.

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

Более десяти лет назад разработчики VMS экспериментально продемонстрировали возможность надежной защиты от атак типа «троянский конь» с помощью механизмов принудительного контроля доступа MAC в SEVMS [8]. Если администратор относится к своим обязанностям не халатно, то его пользователи могут спать спокойно. Ну а для перестраховки можно довольно просто осуществлять проверку целостности файлов системы и выявлять подозрительную активность пользователей. При этом даже не обязательно применять SEVMS: достаточно записать все критичные и потенциально атакуемые файлы на компакт-диск и командой diff периодически сравнивать их с лежащими на основных дисках.

В реальной жизни я один раз все же слышал о человеке, пытавшемся написать вирус для VMS, впрочем, это имело отрицательные последствия только для самого автора вируса.

«Ну как же так, — говорил он, — как я запустил вирус, так все по-прежнему работают, как ни в чем не бывало, а меня система тут же и пускать перестала».

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

Заключение

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

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

В конечном итоге, по данным слушаний в Конгрессе США, OpenVMS оказалась единственной средой, в которую не смог проникнуть самый знаменитый хакер мира.

Литература

[1] Кирилл Вахрамеев. «Защита данных от катастроф». «Открытые Системы», 2000, № 03

[2] Станислав Брик, Кирилл Вахрамеев, «OpenVMS сегодня и завтра», «Открытые Системы», 2000, № 05-06

[3] National Computer Security Center Final Evaluation Report CSC-EPL-93/002.B. Digital Equipment Corporation, OpenVMS and SEVMS, Version 6.1, with VAX or Alpha

[4] «OpenVMS Guide to System Security», Digital Equipment Corporation, p/n AA-Q2HLD-TE

[5] «SEVMS Security Manager's Guide», Digital Equipment Corporation, p/n AA-QC06B-TE.

[6] D.E. Bell and L.J. LaPadula. Secure Computer Systems: Unified Exposition and Multics Interpretation, The Mitre Corp., 1976.

[7] DIGITAL MLS+ Operating System, Version 4.0D SPD 46.21.04, www.compaq.com/info/SP4621/SP4621PF.PDF

[8] Ask The Wizard: OpenVMS System Security? www.openvms.compaq.com/wizard/wiz_4282.html

Кирилл Вахрамеев (kirill.vakhrameev@compaq.com) — сотрудник представительства Compaq (Москва)