На современном этапе развития АСУ все большее значение приобретает защита информации, что связано, главным образом, с увеличением объемов данных, к которым одновременно обращается для решения различных задач большое число пользователей.
Это приводит к повышению уязвимости информации, под которой понимают возможность ее несанкционированного использования, искажения или уничтожения в результате доступа пользователей, не обладающих специальными полномочиями, к конфиденциальным сведениям. Для уменьшения вероятности несанкционированного использования информации разрабатывают специальные механизмы ее защиты.
Серийно выпускаемая вычислительная техника имеет некоторые встроенные аппаратные и программные средства защиты. Так, например, многие ЭВМ оснащают специальными аппаратными средствами, позволяющими изолировать пользователей друг от друга и от операционной системы, что обеспечивает возможность эффективного контроля операций по выборке и посылке на хранение данных и уменьшает возможность несанкционированного доступа.
Предусматривают специальные средства центрального процессора для обеспечения безопасности информации, в том числе программно-читаемые часы для регистрации времени свершения тех или иных событий; программно-читаемый закрепленный в памяти аппаратными средствами код идентификации, различный для каждого центрального процессора; инструкции по очистке блока памяти внесением нулей; использование только специфицированных кодов операций и т.п.
Чтобы не допустить искажения или потери информации, предусмотрена система защиты памяти при записи и считывании информации.
Наиболее важной является защита при записи, однако в отдельных случаях необходимо знать, какая программа сделала попытку считать данные или исполнить команду из запрещенной для нее зоны. Попытка нарушить защиту памяти вызывает прерывание программы-нарушителя. Обычно используют несколько способов организации защиты памяти. Часто встречается защита двумя регистрами, называемыми граничными или регистрами защиты и содержащими номера нижнего и верхнего граничных блоков сегмента.
При появлении команды записи по некоторому адресу он последовательно сравнивается с граничными регистрами. Если требуемый адрес находится за пределами сегмента, указанного нижним и верхним регистрами, то возникает прерывание и после установления его причины управление передается специальной программе, обрабатывающей нарушения защиты памяти.
Установку значений указанных регистров при работе ЭВМ в режиме разделения времени провопит специальная управляющая программа-супервизор.
Аналогично функционирует система защиты с тремя регистрами. Третий регистр устанавливает, распространяется ли защита на внутреннюю область, определяемую верхним и нижним регистрами (состояние 0), или внешнюю (состояние 1).
В настоящее время развивается тенденция хранить программы в оперативной памяти не целиком, а составленными из отдельных сегментов. Для защиты этих сегментов можно использовать несколько пар регистров защиты, подобных описанным выше.
Однако с ростом числа регистров растет число выполняемых логических операций, что усложняет схемную реализацию механизма защиты и может вызвать существенное снижение быстродействия ЭВМ.
Достаточно широко используют метод защиты оперативной памяти по ключу. Память разбивают на блоки, каждому из которых ставится в соответствие некоторый ключ.
Условия выполнения программы запоминаются в слове памяти, называемом словом состояния программы. Супервизор помещает в это слово ключ защиты программы. Кроме того, в это же слово записывают первые позиции ключей каждого блока памяти, используемых текущей программой.
При появлении адреса из некоторого блока памяти сравнивается ключ защиты в слове состояния программы и первые разряды ключа этого блока памяти. Несовпадение свидетельствует о попытке нарушения защиты и вызывает прерывание.
В системах, работающих в режиме разделения времени, функции защиты возлагают на трансляторы, что накладывает определенные ограничения на языки программирования, так как трансляторы должны до исполнения программ осуществить контроль.
Этот метод часто используют для работы с языками, близкими к естественным. В этом случае символическим идентификаторам соответствует определенный адрес памяти (ячейка памяти, например, получившая обозначение А, всегда будет находиться по адресу А' для первого пользователя, по адресу А" для второго и т.д., что упрощает контроль при трансляции).
Несмотря на широкое использование серийных средств защиты данных в ЭВМ, они не обеспечивают надежное перекрытие всех потенциально возможных каналов несанкционированного использования или утечки информации, что диктует необходимость разработки механизмов защиты при проектировании АСУ.
Одна из основных их характеристик - вероятность "взлома", в результате которого будет нарушена безопасность информации, т.е. произойдет либо несанкционированное использование, либо разрушение (искажение или стирание) отдельных элементов или всех данных.
Выбор механизмов защиты определяется особенностями рассматриваемой СОД, критериями синтезируемой системы защиты, используемыми методами защиты, имеющимися ресурсами и т.д. Существующие методы и механизмы защиты включают в себя процедурные, программные и аппаратные способы организации защиты.
Процедурные методы защиты обеспечивают доступ к данным только тем пользователям, которые имеют соответствующие разрешения. Например, для систем с разделением времени процедурные методы защиты должны обеспечивать контроль доступа со стороны пользователей, использующих терминалы ввода–вывода.
Идентификация осуществляется путем проверки паролей терминалов, кодов пользователей, шифров работ и посылки обратного сигнала об их законности.
Реализация процедурных методов защиты обеспечивается установлением паролей для терминалов, грифов секретности данных, созданием организационных и физических ограничений (сейфы, вахтеры, охрана и т д.), а повышение их эффективности достигается путем соответствующего обучения и повышения уровня ответственности персонала.
Ответственность за нарушение безопасности данных при этом возлагается на группу лиц, в обязанности которых входят:
управление доступом к данным;
учет попыток несанкционированного доступа к защищенным данным;
регистрация лиц, имеющих копии данных ограниченного использования;
анализ функционирования системы защиты и повышение качества ее работы;
анализ последствий, вызванных "взломом" системы защиты.
Процедурные методы защиты используют в основном на этапах первичной обработки данных и выдачи результатов обработки пользователям.
Программные и аппаратные методы защиты используют в основном на этапе обработки данных на ЭВМ. Они обеспечивают: обслуживание только "законных" пользователей; доступ к объектам защиты в соответствии с установленными правами и правилами; возможность изменения (модификации) правил взаимодействия между пользователями и объектами защиты; возможность получения -информации о безопасности объектов защиты.
Некоторые программные методы обеспечивают возможность анализа функционирования системы защиты с целью повышения качества ее работы и анализа последствий, вызванных "взломом".
Структура и характеристики аппаратных и программных методов защиты зависят от характеристик процессора и структуры памяти. С точки зрения взаимодействия пользователей в системе защита обеспечивает одну из следующих альтернатив: взаимную изоляцию данных пользователей и наличие библиотеки общего пользования; некоторые данные могут использоваться и (или) изменяться рядом пользователей, что контролируется механизмом защиты; удовлетворение специфических требований пользователей в доступе к объектам защиты, что обеспечивается программируемыми механизмами защиты.
Упрощенным представлением организации защиты является следующая модель: "Каждый объект защиты окружен непроницаемым барьером с единственным проходом, у которого поставлен охранник".
Функцией охранника является проверка полномочий пользователей, которая осуществляется следующим образом: полномочия пользователя удостоверяются, если совпадает пароль, которым располагает охранник, и пароль, сообщенный пользователем.
Рассмотрим некоторые методы защиты для режима прямого доступа.
1. Помещения, где находятся терминалы, запирают. Доступ к ресурсам вычислительного комплекса имеют пользователи, которые обладают ключами.
2. Доступ к терминалам разрешается в случае предъявления соответствующего пропуска вахтеру.
3. Каждый терминал имеет список пользователей, которым разрешен доступ с этого терминала к ресурсам вычислительного комплекса. Пользователь сообщает системе свой код (пароль), который сверяется со списком. Если пароли совпадают, доступ разрешается.
4. Для каждого пользователя, код которого помещен в список, указывается временной интервал, в течение которого он имеет право обращаться к системе. В этом случае для доступа необходимо знать не только код пользователя, но и разрешенный ему временной интервал.
5. Пользователь начинает работу с терминалом, вводя свое имя "открытым текстом". По каналу связи имя передается в ЭВМ, где в защищенной таблице отыскивается соответствующий засекреченный ключ шифра.
Этот ключ передается шифровальному устройству, входящему в состав ЭВМ, после чего на терминал посылается подтверждение о готовности. Тем временем пользователь вводит этот же ключ в свой терминал. Если ключи совпадают, то сеанс связи продолжается.
6. Если пароль пользователя не может быть сохранен в тайне, он должен быть только однократным.
В этом случае пользователь ведет список паролей, вычеркивая из него уже использованные. В других случаях применяется контроль срока действия или общего числа применений конкретного пароля.
7. Список паролей пользователей в системе должен быть надежно защищен. Например, все оригиналы паролей при вводе подвергаются преобразованию Н.
Таким образом, в системе хранится список не оригиналов, а отображений паролей пользователей.
Преобразование Н должно быть плохо обращаемым, т.е. возможность найти значение пароля по его отображению должна быть минимальной. Пользователь, обращаясь к системе, предъявляет свой пароль, который преобразуется и сверяется со списком отображении.
Совпадение свидетельствует о законности обращения пользователя. Засекреченным должен быть только пароль, а список отображений может и не быть засекреченным, поскольку практически невозможно получить пароль по его отображению.
8. Набор данных может быть защищен установлением для него списка пользователей, имеющих право доступа к этому набору.
9. Кроме списка пользователей можно указывать и типы доступа (чтение, запись, редактирование), которые разрешены конкретному пользователю в отношении этого набора данных.
10. Если набор состоит из неоднородных (в смысле защиты) данных, то для каждого типа данных устанавливается список пользователей и указывается, какие виды доступа разрешены каждому пользователю.
В процессе разработки системы в первую очередь должны быть определены требования к защите информации.
Они заключаются в том, что всю информацию по ее смысловому содержанию делят на группы различного уровня защиты, доступные: всем пользователям для чтения и обновления; всем для чтения и определенным категориям пользователей для обновления; определенным группам пользователей только для чтения и другим для чтения и обновления; определенным группам пользователей только для чтения и в индивидуальном порядке для чтения и обновления; в индивидуальном порядке для чтения и обновления. Отнесение информации к той или иной группе секретности определяется тем, какой ущерб может быть нанесен системе при ее несанкционированном использовании.
Во всех случаях введения тех или иных методов защиты должны быть разработаны организационные меры, предусматривающие функционирование защиты, в частности хранение и смену паролей. С одной стороны, должна быть обеспечена "защита защиты" – например, невозможность кому-либо узнать пароль пользователя, в том числе сотрудникам ВЦ и эксплуатационному персоналу АСУ.
С другой стороны, надо помнить о возможности такой ситуации, когда пользователь забыл или утерял свой пароль. В первом случае надо предусмотреть процедуру восстановления права пользователя на доступ к данным по старому или новому паролю. Во втором случае надо надежно "закрыть" данные, чтобы ими не могло воспользоваться лицо, нашедшее пароль.
Для маскировки наличия защиты может использоваться метод правдоподобных ответов. Он заключается в том, что лицу, обратившемуся с запросом к неразрешенным для него сведениям, выдается ответ, внешне совпадающий с запрашиваемым, но содержание заполняется случайным образом.
Этот метод достаточно эффективен, так как не провоцирует на новые попытки "взлома" защиты. Недостаток метода заключается в том, что лица, имеющие право доступа, но обращающиеся с паролями небрежно, могут получить неверные сведения и, не подозревая об этом, использовать их в своей деятельности.
Обычно эффективными являются "открытые" методы защиты, когда сам метод не представляет секрета, но воспользоваться им постороннему лицу невозможно.
Задачи синтеза систем защиты состоят в выборе совокупности методов защиты, обеспечивающей экстремальное значение определенной характеристики системы защиты при ограничениях на ряд других характеристик.
В постановках задач синтеза систем защиты в качестве ограничивающих факторов и показателей эффективности защиты выступают стоимостные и временные затраты на разработку и эксплуатацию методов защиты, потери от "взлома" системы защиты, вероятность и среднее время несанкционированного доступа к объектам защиты.
Исходной информацией для постановки и решения задач синтеза являются следующие данные:
W - множество объектов защиты;
LW – число структурных уровней защиты, которое необходимо последовательно преодолеть при доступе к объекту w;
характеристики k-го метода зашиты, 1 ≤ k ≤ kl, использование которого возможно на l-м структурном уровне, т.е. qkl(w) – вероятность "взлома" (преодоления) l-го структурного уровня защиты объекта w при условии "взлома" предшествующих уровней;
и – стоимостные затраты соответственно на разработку и эксплуатацию;
и - временные затраты соответственно на разработку и эксплуатацию;
dkl(w) – потери в системе, вызванные преодолением ограничений рассматриваемого метода защиты;
tkl(w) - время одной попытки несанкционированного доступа.
Переменные: xkl(w) = 1, если k-й метод зашиты, относящийся к l-му уровню, закреплен за объектом w и xkl(w) = 0, в противном случае , 1 ≤ l ≤ LW, 1 ≤ k ≤ kl.
Задача выбора оптимальной совокупности методов зашиты, обеспечивающей максимальное среднее время несанкционированного доступа, записывается в виде
при ограничениях:
на структуру зашиты
на вероятность несанкционированного доступа по структурным уровням и объектам защиты
где ql(w) - допустимое значение вероятности несанкционированного доступа для l-го уровня и объекта w;
по стоимостным затратам на проектирование и эксплуатацию системы защиты
где СП, СЭ - выделяемые ресурсы на проектирование и эксплуатацию системы защиты;
по временным затратам на проектирование и эксплуатацию системы защиты
где ТП, ТЭ - допустимые временные затраты на проектирование и эксплуатацию
системы защиты;
на потери от "взлома" защиты
где D - допустимые суммарные потери от "взлома" зашиты.
Решение рассмотренной задачи линейного целочисленного программирования с булевыми переменными осуществляется методом "ветвей и границ" с использованием стандартных программных средств. Для сокращения размерности решаемой задачи целесообразно выделять подмножества идентичных (в смысле зашиты) объектов и производить выбор методов защиты для "представителей" этих подмножеств.
Синтез динамических систем защиты осуществляется аналогично.