Базовые технологии безопасности ОС

 

3.2.1. Основныесредства защиты, встроенные в ОС

 

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

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

 обеспечение сохранности информации,

 контроль доступа к информации (обеспечение кон­фиденциальности).

Эти вопросы тесно взаимосвязаны и не могут ре­шаться в отдельности. Сохранность информации озна­чает защиту ее от разрушения и сохранение структуры хранимых данных. Система контроля доступа к информации должна обеспечивать надежную идентификацию пользователей и блокировать любые попытки несанкционированно­го чтения и записи данных. В то же время система кон­троля не должна снижать производительность работы информационных систем и сужать круг решаемых за­дач.

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

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

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

Пароли с течением времени становятся извест­ными. Это вынуждает периодически проводить их за­мену. Считается, что в информационных системах с низкими требованиями к обеспечению безопасности пароль должен меняться каждые три месяца, а по мере увеличения значимости вопросов, связанных с несан­кционированным доступом, указанный срок сокраща­ется до шести недель.

Не менее важно и минимально допустимое время между двумя последовательными изменениями паро­лей, поскольку такое изменение – типичное действие в случае получения кем-либо несанкционированного доступа к системе либо ресурсам пользователя.

Одной из распространенных угроз безопасности информационной системы является терминал, остав­ленный пользователем без присмотра во время рабо­ты. В качестве контрмеры можно автоматически бло­кировать доступ либо прерывать сеанс работы в системе спустя некоторое время после прекращения активности пользователя.

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

Особую опасность представляет удаленный вход в систему через телефонную сеть. Поскольку контроли­ровать эту сеть невозможно, то необходима установка дополнительных паролей на последовательные порты.

Разграничение доступа пользователей к ресурсам. Управление доступом может быть достигнуто при ис­пользовании дискреционного или мандатного управле­ния доступом

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

Мандатное управление доступом реализуется на основе результатов сравнения уровня допуска пользователя и степени конфиденциальности информации.

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

 владелец информации;

 заданная группа пользователей;

 все другие авторизованные пользователи.

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

В общем случае существуют следующие права до­ступа:

 доступ по чтению;

 доступ по записи;

 дополнительные права доступа (только модификацию или только добавление);

 доступ для выполнения всех операций.

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

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

Разделяемые файлы позволяют осуществлять па­раллельный доступ к файлу нескольких пользователей одновременно. Блокированный файл будет разрешать доступ к себе только одному пользователю в данный момент. Если файл доступен только по чтению, назна­чение его разделяемым позволяет группе пользовате­лей параллельно читать его.

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

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

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

Указанное обстоятельство заставляет администрато­ра системы контролировать штатные пользовательские командные интерпретаторы. Поскольку большинство пользователей обходится ограниченным набором при­ложений, в ряде случаев можно зафиксировать круг доступных программ, что особенно актуально при про­ведении нормативной политики безопасности. Свобо­да пользователя ограничивается пределами его каталога и возможностью использовать программы только из разрешенных каталогов.

Иногда пользователь вообще не нуждается в непос­редственном взаимодействии с операционной систе­мой, работая постоянно с каким-либо приложением, например клиентом базы данных. В этом случае целе­сообразно использовать возможности разграничения доступа, предоставляемые СУБД.

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

При запуске утилита сначала проводит верифика­цию прав доступа к системным файлам. Затем прове­ряет системные файлы и сравнивает их с описанием в мастер-файле, который содержит установки, соответ­ствующие избранному уровню безопасности. В ходе выполнения задачи для системных файлов проверяют­ся владелец и группа, права доступа, размер и конт­рольная сумма, количество ссылок и время последней модификации.

Результаты выполнения программы записываются в текстовом виде в специальных файлах. Все корректи­ровки, проводимые программой, протоколируются, и систему можно в любой момент вернуть к прежнему состоянию, что страхует администратора от необрати­мых действий.

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

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

Аудит невозможен без идентификации и аутентифи­кации пользователей. С этой целью при входе в систе­му программой аудита пользователю присваивается уникальный идентификатор. Регистрационные действия выполня­ются специализированным аудит-демоном, который проводит запись событий в регистрационный журнал в соответствии с текущей конфигурацией. Аудит-демон стартует в процессе загрузки системы.

Каждое событие принадлежит какому-либо классу аудита. Такое деление упрощает анализ большого ко­личества событий. Принадлежность событий к классам и набор классов могут быть сконфигурированы систем­ным администратором.

Существует около двадцати классов отслеживаемых событий. Каждый класс имеет два имени – полное и сокращенное. Для любого класса устанавливается один из трех флагов аудита: аудит в случае успешного вы­полнения действия, аудит неудачных попыток, безус­ловный аудит.

Сетевые средства защиты. Защита информации на сетевом уровне имеет опреде­ленную специфику. Если на системном уровне проник­нуть в систему можно было лишь в результате раскры­тия пользовательского пароля, то в случае распределенной конфигурации становится возможен перехват пользовательских имени и пароля техничес­кими средствами. Например, стандартный сетевой сер­вис telnet пересылает пользовательское имя и пароль в открытом виде. Это заставляет вновь рассматривать задачу аутентификации пользователей, но уже в рас­пределенном случае, включая и аутентификацию ма­шин-клиентов. Высокая степень защиты достигается путем замены стандартных открытых сервисов на сервисы, шифрующие параметры пользователя/машины-клиента, чтобы даже перехват пакетов не позволял рас­крыть эти данные. Наконец, немаловажное значение имеет аудит событий, происходящих в распределенной информационной среде, поскольку в этих условиях злоумышленник не столь заметен и имеет достаточно времени и ресурсов для выполнения своих задач.

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

 

Ядро безопасности ОС

 

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

Действие в ОС подотчетно, если его можно просле­дить для конкретного пользователя. ЯБ повышает подот­четность путем установления соответствия между всеми входами в систему и реальными пользователями.

Полномочия ядра ассоциируются с процессами. Они позволяют процессу выполнить определенные дей­ствия, если процесс обладает необходимой привилеги­ей.

Полномочия подсистем ассоциируются с пользова­телями. Они позволяют пользователю выполнять опре­деленное действие посредством команд, отнесенных к подсистеме.

Подсистема – набор файлов, устройств и команд, служащих определенной цели. Полномочия ядра зано­сятся в “множество полномочий”, ассоциированное с каждым процессом. Полномочия устанавливаются по умолчанию, пользователь может их и переустановить.

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

ЯБ расширяет стандартный механизм. Существуют определенные правила, ограничивающие допустимые пароли, новые процедуры для генерации и изменения паролей. Расположение и защита определенных частей базы данных паролей изменены. Администратор имеет больший контроль над процессом входа. Этот аспект системы поддерживает отдельный пользователь – ад­министратор опознавания.

Кроме того, ЯБ предоставляет полный “след” дей­ствий – журнал учета. Журнал содержит записи о каждой попытке доступа субъекта к субъекту (успеш­ные и неудачные), о каждом изменении субъекта, объекта, характеристик системы. Подсистема учета уп­равляется специальным администратором учета. Адми­нистратор учета управляет собранной информацией, которая помогает администратору выяснить, что слу­чилось с системой, когда и кто в этом участвовал.

Одна из важных функций ЯБ – локализация потен­циальных проблем, связанных с безопасностью. Огра­ничительный механизм состоит из:

 парольных ограничений;

 ограничений на использование терминалов;

 входных ограничений.

Администратор опознавания может позволять пользователям самостоятельно вводить пароли или ис­пользовать сгенерированные пароли. Пароль может подвергаться проверке на очевидность.

Определяются следующие состояния паролей:

 пароль корректен;

 пароль просрочен (пользователь может войти в си­стему и изменить пароль, если у него есть на это пол­номочие);

 пароль закрыт (пользователь заблокирован, необ­ходима помощь администратора).

Пользователи часто не подчиняются принудитель­ной периодической смене паролей, восстанавливая предыдущее значение. Чтобы препятствовать этому, кроме максимального, устанавливается еще и мини­мальное время действия паролей.

Поддерживается возможность генерировать отчеты о различных аспектах функционирования системы: паро­ли, терминалы, входы.

Ни одна ОС не является абсолютно безопасной. Возможны следующие пути вторжения:

 некто может узнать пароль другого пользователя или получить доступ к терминалу, с которого в систему вошел другой пользователь;

 пользователь с полномочиями злоупотребляет сво­ими привилегиями;

 хорошо осведомленный пользователь получил не­контролируемый доступ непосредственно к компьютеру.

Опасно предоставлять оборудование для открыто­го доступа пользователям. Любые средства защиты си­стемы будут бесполезны, если оборудование, носители сохраненных версий и дистрибутивы не защищены.

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

Сетевые серверы – это ворота, через которые вне­шний мир получает доступ к информации на компьютере. Поэтому ЯБ должно:

 определить, какую информацию/действие запраши­вает клиент;

 решить, имеет ли клиент право на информацию, которую запрашивает сервис;

 передать требуемую информацию/выполнить дей­ствие.

Ошибки в сервере и “черные ходы” могут подверг­нуть опасности защиту всего компьютера, открывая систему любому пользователю в сети, осведомленному об изъяне. Даже относительно безобидная программа может привести к разрушению всей системы.