Защитные механизмы операционных систем. Защита файловой системы. Какими методами обнаруживают полиморфные вирусы

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

Введение в безопасность UNIX

Основы информационной безопасности

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

Политика безопасности

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

Важным элементом политики безопасности является управление доступом: ограничение или исключение несканкционированного доступа к информации и программным средствам. При этом используются два основных понятия: объект и субъект системы. Объектом системы мы будем называть любой её идентифицируемый ресурс (например, файл или устройство). Доступом к объекту системы – некоторую заданную в ней операцию над этим объектом (скажем, чтение или запись). Действительным субъектом системы назовем любую сущность, способную выполнять действия над объектами (имеющую к ним доступ). Действительному субъекту системы соответствует некоторая абстракция, на основании которой принимается решение о предоставлении доступа к объекту или об отказе в доступе. Такая абстракция называется номинальным субъектом . Например, студент МГТУ – действительный субъект, его пропуск в МГТУ – номинальный. Другим примером может служить злоумышленник, прокравшийся в секретную лабораторию с украденной картой доступа – он является действительным субъектом, а карта – номинальным (см. Рисунок 3.1, «Объект и субъект безопасности»).

Рисунок 3.1. Объект и субъект безопасности

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

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

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

Управление доступом

Существует несколько схем управления доступом, называемых моделями доступа . Рассмотрим самые известные из них:

Мандатная модель доступа

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

Списки доступа (Accecc Control Lists, ACL)

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

Произвольное управление доступом

Каждому объекту сопоставляется один субъект – владелец объекта. Владелец может по своему усмотрению давать другим субъектам или отнимать у них права на доступ к объекту. Если объект имеет несколько хозяев, они могут быть объединены общим субъектом – группой. Такая схема позволяет значительно сократить размер таблицы прав субъектов по отношению к объектам. Эта схема также называется субъект-субъектная модель .

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

Аутентификация и авторизация

Статической

вопрос о доступе к объекту решается один раз, когда права задаются или изменяются, при этом пользователю ставится в соответствие некоторый номинальный субъект системы;

динамической

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

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

Концепции безопасности UNIX

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

Пользователи и группы

В UNIX роль номинального субъекта безопасности играет пользователь . Каждому пользователю выдается (обычно – одно) входное имя (login). Каждому входному имени соответствует единственное число, идентификатор пользователя (User IDentifier, UID ). Это число и есть ярлык субъекта, которым система пользуется для определения прав доступа.

Каждый пользователь входит в одну или более групп. Группа – это образование, которое имеет собственный идентификатор группы (Group IDentifier, GID ), объединяет нескольких пользователей системы, а стало быть, соответствует понятию множественный субъект. Значит, GID – это ярлык множественного субъекта, каковых у действительного субъекта может быть более одного. Таким образом, одному UID соответствует список GID.

Роль действительного (работающего с объектами) субъекта играет процесс . Каждый процесс снабжен единственным UID: это идентификатор запустившего процесс пользователя. Любой процесс, порожденный некоторым процессом, наследует его UID. Таким образом, все процессы, запускаемые по желанию пользователя, будут иметь его идентификатор. UID учитываются, например, когда один процесс посылает другому сигнал. В общем случае разрешается посылать сигналы «своим » процессам (тем, что имеют такой же UID).

Права доступа

Роль объекта в UNIX играют многие реальные объекты, в частности представленные в файловой системе: файлы, каталоги, устройства, каналы и т. п.. Каждый файл снабжён UID – идентификатором пользователя-владельца. Вдобавок у файла есть единственный GID, определяющий группу, которой он принадлежит.

На уровне файловой системы в UNIX определяется три вида доступа : чтение (read, r ), запись (write, w ) и использование (execution, x ). Право на чтение из файла дает доступ к содержащейся в нем информации, а право записи – возможность ее изменять. При каждом файле имеется список того, что с ним может делать владелец (если совпадает UID процесса и файла), член группы владельцев (если совпадает GID) и кто угодно (если ничего не совпадает) (см. Рисунок 3.2, «Базовые права доступа в UNIX»). Такой список для каждого объекта системы занимает всего несколько байт.

Рисунок 3.2. Базовые права доступа в UNIX

Флаг использования трактуется по-разному в зависимости от типа файла. В случает простого файла он задаёт возможность исполнения файла, т.е. запуска программы, содержащейся в этом файле. Для директории – это возможность доступа к файлам в этой директории (точнее говоря, к атрибутам этих файлов – имени, правам доступа и т.п..).

Рассмотрим последовательность проверки прав на примере (см. Рисунок 3.3, «Последовательнось проверки прав доступа в UNIX»). Пусть файл имеет следующие атрибуты:

file.txt alice:users rw- r-- ---

Т.е. файл принадлежит пользователю «alice », группе «users » и имеет права на чтение и запись для владельца и только чтение для группы.

Рисунок 3.3. Последовательнось проверки прав доступа в UNIX

Разделяемые каталоги

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

Таким образом, из своего каталога пользователь может удалить любой файл. А если запись в каталог разрешена всем, то любой пользователь сможет удалить в нём любой файл. Для избежания этой проблемы был добавлен ещё один бит в права доступа каталога: бит навязчивости (sticky, t -бит). При его установке пользователь, имеющий доступ на запись в этот каталог, может изменять только собственные файлы.

Подмена идентификатора субъекта

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

Для разрешение подмены идентификатора пользователя применяется бит подмены идентификатора пользователя (set user id, suid-бит, s ). Этот бит применяется совместно с битом исполнения (x ) для обычных файлов. При установке этого бита на исполняемый файл процесс запускается от имени владельца, а не от имени запускаеющего пользователя (см. Рисунок 3.4, «Подмена идентификатора пользователя»).

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

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

Недостатки базовой модели доступа и её расширения

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

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

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

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

Суперпользователь

Пользователь root (он же суперпользователь ) имеет нулевые UID и GID и играет роль доверенного субъекта UNIX . Это значит, что он не подчиняется законам, которые управляют правами доступа, и может по своему усмотрению эти права изменять. Большинство настроек системы доступны для записи только суперпользователю.

Как было сказано ранее (см. раздел «Беглый взгляд на архитектуру UNIX»), в UNIX существует уровень доступа ядра и уровень доступа системы. Суперпользователь работает на уровне доступа ядра, так что является по сути продолжением самой системы.

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

Системное администрирование в UNIX производится от имени пользователя root . При работе от этого имени следует быть очень осторожным: выполнение неверной команды может привести к краху системы и уничтожению информации. Поэтому даже администраторы никогда не работают в сеансе суперпользователя всё время, а переходят в режим суперпользователя только тогда, когда это действительно необходимо (например, с помощью команды su ).

Аутентификация пользователей

В UNIX сеанс работы пользователя начинается с его аутентификации и заканчивается его выходом из системы. При входе в систему выполняется следующая последовательность действий (см. Рисунок 3.5, «Процесс входа в систему»):

  1. процесс getty ожидает реакции пользователя на одной из терминальных линий, в случае активности пользователя выводит приглашение;
  2. после ввода имени пользователя запускается программа login , которая проверяет подлинность пользователя. Стандартным механизмом является проверка пароля , заданного для данного пользователя;
  3. убедившись, что пароль введён правильно, login запускает командный интерпретатор с установленными UID и GID данного пользователя. Таким образом, права доступа любой программы (действительного субъекта), запущенной пользователем в этом сеансе работы, будут определяться правами номинального субъекта UID+GID.

Рисунок 3.5. Процесс входа в систему

При работе по сети роль getty исполняет сетевой демон, например ssh .

В некоторых современных UNIX-системах существуют расширения систем авторизации и аутентификации. Например, в Linux-системах этот механизм называется подключаемые модули аутентификации (Pluggable Authentication Modules, PAM ). Эти средства выходят за рамки данных лекций.

Настройка системы безопасности

База данных пользователей системы

Все данные о пользователях UNIX хранит в файле /etc/passwd в текстовом виде. Каждому пользователю соответствует одна строка, поля которой разделяются двоеточиями:

Входное имя:x:UID:GID:полное имя:домашний каталог:стартовый shell

Пример 3.1. Пример файла /etc/passwd

Root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/false daemon:x:2:2:daemon:/sbin:/bin/false adm:x:3:4:adm:/var/adm:/bin/false ...

Каждый пользователь явно связан с одной из групп – это

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

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

3. Информационная безопасность автоматизированной системы – это состояние автоматизированной системы, при котором она, …
с одной стороны, способна противостоять воздействию внешних и внутренних информационных угроз, а с другой — ее наличие и функционирование не создает информационных угроз для элементов самой системы и внешней среды
с одной стороны, способна противостоять воздействию внешних и внутренних информационных угроз, а с другой – затраты на её функционирование ниже, чем предполагаемый ущерб от утечки защищаемой информации
способна противостоять только информационным угрозам, как внешним так и внутренним
способна противостоять только внешним информационным угрозам

4. Методы повышения достоверности входных данных
Замена процесса ввода значения процессом выбора значения из предлагаемого множества
Отказ от использования данных
Проведение комплекса регламентных работ
Использование вместо ввода значения его считывание с машиночитаемого носителя
Введение избыточности в документ первоисточник
Многократный ввод данных и сличение введенных значений

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

6. Сервисы безопасности:
идентификация и аутентификация
шифрование
инверсия паролей
контроль целостности
регулирование конфликтов
экранирование
обеспечение безопасного восстановления
кэширование записей

7. Под угрозой удаленного администрирования в компьютерной сети понимается угроза …
несанкционированного управления удаленным компьютером
внедрения агрессивного программного кода в рамках активных объектов Web-страниц
перехвата или подмены данных на путях транспортировки
вмешательства в личную жизнь
поставки неприемлемого содержания

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

9. К формам защиты информации не относится…
аналитическая
правовая
организационно-техническая
страховая

10. Наиболее эффективное средство для защиты от сетевых атак
использование сетевых экранов или «firewall»
использование антивирусных программ
посещение только «надёжных» Интернет-узлов
использование только сертифицированных программ-броузеров при доступе к сети Интернет

11. Информация, составляющая государственную тайну не может иметь гриф…
«для служебного пользования»
«секретно»
«совершенно секретно»
«особой важности»

12. Разделы современной кpиптогpафии:
Симметричные криптосистемы
Криптосистемы с открытым ключом
Криптосистемы с дублированием защиты
Системы электронной подписи
Управление паролями
Управление передачей данных
Управление ключами

13. Документ, определивший важнейшие сервисы безопасности и предложивший метод классификации информационных систем по требованиям безопасности
рекомендации X.800
Оранжевая книга
Закону «Об информации, информационных технологиях и о защите информации»

14. Утечка информации – это …
несанкционированный процесс переноса информации от источника к злоумышленнику
процесс раскрытия секретной информации
процесс уничтожения информации
непреднамеренная утрата носителя информации

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

16. Элементы знака охраны авторского права:
буквы С в окружности или круглых скобках
буквы P в окружности или круглых скобках
наименования (имени) правообладателя
наименование охраняемого объекта
года первого выпуска программы

17. Защита информации обеспечивается применением антивирусных средств
да
нет
не всегда

18. Средства защиты объектов файловой системы основаны на…
определении прав пользователя на операции с файлами и каталогами
задании атрибутов файлов и каталогов, независящих от прав пользователей

19. Вид угрозы действия, направленного на несанкционированное использование информационных ресурсов, не оказывающего при этом влияния на её функционирование — … угроза
активная
пассивная

20. Преднамеренная угроза безопасности информации
кража
наводнение
повреждение кабеля, по которому идет передача, в связи с погодными условиями
ошибка разработчика

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

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

Для уничтожения («выкусывания») вируса после его распознавания используются… 1) программы-фаги 2) программы-ревизоры 3) программы-фильтры 4) программы-вакцины Правильный ответ – 1.

Вредоносная программа ________________ проникает в компьютер под видом другой программы (известной и безвредной) и имеет при этом скрытые деструктивные функции. 1) «троянский конь» 2) стэлс-вирус 3) макровирус 4) «компьютерный червь» Правильный ответ – 1.

Суть компрометации информации 1) внесение изменений в базу данных, в результате чего пользователь лишается доступа к информации 2) несанкционированный доступ к передаваемой информации по каналам связи и уничтожения содержания передаваемых сообщений 3) внесение несанкционированных изменений в базу данных, в результате чего потребитель вынужден либо отказаться от неё, либо предпринимать дополнительные усилия для выявления изменений и восстановления истинных сведений Правильный ответ – 3.

Основные угрозы доступности информации 1) непреднамеренные ошибки пользователей 2) злонамеренное изменение данных 3) хакерская атака 4) отказ программного и аппаратно обеспечения 5) разрушение или повреждение помещений 6) перехват данных Правильные ответы – 1,4,5.

Концепция системы защиты от информационного оружия не должна включать... 1) признаки, сигнализирующие о возможном нападении 2) процедуры оценки уровня и особенностей атаки против национальной инфраструктуры в целом и отдельных пользователей 3) средства нанесения контратаки с помощью информационного оружия 4) механизмы защиты пользователей от различных типов и уровней угроз для национальной информационной инфраструктуры Правильный ответ – 3.

Под утечкой информации понимается... 1) несанкционированный процесс переноса информации от источника к злоумышленнику 2) процесс уничтожения информации 3) непреднамеренная утрата носителя информации 4) процесс раскрытия секретной информации Правильный ответ – 1.

При задании электронного пароля необходимо соблюдать ряд мер предосторожности, в частности 1) использовать слова-жаргонизмы, так как их сложнее угадать взломщику 2) обязательно записать пароль, чтобы его не забыть, и хранить запись в надежном месте 3) поменять пароль, если Вы по какой-либо причине сообщили его Вашим родственникам 4) использовать один и тот же пароль для различных целей, например для доступа и к почтовому ящику, и к защищенному диску, чтобы не запутаться Правильный ответ – 3.

Наиболее эффективным средством контроля данных в сети являются... 1) системы архивации 2) антивирусные программы 3) RAID-диски 4) пароли, идентификационные карты и ключи Правильный ответ – 4.

Автоматическое шифрование-расшифрование информации при записи на носители обеспечивает файловая система... 1) DFS 2) FAT-64 3) NTFS 4) FAT-32 Правильный ответ – 3.

Троянской программой является... 1) программа, вредоносное действие которой выражается в удалении и/или модификации системных файлов компьютера 2) программа, заражающая компьютер независимо от действий пользователя 3) программа, проникающая на компьютер пользователя через Интернет 4) вредоносная программа, которая сама не размножается, а выдает себя за что-то полезное, тем самым пытаясь побудить пользователя переписать и установить на свой компьютер программу самостоятельно Правильный ответ – 4.

Причины возникновения ошибок в данных: 1) погрешность измерений 2) ошибка при записи результатов измерений в промежуточный документ 3) неверная интерпретация данных 4) ошибки при переносе данных с промежуточного документа в компьютер 5) использование недопустимых методов анализа данных 6) неустранимые причины природного характера 7) преднамеренное искажение данных 8) ошибки при идентификации объекта или субъекта хозяйственной деятельности Правильные ответы – 1,2,4,7,8.

Под угрозой удаленного администрирования в компьютерной сети понимается угроза... 1) несанкционированного управления удаленным компьютером 2) внедрения агрессивного программного кода в рамках активных объектов Web-страниц 3) перехвата или подмены данных на путях транспортировки 4) вмешательства в личную жизнь 5) вмешательства в личную жизнь 6) поставки неприемлемого содержания Правильный ответ – 1.

Сервисы безопасности: 1) идентификация и аутентификация 2) шифрование 3) инверсия паролей 4) контроль целостности 5) регулирование конфликтов 6) экранирование 7) обеспечение безопасного восстановления 8) кэширование записей Правильные ответы – 1,2,4,6,7.

Принципиальное отличие межсетевых экранов (МЭ) от систем обнаружения атак (СОВ): 1) МЭ были разработаны для активной или пассивной защиты, а СОВ – для активного или пассивного обнаружения 2) МЭ были разработаны для активного или пассивного обнаружения, а СОВ – для активной или пассивной защиты 3) МЭ работают только на сетевом уровне, а СОВ – еще и на физическом Правильный ответ – 1.

Информационная безопасность автоматизированной системы – это состояние автоматизированной системы, при котором она, ... 1) с одной стороны, способна противостоять воздействию внешних и внутренних информационных угроз, а с другой – ее наличие и функционирование не создает информационных угроз для элементов самой системы и внешней среды 2) с одной стороны, способна противостоять воздействию внешних и внутренних информационных угроз, а с другой – затраты на её функционирование ниже, чем предполагаемый ущерб от утечки защищаемой информации 3) способна противостоять только информационным угрозам, как внешним так и внутренним 4) способна противостоять только внешним информационным угрозам Правильный ответ – 1.

В соответствии с нормами российского законодательства защита информации представляет собой принятие правовых, организационных и технических мер, направленных на... 1) обеспечение защиты информации от неправомерного доступа, уничтожения, модифицирования, блокирования, копирования, предоставления, распространения, а также от иных неправомерных действий в отношении такой информации 2) реализацию права на доступ к информации 3) соблюдение норм международного права в сфере информационной безопасности 4) выявление нарушителей и привлечение их к ответственности 5) соблюдение конфиденциальности информации ограниченного доступа 6) разработку методов и усовершенствование средств информационной безопасности Правильные ответы – 1,2,5.

Вид угрозы действия, направленного на несанкционированное использование информационных ресурсов, не оказывающего при этом влияния на её функционирование – ... угроза 1) активная 2) пассивная 3) секретная 4) безразличная Правильный ответ – 2.

Средства защиты объектов файловой системы основаны на… 1) определении прав пользователя на операции с файлами и каталогами 2) задании атрибутов файлов и каталогов, независящих от прав пользователей Правильный ответ – 1.

Элементы знака охраны авторского права: 1) буквы С в окружности или круглых скобках 2) буквы P в окружности или круглых скобках 3) наименования (имени) правообладателя 4) наименование охраняемого объекта 5) года первого выпуска программы Правильные ответы – 1,3,5.

Документ, определивший важнейшие сервисы безопасности и предложивший метод классификации информационных систем по требованиям безопасности 1) рекомендации X.800 2) оранжевая книга 3) закон «Об информации, информационных технологиях и о защите информации» 4) ГОСТ 153.84 Т Правильный ответ – 2.

Разделы современной кpиптогpафии: 1) симметричные криптосистемы 2) криптосистемы с открытым ключом 3) криптосистемы с дублированием защиты 4) управление передачей данных Правильные ответы – 1, 2.

Информация, составляющая государственную тайну не может иметь гриф... 1) «для служебного пользования» 2) «секретно» 3) «совершенно секретно» 4) «особой важности» Правильный ответ – 1.

Наиболее эффективное средство для защиты от сетевых атак 1) использование сетевых экранов (firewall) 2) использование антивирусных программ 3) посещение только «надёжных» интернет-узлов 4) использование только сертифицированных программ-броузеров при доступе к сети Интернет Правильный ответ – 1.

К формам защиты информации не относится... 1) аналитическая 2) правовая 3) организационно-техническая 4) страховая Правильные ответы – 1,4.

Защита файловой системы

Ясно, что наибольшее внимание в проблеме защиты операционной системы должно уделяться защите файловой системы.

Файловая система в UNIX имеет древовидную структуру. Том пря­мого доступа делится на несколько областей:

начальный загрузчик;

суперблок;

область индексных дескрипторов;

область файлов;

область, не используемая для файловой системы (например, область

для выгрузки процессов).

Суперблок состоит из следующих полей:

размер файловой системы;

количество свободных блоков в файловой системе;

заголовок списка свободных блоков, имеющихся в файловой системе;

номер следующего элемента в списке свободных блоков;

размер области индексов;

количество свободных индексов в файловой системе;

список свободных индексов в файловой системе;

следующий свободный индекс в списке свободных индексов;

заблокированные поля для списка свободных блоков и свободных

индексов; « флаг, показывающий, что в суперблок были внесены изменения.

При монтировании (команда mount) файловой системы суперблок записывается в оперативную память и переписывается обратно при раз-монтировании (команда unmount). Для того чтобы обеспечивалась согла­сованность с данными, хранящимися в файловой системе, ядро периоди­чески (через 30 с) переписывает суперблок на диск (системный вызов sync, запускаемый из процесса update в SCO UNIX).

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

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

1. Идентификатор владельца файла и идентификатор группы.

2. Тип файла. Файл может быть файлом обычного типа, каталогом, специальным файлом (соответствующим устройствам ввода-вывода сим­волами или блоками, а также абстрактным файла канала, организующим обслуживание запросов в порядке поступления "первым пришел - первым вышел").

3. Права доступа к файлу. Права доступа к файлу разделены между индивидуальным владельцем, группой пользователей, в которую входит владелец файла, и всеми остальными. Суперпользователь (пользователь с именем root) имеет право доступа ко всем файлам в системе. Каждому классу пользователей выделены определенные права на чтение, запись и выполнение файла, которые устанавливаются индивидуально. Поскольку каталоги как файлы не могут быть исполнены, разрешение на исполнение в данном случае интерпретируется как право производить поиск в каталоге по имени файла, а право записи - как право создавать и уничтожать в нем файлы.

4. Временные сведения, характеризующие работу с файлом: время внесения последних изменений в файл, время последнего обращения к файлу, время внесения последних изменений в индекс.

5. Число указателей индекса, означающее количество имен файлов, ссылающихся на данный файл.

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

7. Размер файла в байтах.

Обратим внимание, что в индексе отсутствует составное имя фай­ла, необходимое для доступа к файлу.

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

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

1. Состояние индекса в памяти, отражающее:

Заблокирован ли индекс;

Ждет ли снятия блокировки с индекса какой-либо процесс;

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

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

Находится ли указатель файла в начале.

2. Логический номер устройства файловой системы, содержащей файл.

3. Номер индекса. Так как индексы на диске хранятся в линейном массиве, ядро идентифицирует номер дискового индекса по его местопо-ложению в массиве. В дисковом индексе это поле не нужно.

4. Указатели других индексов в памяти.

5. Счетчик ссылок, соответствующий количеству активных (откры­тых) экземпляров файла.

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

Каталоги (справочники) являются файлами, из которых строится ие­рархическая структура файловой системы. Они играют важную роль в пре­вращении имени файла в номер индекса. Каталог - это файл, содержи­мым которого является набор записей, состоящих из номера индекса и имени файла, включенного в каталог. Составное имя - это строка симво­лов, завершающаяся пустым символом и разделяемая наклонной чертой (Т) на несколько компонентов. Каждый компонент, кроме последнего, должен быть именем каталога, но последний компонент может быть име­нем файла, не являющегося каталогом. Имя корневого каталога - "/". В ОС UNIX длина каждого компонента определяется 14 символами. Таким обра­зом, вместе с 2 байтами, отводимыми для номера индекса, размер записи каталога составляет, как правило, 16 байт.



Традиционно в файловых системах ОС UNIX за доступ ко всем ти­пам файлов (файлы, справочники и специальные файлы) отвечают 9 бит, которые хранятся в i-узле. Первая группа из 3 бит определяет права дос­тупа к файлу для его владельца, вторая - для членов группы владельца, третья - для всех остальных пользователей.

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

Такая система защиты файлов существует достаточно давно и не вызывает нареканий. Действительно, для того чтобы вручную, т.е. не ис-

пользуя системные вызовы и команды, изменить права доступа к файлу, следует иметь доступ к области i-узлов. Для того чтобы иметь доступ к об­ласти i-узлов, следует изменить права доступа специального файла (на­пример, /dev/root), биты доступа которого также хранятся в области i-узлов. Иными словами, если случайно или умышленно не испортить права досту­па ко всем файлам системы, установленные по умолчанию (обычно пра­вильно) при инсталляции, то можно с большой степенью вероятности га­рантировать безопасность работы системы.

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

В любой системе UNIX таких команд очень много. Тривиальный пример использования незарегистрированного файла с установленным битом setuid заключается в следующем:

Один раз, узнав пароль какого-либо пользователя, злоумышленник со­здает копию командного интерпретатора в своем домашнем справочнике или еще где-нибудь, чтобы его не узнали, например в глубоком дереве в /usr/tmp (заметим, что рекурсивная работа с деревом весьма ограничена по глубине, которая для SCO UNIX равна примерно 15);

Делает владельцем файла другого пользователя и его правами устанавливает бит setuid;

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

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

Если четвертый бит установлен в группе бит прав доступа членов группы (setgid), то данная программа выполняется для любого пользова­теля с правами членов группы этого файла.

Бит setgid в системах UNIX используется гораздо реже, чем бит setuid, однако все сказанное относительно возможных угроз при установке бита setuid справедливо для бита setgid. Если бит setgid установлен для справочника, то это означает, что для всех файлов, создаваемых пользо­вателем в этом справочнике, групповой идентификатор будет установлен таким же, как у справочника.

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

Это необходимо прежде всего для справочников /tmp и /usr/tmp, чтобы один пользователь случайно или специально не смог повредить ра­боте другого пользователя. Следует напомнить, что самой распространен­ной ошибкой администратора является установка в переменную окруже­ния PATH значения текущего справочника, что делается для удобства, чтобы не набирать перед каждой командой текущего справочника символы ".Г. Хуже всего, если это значение установлено в начале. Например, PATH=.:/bin:/usr/bin:/etc. В этом случае достаточно злоумышленнику по­местить в справочник /tmp или /usr/tmp собственные образы наиболее рас­пространенных команд (Is, ps и т.п.) - и последствия набора безобидной последовательности команд (например, cd /tmp; Is) будут трудно предска­зуемы. Обычно по умолчанию в переменной окружения PATH текущий справочник не установлен. Аналогично плохо для системы могут закон­читься попытки запуска неизвестных пользовательских программ из их до­машних или общих справочников.

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

Важной особенностью реализации системы защиты информации является очистка битов setuid, setgid и sticky для файлов, в которые производится запись. При этом очистка битов делается даже для файлов, если в них произведена запись владельца. Очистка перечисленных битов для справочников не производится.

Некоторые системы UNIX (например, Solaris) предоставляют допол­нительные возможности по управлению правами доступа к файлам путем использования списков управления доступом (Access Control List). Данный механизм позволяет для каждого пользователя или для отдельной группы установить индивидуальные права доступа к заданному файлу. При этом списки доступа сохраняются всеми системными средствами копирования и архивирования. Нельзя сказать, что введение этого механизма принципи­ально улучшает защиту файлов. Тем не менее он вносит некоторую гиб­кость в процедуру формирования прав доступа к файлам.

Отдельно следует рассмотреть значение системной переменной umask. С ее помощью устанавливаются по умолчанию права доступа к файлу при его создании. Значение переменной umask устанавливает, ка­кие биты будут маскироваться. Например, в SCO UNIX значение перемен­ной umask по умолчанию установлено 022. Это означает, что для любого созданного файла по умолчанию будут установлены права доступа "rwxr-xr-х". Если значение переменной umask по каким-либо причинам будет изменено, то это может привести к непредсказуемым последствиям. В си­лу этого каждому пользователю необходимо явным образом прописать значение переменной umask в стартовом файле (.profile или.cshrc или т.п.).

В данном пособии не рассматриваются возможности закрытия фай­лов командой crypt, реализующей Data Encryption Standard (DES), по­скольку данная системная команда в Россию не поставляется.

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

Следует обратить внимание на обеспечение режима защиты ин­формации при импортировании данных из других систем. В самом общем случае архивные программы сбрасывают режимы доступа к файлам, кото­рые могут повлиять на безопасность системы. Тем не менее количество версий архивных программ и их реализаций в различных системах UNIX весьма значительно. Так, ряд версий команды tar поддерживает опции, при которых не изменяется принадлежность файла владельцу и группе. Некоторые системы UNIX позволяют копировать специальные файлы с помощью команды tar, а некоторые не позволяют. С особым вниманием следует пользоваться командой cpio, поскольку с ее помощью можно сде­лать копии файлов, сохраняя все биты (setuid, setgid и sticky) и права доступа к файлам.

При монтировании файловых систем, созданных или обрабатывав­шихся на других системах, могут возникнуть те же проблемы, что и для импортированных файлов. Для файловых систем имеются еще и дополни­тельные проблемы. Первая из них - файловая система, перенесенная с другой системы, может быть испорчена. Попутно заметим, что логические ошибки в файловой системе могут быть исправлены командой fsck перед монтированием. Гораздо хуже ОС UNIX относится к физическим сбоям на дисках. В обоих случаях монтирование дефектной файловой системы мо­жет привести систему к фатальному сбою, вызвать дальнейшее повреж­дение данных в импортированной файловой системе или повреждение других файловых систем из-за побочных эффектов.

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

Контроль целостности системы

Известно, что стоимость восстановления системы выше стоимости ее сопровождения. В задачи сопровождения ОС входит, в частности, кон­троль целостности системы. В ОС UNIX контроль целостности системы выполняется рядом команд. Например, для контроля и поддержки целостности SCO UNIX основной перечень команд системы следующий: integrity, authck, fixmog, cps, tcbck, smmck, authckrc, fsck. Практика показывает, что данный набор команд является достаточно полным.

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

Проверка файловой системы;

Составление контрольного отчета;

Проверка базы данных аутентификации;

Проверка разрешений для системных файлов.

Следует отметить, что системные средства восстановления це­лостности системы работают до определенного предела. Авторами был проведен следующий эксперимент для SCO UNIX Release 5.0:

Всем файлам системы был назначен владелец root;

У всех файлов системы были установлены права доступа со значением по умолчанию системной переменной umask.

В результате этих действий системными средствами не удалось восстановить нормальные права доступа и владельцев файлов. Такой эксперимент имеет жизненную основу, например размножение системы на другие компьютеры по сети. Поэтому единственным способом дублирова­ния системы на другие компьютеры следует считать использование ко­манды cpio. Также следует отметить, что в SCO Release 3.2 и Release 5.0 права доступа и владельцы некоторых файлов по умолчанию не соот­ветствуют базе данных контроля целостности системы. Авторами не ис­следовались вопросы влияния этих несоответствий на безопасность и це­лостность работы системы.

3. Средства аудита

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

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

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

Использования механизма идентификации и аутентификации;

Внесения объектов в адресное пространство пользователя (например, открытие файла);

Удаления объектов;

Действий администраторов;

Других событий, затрагивающих информационную безопасность.

Каждая регистрационная запись должна включать следующие поля:

Дата и время события;

Идентификатор пользователя;

Тип события;

Результат действия.

Для событий идентификации и аутентификации регистрируется так­же идентификатор устройства. Для действий с объектами регистрируются имена объектов.

Типы контролируемых событий, поддерживаемые в SCO Release 5.0, приведены в табл. 1.

Система контроля использует системные вызовы и утилиты для классификации действий пользователей, подразделяя их на события раз­личного типа. Например, при возникновении события типа "DAC Denials" (отказ доступа при реализации механизма избирательного разграничения доступа) регистрируются попытки такого использования объекта, которые не допускаются разрешениями для этого объекта. Иными словами, если пользовательский процесс пытается писать в файл с доступом "только для чтения", то возникает событие типа "DAC Denials". Если просмотреть кон­трольный журнал, то легко можно увидеть повторяющиеся попытки досту­па к файлам, на которые не получены разрешения.

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

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

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

Таблица 1

Тип Содержание
1. Startup/Shutdown
2. Login/Logout Успешный вход и выход из системы
3. Process Create/Delete Создание/уничтожение процесса
4. Make Object Available Сделать объект доступным (открыть файл, открыть сообщения, открыть семафор, монтировать файло­вую систему и т.п.)
5. Map Object to Subject Отобразить объект в субъект (выполнение про­граммы)
6. Object Modification Модификация объекта (запись в файл и т.п.)
7. Make Object Unavailable Сделать объект недоступным (закрыть файл, за­крыть сообщение, закрыть семафор, размонти­ровать файловую систему и т.п.)
8. Object Creation Создание объекта (создание фай­ла/сообщения/семафора и т.п.)
9. Object Deletion Удаление объекта (удаление фай­ла/сообщения/семафора и т.п.)
10. DAC Changes Изменение разграничения доступа (изменение дос­тупа к файлу, сообщению, семафору, изменение владельца и т.п.)
11. DAC Denials Отказ доступа (отсутствие прав доступа к какому-либо объекту)
12. Admin/Operator Actions Действия (команды) системных администраторов и операторов
13. Insufficient Authorization Процессы, которые пытаются превысить свои пол­номочия
14. Resource Denials Отказы в ресурсах (отсутствие необходимых фай­лов, превышение размеров памяти и т.п.)
15. IPC Functions Посыпка сигналов и сообщений процессам
16. Process Modifications Модификации процесса (изменение эффективного идентификатора процесса, текущего справочника процесса и т.п.)
17. Audit Subsystem Events События системы контроля (разреше­ние/запрещение системного контроля и модифика­ция событий контроля)
18. Database Events События базы данных (изменение данных безопас­ности системы и их целостности)
19. Subsystem Events События подсистемы (использование защищенных подсистем)
20. Use of Authorization Использование привилегий (контроль действий с использованием различных привилегий)

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

Например, системный вызов open классифицируется как событие "Сделать объект доступным". Если пользователь выполняет системный вызов open для файла /unix и данный системный вызов завершается ус пешно, то генерируется контрольная запись об этом событии. Однако если системный вызов open заканчивается неудачно в силу того, что пользова­тель запросил в системном вызове доступ на запись файла /unix, не имея разрешения, то это действие классифицируется как событие "Отказ досту­па" для данного пользователя и объекта /unix. Следовательно, системный вызов можно отобразить в несколько типов событий, в зависимости от объекта, к которому осуществляется доступ, и (или) результата вызова.

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

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