27. Основные механизмы безопасности средств и методы аутентификации в ОС, модели разграничения доступа, организация и использование средств аудита.
Основные механизмы безопасности подсистемы защиты операционной системы:
1. Разграничения доступа. Каждый пользователь системы имеет доступ только к тем объектам операционной системы, к которым ему предоставлен доступ в соответствии с текущей политикой безопасности.
2. Идентификации и аутентификации. Ни один пользователь не может начать работу с операционной системой, не идентифицировав себя и не предоставив системе аутентифицирующую информацию, подтверждающую, что пользователь действительно является тем, за кого он себя выдает.
3. Аудита. Операционная система регистрирует в специальном журнале события, потенциально опасные для поддержания безопасности системы. Записи об этих событиях могут просматривать в дальнейшем только администраторы операционной системы.
4. Управления политикой безопасности. Политика безопасности должна постоянно поддерживаться в адекватном состоянии, т.е. должна гибко реагировать на изменения условий функционирования операционной системы, требований к защите информации, хранимой и обрабатываемой в системе, и т.д. Управление политикой безопасности осуществляется администраторами системы с использованием соответствующих средств, встроенных в операционную систему.
5. Криптографический. В настоящее время защита информации немыслима без использования криптографических средств защиты. В операционных системах шифрование используется при хранении и передаче по каналам связи паролей пользователей и некоторых других данных, критичных для безопасности системы.
Методы аутентификации в ОС.
Идентификация субъекта доступа заключается в том, что субъект сообщает операционной системе идентифицирующую информацию о себе (имя, учетный номер и т.д.) и таким образом идентифицирует себя.
Аутентификация субъекта доступа заключается в том, что субъект предоставляет операционной системе помимо идентифицирующей информации еще и аутентифицирующую информацию, подтверждающую, что он действительно является тем субъектом доступа, к которому относится идентифицирующая информация. Пусть, например, пользователь, входя в систему, ввел имя и пароль. В этом случае имя пользователя является идентифицирующей информацией, а известный только ему пароль – аутентифицирующей информацией. Вводя пароль, пользователь подтверждает, что введенное имя принадлежит именно ему.
· аутентификация с помощью пароля;
· аутентификация с помощью внешних носителей ключевой информации;
· аутентификация с помощью биометрических характеристик пользователей.
Аутентификация с помощью пароля
Для идентификации и аутентификации пользователей в подавляющем большинстве операционных систем используются имя и пароль. Для идентификации пользователь должен ввести свое имя, а для аутентификации ввести пароль - текстовую строку, известную только ему. Имя пользователя, как правило, назначается ему администратором системы.
Процедура идентификации и аутентификации с использованием имени и пароля предельно проста. Пользователь вводит с клавиатуры имя и пароль, операционная система ищет в списке пользователей запись, относящуюся к этому пользователю, и сравнивает пароль, хранящийся в списке пользователей, с паролем, введенным пользователем. Если запись, относящаяся к входящему в систему пользователю, присутствует в списке пользователей и содержащийся в этой записи пароль совпадает с введенным, считается, что идентификация и аутентификация прошли успешно. В противном случае пользователь получает отказ в доступе. Если идентификация и аутентификация пользователя происходят в процессе входа пользователя на удаленный сервер, имя и пароль пользователя пересылаются по сети (как правило) в зашифрованном виде.
Для обеспечения надежной защиты операционной системы пароль каждого пользователя должен быть известен только этому пользователю и никому другому, в том числе и администраторам системы.
Пароли пользователей не должны храниться в операционной системе в открытом виде.
Обычно для шифрования паролей в списке пользователей используют одну из известных криптографически стойких хеш-функций - легковычислимую функцию f, для которой функция f-1 (возможно, неоднозначная) не может быть вычислена за приемлемое время. В списке пользователей хранится не сам пароль, а образ пароля, являющийся результатом применения к паролю хеш-функции. Однонаправленность хеш-функции не позволяет восстановить пароль по образу пароля, но позволяет, вычислив хеш-функцию, получить образ введенного пользователем пароля и таким образом проверить правильность введенного пароля. В простейшем случае в качестве хеш-функции используется результат шифрования некоторой константы на пароле.
В процедуре генерации образа пароля обязательно должен участвовать маркант - число или строка, генерируемая случайным образом и хранящаяся в открытом виде вместе с образом пароля. Это необходимо для того, чтобы одинаковым паролям соответствовали разные образы. В противном случае злоумышленник может осуществить ряд атак на операционную систему, наиболее опасная из которых заключается в следующем.
Методы подбора паролей
1. Тотальный перебор;
2. Тотальный перебор, оптимизированный по статистике встречаемости символов;
3. Тотальный перебор, оптимизированный с помощью словарей;
4. Подбор пароля с использованием знаний о пользователе;
5. Подбор образа пароля.
Аутентификация с помощью внешних носителей ключевой информации
В этом случае информация, идентифицирующая и аутентифицирующая пользователя, хранится на внешнем носителе информации, который может представлять собой обычную дискету, электронный ключ, пластиковую карту и т.д. При входе в систему пользователь подключает к компьютеру носитель ключевой информации, и операционная система считывает с него идентификатор пользователя и соответствующий ему ключ. При этом идентификатор пользователя используется в качестве имени, а ключ - в качестве пароля.
Поскольку ключ, хранящийся на внешнем носителе, может быть сделан гораздо более длинным, чем пароль, подобрать такой ключ практически невозможно. Однако угроза утери или кражи ключевой информации по-прежнему остается актуальной. Если процедура аутентификации не предусматривает дополнительных мер защиты, любой обладатель носителя ключевой информации, в том числе и злоумышленник, укравший этот носитель у легального пользователя системы, может войти в систему с правами пользователя, которому принадлежит носитель.
Поэтому данный механизм аутентификации используется в совокупности с паролем. При этом пользователь, входя в систему, должен не только "предъявить" компьютеру носитель ключевой информации, но и ввести соответствующий этому носителю пароль. Ключевая информация на носителе информации хранится зашифрованной на этом пароле, что не позволяет случайному обладателю ключа воспользоваться им.
Основной угрозой при использовании описываемого механизма аутентификации является угроза кражи носителя ключевой информации с последующим его копированием и подбором пароля на доступ к ключу. Если этот ключ выбирается случайно и не содержит проверочных полей (контрольных сумм и т.д.), подбор пароля на доступ к ключу вне атакуемой операционной системы невозможен - злоумышленник просто не сможет сформулировать критерий, позволяющий отличать правильно расшифрованный ключ от неправильно расшифрованного и, следовательно, правильный пароль от неправильного.
Аутентификация с помощью биометрических характеристик пользователей.
Каждый человек обладает своим неповторимым набором биометрических характеристик, к которым относятся отпечатки пальцев, рисунок сетчатки, рукописный и клавиатурный почерк и т.д. Эти характеристики могут быть использованы для аутентификации пользователя.
Если аутентификация пользователя осуществляется на основе биометрических характеристик, угрозы кражи и подбора ключевой информации перестают быть актуальными - подделать биометрические характеристики человека, как правило, настолько дорого, что затраты злоумышленника на проникновение в защищенную операционную систему превысят выгоды от такого проникновения. Таким образом, механизм аутентификации пользователя на основе биометрических характеристик создает практически непреодолимую защиту на этапе аутентификации.
Авторизация. Разграничение доступа к объектам ОС
Объектом доступа (или просто объектом) будем называть любой элемент операционной системы, доступ к которому пользователей и других субъектов доступа может быть произвольно ограничен. Ключевым словом в данном определении является слово "произвольно". Если правила, ограничивающие доступ субъектов к некоторому элементу операционной системы, определены жестко и не допускают изменения с течением времени, этот элемент операционной системы мы не будем считать объектом. Другими словами, возможность доступа к объектам операционной системы определяется не только архитектурой операционной системы, но и текущей политикой безопасности.
Методом доступа к объекту называется операция, определенная для некоторого объекта. Например, для файлов могут быть определены методы доступа "чтение", "запись" и "добавление" (дописывание информации в конец файла).
Субъектом доступа (или просто субъектом) будем называть любую сущность, способную инициировать выполнение операций над объектами (обращаться к объектам по некоторым методам доступа). Например, пользователи являются субъектами доступа.
Разграничением доступа субъектов к объектам является совокупность правил, определяющая для каждой тройки субъект-объект-метод, разрешен ли доступ данного субъекта к данному объекту по данному методу.
Модели разграничения доступа
1. Избирательное разграничение доступа. Система правил избирательного или дискреционного разграничения доступа (discretionary access control) формулируется следующим образом.
1. Для любого объекта операционной системы существует владелец.
2. Владелец объекта может произвольно ограничивать доступ других субъектов к данному объекту.
3. Для каждой тройки субъект-объект-метод возможность доступа определена однозначно.
Существует хотя бы один привилегированный пользователь (администратор), имеющий возможность обратиться к любому объекту по любому методу доступа. Это не означает, что этот пользователь может игнорировать разграничение доступа к объектам и поэтому является суперпользователем. Не всегда для реализации возможности доступа к объекту операционной системы администратору достаточно просто обратиться к объекту. Например, в Windows NT администратор для обращения к чужому (принадлежащему другому субъекту) объекту должен вначале объявить себя владельцем этого объекта, использовав привилегию администратора объявлять себя владельцем любого объекта, затем дать себе необходимые права, и только после этого администратор может обратиться к объекту. При этом использование администратором своей привилегии не остается незамеченным для прежнего владельца объекта.
Для определения прав доступа субъектов к объектам при избирательном разграничении доступа используется матрица доступа. Строки этой матрицы представляют собой объекты, столбцы - субъекты (или наоборот). В каждой ячейке матрицы хранится совокупность прав доступа, предоставленных данному субъекту на данный объект.
Поскольку матрица доступа очень велика (типичный объем для современной операционной системы составляет несколько десятков мегабайтов), матрица доступа никогда не хранится в системе в явном виде. Для сокращения объема матрицы доступа используется объединение субъектов доступа в группы. Права, предоставленные группе субъектов для доступа к данному объекту, предоставляются каждому субъекту группы.
При создании нового объекта владелец объекта должен определить права доступа различных субъектов к этому объекту. Если владелец объекта не сделал этого, то либо новому объекту назначаются атрибуты защиты по умолчанию, либо новый объект наследует атрибуты защиты от родительского объекта (каталога, контейнера и т.д.).
Избирательное разграничение доступа является наиболее распространенным механизмом разграничения доступа. Это обусловлено сравнительной простотой реализации избирательного разграничения доступа и сравнительной необременительностью правил избирательного разграничения доступа для пользователей. Вместе с тем защищенность операционной системы, подсистема защиты которой реализует только избирательное разграничение доступа, во многих случаях недостаточна.
2. Изолированная программная среда. Изолированная или замкнутая программная среда представляет собой расширение модели избирательного разграничения доступа. Здесь правила разграничения доступа формулируются следующим образом.
1. Для любого объекта операционной системы существует владелец.
2. Владелец объекта может произвольно ограничивать доступ других субъектов к данному объекту.
3. Для каждой четверки субъект-объект-метод-процесс возможность доступа определена однозначно.
4. Существует хотя бы один привилегированный пользователь (администратор), имеющий возможность обратиться к любому объекту по любому методу.
5. Для каждого субъекта определен список программ, которые этот субъект может запускать.
При использовании изолированной программной среды права субъекта на доступ к объекту определяются не только правами и привилегиями субъекта, но и процессом, с помощью которого субъект обращается к объекту. Можно, например, разрешить обращаться к файлам с расширением .doc только программам Word, Word Viewer и WPview.
Изолированная программная среда существенно повышает защищенность операционной системы от разрушающих программных воздействий, включая программные закладки и компьютерные вирусы. Кроме того, при использовании данной модели повышается защищенность целостности данных, хранящихся в системе. В то же время изолированная программная среда создает определенные сложности в администрировании операционной системы.
Изолированная программная среда не защищает от утечки конфиденциальной информации.
3. Полномочное разграничение доступа без контроля информационных потоков. Полномочное или мандатное разграничение доступа (mandatory access control) обычно применяется в совокупности с избирательным. При этом правила разграничения доступа формулируются следующим образом.
1. Для любого объекта операционной системы существует владелец.
2. Владелец объекта может произвольно ограничивать доступ других субъектов к данному объекту.
3. Для каждой тройки субъект-объект-метод возможность доступа определена однозначно.
4. Существует хотя бы один привилегированный пользователь (администратор), имеющий возможность удалить любой объект.
5. В множестве объектов доступа операционной системы выделяется подмножество объектов полномочного разграничения доступа. Каждый объект полномочного разграничения доступа имеет гриф секретности. Чем выше числовое значение грифа секретности, тем секретнее объект. Нулевое значение грифа секретности означает, что объект несекретен. Если объект не является объектом полномочного разграничения доступа или если объект несекретен, администратор может обратиться к нему по любому методу, как и в предыдущей модели разграничения доступа.
6. Каждый субъект доступа имеет уровень допуска. Чем выше числовое значение уровня допуска, тем больший допуск имеет субъект. Нулевое значение уровня допуска означает, что субъект не имеет допуска. Обычно ненулевое значение допуска назначается только субъектам-пользователям и не назначается субъектам, от имени которых выполняются системные процессы.
7. Если:
• объект является объектом полномочного разграничения доступа,
• гриф секретности объекта строго выше уровня допуска субъекта, обращающегося к нему,
• субъект открывает объект в режиме, допускающем чтение информации,
то доступ субъекта к объекту запрещен независимо от состояния матрицы доступа.
В данной модели администратор не имеет права читать секретную информацию, и, таким образом, его права несколько ограничены по сравнению с предыдущей моделью.
Поскольку данная модель не дает ощутимых преимуществ по сравнению с предыдущей и в то же время существенно сложнее ее в технической реализации, на практике данная модель используется крайне редко.
4. Полномочное разграничение доступа с контролем информационных потоков. Как и в предыдущем случае, мы будем рассматривать данную модель разграничения доступа в совокупности с избирательным разграничением доступа. Правила разграничения доступа в данной модели формулируются следующим образом.
1), 2) аналогичны полномочному разграничению доступа без контроля информационных потоков
3. Для каждой четверки субъект-объект-метод-процесс возможность доступа определена однозначно в каждый момент времени. При изменении состояния процесса со временем возможность предоставления доступа также может измениться, т.е. если в некоторый момент времени к некоторому объекту разрешен доступ некоторого субъекта посредством некоторого процесса, это не означает, что в другой момент времени доступ тоже будет разрешен. Вместе с тем в каждый момент времени возможность доступа определена однозначно - никаких случайных величин здесь нет. Поскольку права процесса на доступ к объекту меняются с течением времени, они должны проверяться не только при открытии объекта, но и перед выполнением над объектом таких операций, как чтение и запись.
4), 5), 6) аналогичны полномочному разграничению доступа без контроля информационных потоков
7. Если:
• объект является объектом полномочного разграничения доступа,
• гриф секретности объекта строго выше уровня допуска субъекта, обращающегося к нему,
• субъект открывает объект в режиме, допускающем чтение информации,
то доступ субъекта к объекту должен быть запрещен независимо от состояния матрицы доступа. Это - так называемое правило NRU (Not Read Up - не читать выше).
8. Каждый процесс операционной системы имеет уровень конфиденциальности, равный максимуму из грифов секретности объектов, открытых процессом на протяжении своего существования. Уровень конфиденциальности фактически представляет собой гриф секретности информации, хранящейся в оперативной памяти процесса.
9. Если:
• объект является объектом полномочного разграничения доступа,
• гриф секретности объекта строго ниже уровня конфиденциальности процесса, обращающегося к нему,
• субъект собирается записывать в объект информацию,
то доступ субъекта к объекту должен быть запрещен независимо от состояния матрицы доступа. Это правило разграничения доступа предотвращает утечку секретной информации. Это - так называемое правило NWD (Not Write Down - не записывать ниже).
10. Понизить гриф секретности объекта полномочного разграничения доступа может только субъект, который:
• имеет доступ к объекту согласно правилу 7;
обладает специальной привилегией, позволяющей ему понижать грифы секретности объектов.
При использовании данной модели разграничения доступа существенно страдает производительность операционной системы, поскольку права доступа к объекту должны проверяться не только при открытии объекта, но и при каждой операции чтения/записи.
|
Свойства модели |
Избирательное разграничение доступа
|
Изолированная программная среда
|
Полномочное разграничение доступа |
|
|
без контроля потоков |
с контролем потоков |
|||
|
Защита от утечки информации |
Отсутствует |
Отсутствует |
Отсутствует |
Имеется |
|
Защищенность от разрушающих воздействий |
Низкая |
Высокая |
Низкая |
Низкая |
|
Сложность реализации |
Низкая |
Средняя |
Средняя |
Высокая |
|
Сложность администрирования |
Низкая |
Средняя |
Низкая |
Высокая |
|
Затраты ресурсов компьютера |
Низкие |
Низкие |
Низкие |
Высокие |
|
Использование программного обеспечения, разработанного для других систем |
Возможно |
Возможно |
Возможно |
Проблематично |
Если для организации чрезвычайно важно обеспечение защищенности системы от несанкционированной утечки информации, без полномочного разграничения доступа с контролем информационных потоков просто не обойтись. В остальных ситуациях применение этой модели нецелесообразно из-за резкого ухудшения эксплуатационных качеств операционной системы. Что касается изолированной программной среды, то ее целесообразно использовать в случаях, когда очень важно обеспечивать целостность программ и данных операционной системы. В остальных ситуациях простое избирательное разграничение доступа наиболее эффективно.
Аудит
Процедура аудита применительно к операционным системам заключается в регистрации в специальном журнале, называемом журналом аудита или журналом безопасности, событий, которые могут представлять опасность для операционной системы. Пользователи системы, обладающие правом чтения этого журнала, называются аудиторами
Подсистема аудита операционной системы должна удовлетворять следующим требованиям:
1. Только сама операционная система может добавлять записи в журнал аудита. Если предоставить это право какому-то физическому пользователю, этот пользователь получит возможность компрометировать других пользователей, добавляя в журнал аудита соответствующие записи.
2. Ни один субъект доступа, в том числе и сама операционная система, не имеет возможности редактировать или удалять отдельные записи в журнале аудита.
3. Только пользователи-аудиторы, обладающие соответствующей привилегией, могут просматривать журнал аудита.
4. Только пользователи-аудиторы могут очищать журнал аудита. После очистки журнала в него автоматически вносится запись о том, что журнал аудита был очищен, с указанием времени очистки журнала и имени пользователя, очистившего журнал. Операционная система должна поддерживать возможность сохранения журнала аудита перед очисткой в другом файле.
5. При переполнении журнала аудита операционная система аварийно завершает работу ("зависает"). После перезагрузки работать с системой могут только аудиторы. Операционная система переходит к обычному режиму работы только после очистки журнала аудита.
Для обеспечения надежной защиты операционной системы в журнале аудита должны обязательно регистрироваться следующие события:
• попытки входа/выхода пользователей из системы;
• попытки изменения списка пользователей;
• попытки изменения политики безопасности, в том числе и политики аудита.
При определении политики аудита (совокупность правил, определяющих то, какие события должны регистрироваться в журнале аудита) не следует ограничиваться регистрацией событий из перечисленных классов. Окончательный выбор того, какие события должны регистрироваться в журнале аудита, а какие не должны, возлагается на аудиторов. При этом политика аудита в значительной мере определяется спецификой информации, хранимой и обрабатываемой в операционной системе, и дать какие-либо рекомендации, не зная этой специфики, невозможно.
При выборе оптимальной политики аудита следует учитывать ожидаемую скорость заполнения журнала аудита. Если политика аудита предусматривает регистрацию слишком большого числа событий, это не только не повышает защищенность операционной системы, но, наоборот, снижает ее. Если новые записи добавляются в журнал аудита слишком часто, аудиторам будет трудно выделить в огромном объеме малоценной информации те события, которые на самом деле представляют угрозу безопасности системы. Кроме того, чем быстрее заполняется журнал аудита, тем чаще его нужно очищать и тем больше вероятность временного выхода из строя операционной системы из-за переполнения журнала аудита.
В некоторых операционных системах подсистема аудита помимо записи информации о зарегистрированных событиях в специальный журнал предусматривает возможность интерактивного оповещения аудиторов об этих событиях. Когда аудитор начинает работу с операционной системой одного из компьютеров сети, операционные системы других компьютеров получают соответствующие сообщения, после чего при каждой регистрации события в журнале аудита одного из компьютеров сети копия информации об этом событии передается на терминал, с которым работает аудитор.