Учебные вопросы:
1. Основные понятия защиты от НСД.
2. Формальные модели защиты.
3. Системы разграничения доступа.
Вопрос 1. Основные понятия защиты от НСД
Защита конфиденциальной и ценной информации от несанкционированного доступа (НСД) и модификации призвана обеспечить решение одной из наиболее важных задач защиты имущественных прав владельцев и пользователей ЭВМ – защиту собственности, воплощенной в обрабатываемой с помощью ЭВМ информации, от всевозможных злоумышленных покушений, которые могут нанести существенный экономический и другой материальный и нематериальный ущерб. К ней примыкает задача защиты государственных секретов, где в качестве собственника информации выступает государство.
В рамках проблемы защиты информации от НСД целесообразно рассматривать также задачу защиты материальной собственности, воплощенной в виде технических (программно-аппаратных) средств ЭВМ, включая носители данных, от непреднамеренного или злоумышленного разрушения и кражи. Для борьбы с этими угрозами реализуется комплекс организационно-технических мер защиты, традиционно применяемый по отношению к любым другим объектам материальной собственности, в частности такие, как охрана и ограничение доступа посторонних лиц к ЭВМ и хранилищам носителей данных; создание барьеров безопасности путем оборудования помещений обычными, кодовыми и электронными замками, решетками, системами внутреннего телевидения и тревожной сигнализации; ограждение зданий и территорий заборами с электронными системами контроля проникновения, создание резервных вычислительных ресурсов и хранилищ носителей данных и т. п.
Другой проблемой является задача защиты информационных и вычислительных ресурсов от несанкционированного (бесплатного) использования. К специальным мерам, ориентированным на борьбу с угрозами данного вида относятся средства контроля включения питания и загрузки программного обеспечения в ЭВМ, реализуемые на базе механических и электронных ключей, а также средства парольной защиты при "входе " в ЭВМ, как со стороны локальных, так и со стороны удаленных пользователей. В более общем случае можно рассматривать данный вид защиты как частный случай проблемы разграничения полномочий и доступа, описанной ниже, и использовать соответствующие меры защиты.
Центральной в проблеме защиты информации от НСД является задача разграничения функциональных полномочий и доступа к информации, направленная не только на предотвращение возможности потенциального нарушителя "читать" хранящуюся в компьютере информацию, но и на предотвращение возможности нарушителя модифицировать ее штатными и нештатными средствами.
4 Требования по защите от НСД в различных приложениях могут существенно варьироваться, однако они всегда направлены на достижение (в определенном сочетании) трех основных свойств защищаемой информации:
– конфиденциальность (засекреченная информация должна быть доступна только тому, кому она предназначена);
– целостность (информация, на основе которой принимаются важные решения, должна быть достоверной, точной и защищенной от возможных непреднамеренных и злоумышленных искажений);
– готовность (информация и соответствующие автоматизированные службы должны быть доступны, готовы к обслуживанию всегда, когда в них возникает необходимость).
На практике существует весьма широкий спектр различных подходов и методов реализации программных и аппаратных средств разграничения доступа (СРД), в том числе с применением криптографии.
Однако для всех СТД присуши некоторые общие черты и единообразные базисные компоненты, такие, как диспетчер доступа, модель зашиты и блок аутентификации.
Реализуемый в виде совокупности программно-аппаратных механизмов, диспетчер доступа обеспечивает необходимую дисциплину разграничения доступа субъектов (активных элементов вычислительного процесса: пользователей, процессов, процедур и т. п.) к объектам (пассивным информационным элементам и контейнерам данных: файлам, томам данных, устройствам, программам и т. п.), описываемую посредством математически строгой модели защиты. На основании полномочий субъекта и свойств объекта данных, записанных в базе полномочий, и характеристик доступа, диспетчер принимает решение разрешить доступ, либо отказать в нем.
В идеале диспетчер доступа (ДЦ) должен отвечать следующим фундаментальным требованиям:
– формальная модель защиты – алгоритм принятия решения о доступе, закладываемый в основу СРД, должен базироваться на формальной модели защиты, обеспечивающей возможность математически строгого анализа характеристик безопасности защищаемой вычислительной системы;
– верифицируемость – программно-аппаратные механизмы СРД должны быть достаточно простыми, небольшими по объему и хорошо структурированными для того, чтобы была обеспечена возможность их верификации, то есть подтверждения корректности и соответствия логики их функционирования заданной модели защиты; – защищенность механизмов – программно-аппаратные механизмы и информационные структуры СРД должны быть надежно защищены от случайной или преднамеренной модификации;
– полнота контроля – СРД должна контролировать все обращения к защищаемому объекту по всем возможным каналам доступа.
Формальная модель защиты является математической абстракцией, отображающей взаимоотношения между пользователем и данными в вычислительной системе. Она необходима и как инструмент для 38 исследования поведения вычислительной системы с точки зрения возможной утечки информации, так и в качестве алгоритмической базы для реализации, программно-аппаратных механизмов диспетчера доступа.
Одним из важных элементов СРД является блок аутентификации, ответственный за достоверное опознание (или, как иногда говорят, за подтверждение подлинности) пользователя. В большинстве практических случаев вполне приемлемым может считаться способ аутентификации, основанный на проверке предъявляемого пользователем секретного пароля (признаком является знание человеком некоторого индивидуального секрета)' Достоверность процедуры автоматического опознания личности может быть усилена за счет применения дополнительных устройств – электронных и механических ключей различного вида (дополнительный признак – "владение" определенным предметом). В ответственных случаях можно рекомендовать применение средств биометрической аутентификации, осуществляющих опознание человека по его неотъемлемым психофизическим характеристикам, таким, как форма и динамика рукописной подписи, "почерк" работы на клавиатуре, рисунок капилляров сетчатки глаза, форма отпечатка пальца и т. п.
Для объективной оценки защищенности вычислительных систем от НСД общепринятым является подход, основанный на методе экспертной оценки совокупности функциональных и качественных характеристик операционной среды, зафиксированных в соответствующих национальных и международных стандартах (таких, например, как европейский стандарт "Критерии оценки безопасности информационных технологии"). При этом одним из наиболее сложных вопросов аттестации защищенности является подтверждение невозможности "прокола" операционной системы со стороны пользовательских программ. С этой целью необходимо использовать трудоемкие и дорогостоящие методы разработки доказательно корректного" (доверенного) программного обеспечения, методы формальной верификации программ и т. п. В качестве альтернативного подхода предлагается шире использовать методы криптографического разграничения доступа.
Средства разграничения функциональных полномочий и доступа находят применение не только для защиты информационной собственности, но могут широко использоваться в целях обеспечения непрерывности, корректности и надежности функционирования АС, информационных служб.
Вопрос 2. Формальные модели защиты
Рассмотрим так называемую матричную модель защиты, получившую на сегодняшний день наибольшее распространение на практике.
В терминах матричной модели, состояние системы защиты описывается тройкой:
(S, О, М),
где S – множество субъектов доступа, являющихся активными структурными элементами модели (в большинстве случаев субъекты в свою очередь могут рассматриваться как объекты доступа, т. е. S является подмножеством О);
О – множество объектов доступа, являющихся пассивными защищаемыми элементами модели; каждый объект однозначно идентифицируется с помощью имени объекта;
М – матрица доступа, в которой строки соответствуют субъектам, а столбцы объектам; значение элемента матрицы М[S,О] определяет права доступа субъекта S к объекту О.
Права доступа регламентируют способы обращения субъекта 5 к различным типам объектов доступа. Так, например, права доступа к файлам или сегментам памяти обычно определяют как чтение (К), запись (АУ) и выполнение (Е). В некоторых системах используется еще одно право доступа – дополнение (А), означающее право субъекта производить запись данных в свободные области объекта без перекрытия имеющихся данных.
С помощью матрицы доступа может быть описано состояние любой, сколь угодно сложной системы защиты в произвольный момент ее существования. Однако, несмотря на гибкие изобразительные возможности, матричным моделям присущи и серьезные недостатки.
Во-первых, низкий, излишне детализированный уровень описания отношений субъектов и объектов затрудняет анализ соблюдения так называемых правил разграничения доступа, то есть тех высокоуровневых отношений между субъектами – людьми и объектами – документами, которые приняты в социальных группах для регулирования доступа к секретным’ «и другим охраняемым данным.
Во-вторых, вследствие трудно поддающегося регулированию разрастания размеров матриц доступа в реальных системах, процедуры по их обслуживанию и поддержанию в адекватном изменяемым условиям] состоянии оказываются весьма трудоемкими. Централизованная в руках администратора защиты служба сопровождения становится узким местом в работе систем, обладающих большой динамикой состава пользователей и программ.
Для преодоления указанных выше недостатков матричных моделей разработаны так называемые многоуровневые модели защиты, классическими примерами которых являются модель конечных состояний Белла и Ла Падулы и решетчатая модель Деннинга.
Многоуровневые модели переносят в операционную среду ЭВМ, в мир "электронных" документов, общепринятые и хорошо отработанные принципы обращения с бумажными секретными, особо важными, конфиденциальными документами, в течение многих лет применяемые на практике.
Для последующего выявления аналогий с организационными мерами защиты напомним основные правила обращения с секретными документами, определенные соответствующими инструкциями.
Каждому охраняемому документу присваивается метка, отражающая уровень конфиденциальности (секретности) содержащихся в этом документе сведений. Помимо этого документу может быть присвоена одна или несколько меток, отражающих категории конфиденциальности (секретности) документа.
Любому лицу, привлекаемому к работе с секретными, конфиденциальными документами, также приписывается аналогичный набор признаков, определяющих возможность его доступа к информации определенного уровня. И при этом уровню конфиденциальности документа соответствует уровень допуска лица, а категории конфиденциальности документа – категория допуска лица. Набор категорий определяется организационной принадлежностью лица.
Дисциплина разграничения доступа к документам определяется следующими двумя фундаментальными правилами:
– лицо допускается к работе с документом только в том случае, если уровень допуска лица равен или выше уровня конфиденциальности Документа, а в наборе категорий доступа данного лица содержатся все категории, определенные для данного документа;
– только специально уполномоченное лицо может снизить уровень Документа или исключить признак категории документа.
Более детальное разграничение доступа (при обязательном выполнении Указанных правил) достигается за счет явного указания взаимосвязи конкретных документов с конкретными лицами по принципу "положено знать". Для этого в документ включается специальный список, определяющий полный перечень лиц, которым ознакомление с данным документом разрешено и необходимо для выполнения своих прямых производственных, функциональных обязанностей.
Многоуровневая модель защиты определяет аналогичные взаимоотношения между элементами, участвующими в вычислительном процессе.
Активные элементы вычислительного процесса (пользователи, задачи и т. п.) наделяются определенными правами доступа, надежно зафиксированными в мандате субъекта. Для задачи (процесса) они, например, могут, определятся в соответствии с уровнем допуска лица, обслуживаемого данной задачей.
Пассивные элементы вычислительного процесса – разнообразные] контейнеры данных (периферийные устройства внешней памяти, тома и наборы данных, файлы, разделы, сегменты внешней и основной памяти т. п.) наделяются определенными признаками конфиденциальности, зависящими от уровня содержащейся в этих контейнерах информации. Признаки конфиденциальности надежно фиксируются в метке объекта. (В связи с использованием терминов "мандат" и "метка" многоуровневую защиту часто называют мандатной защитой или защитой с метками конфиденциальности).
Права доступа каждого субъекта и характеристики конфиденциальности каждого объекта отображаются в виде совокупности уровня конфиденциальности и набора категорий конфиденциальности (возможно пустого). Уровень конфиденциальности может принимать одно из строго упорядоченного ряда фиксированных значений, например, конфиденциально, секретно, только для узкого круга лиц, несекретно и т. п. Отдельно взятые категории равнозначны, однако их наборы (множества) могут быть упорядочены на основании отношения включения подмножеств.
Практика показывает, что многоуровневые модели защиты находятся гораздо ближе к потребностям реальной жизни, нежели матричные модели, и представляют собой хорошую основу для построения автоматизированных систем разграничения доступа. За счет более высокого "интеллекта", содержащегося в решетчатых моделях, системы защиты с контролем доступа на уровне потоков данных во многих случаях могут без вмешательства человека принимать решения о допуске пользователей к охраняемым данным, что снижает опасность образования узких мест, связанных с деятельностью администратора защиты.
Однако в реализации многоуровневых систем разграничения доступа имеются серьезные теоретические и технические проблемы.
Одна из них – возникновение состояний избыточной конфиденциальности (секретности), связанных с необходимостью автоматической деклассификании конфиденциальных данных. Другие проблемы, связанные с трудностями реализации многоуровневых систем разграничения доступа, рассматриваются в последующем материале.
Вопрос 3. Системы разграничения доступа
На практике системы разграничения доступа (СРД), базирующиеся на моделях матричного типа, реализуются обычно в виде специальных компонент универсальных операционных систем (ОС) или систем управления базами данных (СУБД). Зачастую такие компоненты поставляются в виде самостоятельных программных изделий. Например, такие известные программные средства защиты, как RACF (Resource Access Control Facility) фирмы «IBM», SECURE5ЕС1ЖЕ фирмы «Boole and Baddige» и TOPSECRET фирмы «CGA Computer Ivc», предназначены для расширения функциональных возможностей широко распространенных ОС IBM System/370 MVS и VSI возможностями аутентификации пользователей и матричного разграничения доступа к томам и наборам данных на магнитных дисках, томам данных на магнитной ленте, терминалам, а также транзакциям IMS и CICS и некоторым другим объектам данных. В более современных ОС, таких, как UNIX и VAX/VMS, функции разграничения доступа к элементам файловой структуры интегрированы непосредственно в управляющую программу. Существенной особенностью матричных СРД для наиболее широко используемых на сегодняшний день универсальных ОС является принципиальная децентрализованность механизмов диспетчера доступа, что приводит к невозможности строгого выполнения изложенных выше Требований верифицируемости, защищенности и полноты контроля этих механизмов.
В области многоуровневых СРД доминирующей идеей, в течение последнего десятилетия определявшей основное направление исследований, является концепция разработки защищенной универсальной ОС на базе так называемого ядра безопасности. Под ядром безопасности понимают локализованную, минимизированную, четко ограниченную и надежно изолированную совокупность программно-аппаратных механизмов, доказательно правильно реализующих функции диспетчера доступа (и ряд других сопутствующих служебных функций, например доверенных процессов). Демонстрация корректности функционирования ядра безопасности проводится путем полной формальной верификации его программ и пошаговым доказательством их соответствия заданной математической модели защиты на всех стадиях разработки.
Важно отметить, что сама концепция ядра безопасности своим рождением обязана стремлению преодолеть трудности реализации средств защиты в рамках традиционных ОС. В упрощенной трактовке этот тезис выглядит следующим образом: "Если невозможно создать верифицируемую систему защиты для произвольной ОС, то необходимо создать специальную ОС (а может и специальную ЭВМ), средства защиты которой допускали бы формальную верификацию".
Создатели ядра безопасности обеспечивают выполнение требований к диспетчеру доступа за счет специфической структуры ОС и самого ядра, применения специальных методов и технологии разработки, а также при определенной архитектурной поддержке, реализуемой в аппаратных средствах ЭВМ. Стремление к снижению объема и внутренней логической сложности ядра продиктовано необходимостью выполнения требований верифицируемости.
Той же цели служит специальная технология разработки программ ядра и некоторых других компонентов ОС (использование средств формальной спецификации программ и автоматизированной проверки их корректности, применение специфических приемов программирования и специальных компиляторов и т. п.). Выполнению требования защищенности собственных механизмов СРД способствует использование специальной аппаратной поддержки и включение в состав контролируемых ядром объектов важнейших управляющих структур самой ОС. Последняя мера направлена на предотвращение возможности несанкционированного перехода пользовательских процессов в привилегированное состояние (или, как говорят, "прокола" ОС). Для традиционных универсальных ОС именно задача доказательства отсутствия таких проколов является одной из наиболее трудноразрешимых (требование полноты контроля).
К аппаратным средствам поддержки защиты и изоляции ядра безопасности относятся:
– многоуровневые, привилегированные режимы выполнения команд (с числом уровней больше двух);
– использование ключей защиты и сегментирование памяти; – реализация механизма виртуальной памяти с разделением адресных пространств;
– аппаратная реализация функций ОС; – хранение и распространение программ в ПЗУ; – использование новых архитектур ЭВМ (с отходом от фоннеймановской архитектуры в сторону повышения структурной сложности базовых машинных объектов – архитектуры с реализацией абстрактных типов данных, теговые архитектуры с привилегиями и т. п.).
Хорошей идеей структурной организации программных средств, Ориентированной на изоляцию управляющих механизмов и структур ОС, явилась концепция "виртуальной машины", нашедшая широкое применение в практике создания безопасных вычислительных систем.
Однако, несмотря на значительные усилия и средства, вложенные и исследования и разработку программных и аппаратных средств многоуровневой защиты, на сегодняшний день многие ведущие специалисты приходят к выводу, что существующими методами задача создания безопасной ЭВМ с операционной системой универсального применения не будет решена в ближайшее десятилетие.
В начале 80-х годов в США – появились первые специализированные ЭВМ, аттестованные Национальным центром безопасности ЭВМ, как гарантированно защищенные, что в классификации центра соответствует щенке А1. Широкую известность, в частности, приобрела система SCOMP фирмы "Honeywell", предназначенная для использования в центрах коммутации вычислительных сетей, обрабатывающих секретную «формацию. Хотя эта система разработана на базе концепции ядра безопасности, ее создателям удалось обеспечить необходимые характеристики производительности благодаря существенному ограничению функциональных возможностей данной специализированной ОС.
Необходимо отметить, что хотя опыт создания этой, а также которых других узко специализированных систем и продемонстрировал специфическую применимость указанного подхода, он, с другой стороны, «пиний раз подтвердил чрезмерную громоздкость и неэффективность существующих методов разработки доказательно корректного программного обеспечения, что препятствует созданию этим способом функционально полных, универсальных безопасных операционных систем.
Возвращаясь к системам разграничения доступа для традиционных неструктурированных (т. е. не имеющих ядра безопасности) ОС, необходимо отметить, что, как показывает практика, для них оказывается) невозможным надежно удостовериться в отсутствии (или наличии) скрытых каналов доступа к информационным объектам со стороны программ, нарушающих системные соглашения. Более того, в таких ОС невозможно гарантировать отсутствие путей для несанкционированного переход; пользовательских процессов в привилегированное состояние. Последа тем более опасно, так как если прикладной программе удастся результате преднамеренных действий получить привилегированный статус то в принципе она сможет вообще отключить все средства защиты обеспечить себе доступ к любым хранящимся в вычислительной системе данным.
Причины такого положения кроются в децентрализованности механизмов доступа к разнородным объектам, а также в отсутствии эффективных средств изоляции программ и данных в пределах общего адресного пространства основной памяти. В этих условиях попытка верификации ограниченного подмножества программ, совокупно реализующих функции распределенного диспетчера доступа, приводит к необходимости анализа почти всех программных модулей ОС, что существующими методами сделать не удается ввиду чрезвычайно большого суммарного объема программ современных ОС'.
Вследствие невозможности количественной оценки защищенности неструктурированных универсальных ОС, создание средств многоуровневого разграничения доступа для них становится нецелесообразным.
Действительно, даже реализовав в распределенном диспетчере доступа! многоуровневую модель защиты, разработчики системы не смогут гарантировать отсутствие "проколов" в операционной системе, а также количественно подтвердить преимущества такой многоуровневой СРД перед простейшей матричной СРД, что естественно обесценит усилия, затраченные на ее создание. Поэтому, как уже указывалось, для большинства ОС коммерческие системы разграничения доступа реализуются на базе матричных моделей защиты.
Указанные трудности в обеспечении защиты вычислительных систем, приводят к необходимости применения дополнительных объектовых мер организационной защиты. В особо ответственных применениях разработчики вынуждены прибегать к проведению трудоемкого инженерного анализа ПО, а также существенно ограничивать функциональные возможности применяемых ОС, порою "вычеркивая " из них целые компоненты. Применение подобных мер приводит к I существенному росту расходов на разработку, эксплуатацию и сопровождение систем, препятствует нормальному процессу их эволюционного развития.
Использование криптографических методов открывает новые, уникальные возможности защиты данных в вычислительных сетях, недостижимые при использовании традиционных методов разграничения доступа, действующих на уровне контроля обращений к элементам структур данных.