Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
16.04.2015
Размер:
1.21 Mб
Скачать

кто подключается к системе как пользователь root. Для получения прав суперпользователя в таком случае злоумышленнику необходимо знать два пароля, что также повышает защищенность системы UNIX.

1.3.2. БЕЗОПАСНОСТЬ ФАЙЛОВОЙ СИСТЕМЫ ОСUNIX

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

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

Набор атрибутов элементов файловой системы ОС семейства UNIX определяет права доступа пользователей к файлам и позволяет решить задачу по разграничению доступа пользователей ко всем ресурсам системы. Целостность данных обеспечивается проверкой и изменением прав доступа к ресурсам. Защищая свои ресурсы путем определения необходимых прав доступа пользователь предотвращает неавторизованный доступ к ним. В ОС UNIX выделяют три класса пользователей по отношению к какомулибо ресурсу:

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

члены группы ресурса - владелец ресурса и суперпользователь могут наделить группу пользователей специальными правами. Эта группа ставится в соответствие ресурсу. Она определяется как "группа ресурса".

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

Каждому из трех классов пользователей ресурса независимо назначены права

доступа к ресурсу: право доступа к ресурсу для чтения, для записи и для его исполнения (использования).

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

файловой системы, содержатся в одном из полей индексных узлов. 61

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

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

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

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

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

62

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

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

Предоставление ресурсов системы UNIX через сеть с помощью файловой системы NFS (Network File System) обеспечивает возможность работы с удаленной файловой системой как частью локальной, что непосредственно затрагивает систему безопасности. При таком взаимодействии со стороны сервера отсутствует возможность контроля неизменности среды на клиенте NFS. С точки зрения сервера NFS между запросом на считывание ресурса и запросом на выполнение ресурса не существует разницы. Для исполнения ресурса сервером NFS ресурс должен быть передан клиенту NFS. Поэтому для защиты от несанкционированного доступа серверы NFS позволяют считывать ресурс, когда одновременно установлены права

для чтения и исполнения ресурса.

Из-за особой функции каталогов в файловой системе UNIX права доступа к каталогам интерпретируются особым образом.

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

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

63

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

Возможность добавлять, переименовывать или удалять вложенные элементы каталога дают права доступа к каталогу для записи.

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

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

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

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

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

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

64

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

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

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

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

1.3.3.МЕХАНИЗМЫ ВЗАИМОДЕЙСТВИЯ ПОЛЬЗОВАТЕЛЯ С РЕСУРСАМИ

1.3.3.1.Специальные атрибуты доступа

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

65

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

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

Значение эффективного пользовательского или группового идентификатора SUIDпрограммы при запуске изменяется на UID или GID владельца программы. Новый идентификатор заменяет идентификатор пользователя, запустившего приложениепосредник. В атрибутах описания прав доступа к ресурсам есть поля, отвечающие за установку специальных режимов исполнения программы, которые ранее нами не рассматривались. Эти битовые поля прав доступа отвечают за возможность запуска процесса в режиме SUID и SGID.

Атрибуты SUID или SGID отображаются строкой прав доступа, в которых знак права исполнения "х" в поле прав доступа пользователя или группы соответственно заменен на символ "s". В случае, когда бит права исполнения не установлен, а ресурс имеет атрибут SUID или SGID, символ "s" в соответствующем классе поля прав пользователей заменяется на прописную букву "S". В некоторых ОС семейства UNIX атрибуты SUID или SGID не устанавливаются, если отсутствует флаг возможности исполнения ресурса для владельца или группы соответственно.

В таблице ниже представлены описания действия специальных атрибутов доступа (SUID, SGID) при их установке для исполняемых файлов.

66

Атрибут
доступа
SUID
SGID

Таблица 16 Специальные атрибуты доступа к исполняемым файлам

Действие атрибута

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

Значение эффективного группового идентификатора процесса с атрибутом SGID при исполнении будет установлено равным значению группового идентификатора данного файла. Программа получит доступ к ресурсам системы с правами пользователей группы файла.

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

Существует дополнительный атрибут, определяющий права доступа в UNIX. Его называют битом фиксации {Sticky) и обозначают символом "t" в поле прав на исполнение ресурса для пользователей, не вошедших в классы владельцев или членов группы ресурса. Как и для SUID- или SGID-ресурсов, при сброшенном бите права на выполнение файла для соответствующей категории пользователей, этот атрибут отображают прописным символом "T". В современных системах атрибут доступа Sticky устанавливают для каталогов и используют для организации специальных правил доступа к элементам каталога. При установленном для каталога атрибуте ресурсы каталога могут быть удалены или переименованы только владельцем ресурса, владельцем каталога или суперпользователем. Например, при установленном атрибуте фиксации у каталога /tmp и разрешении доступа к каталогу для всех классов пользователей для чтения, записи и исполнения любой пользователь может создать или удалить свой собственный файл, но не может удалить файлы других пользователей.

Атрибут SGID был создан для указания некоторых специальных способов выполнения программ. В Berkeley UNIX, SunOS, Solaris и других операционных системах семейства UNIX атрибут SGID используются также для организации специальных правил доступа к каталогам. Ниже приведено описание действия атрибутов доступа SQID и бита фиксации Sticky, установленных для каталогов, при организации доступа к элементам таких каталогов.

Таблица 9.2.

67

 

Таблица 17

 

Специальные атрибуты доступа к каталогам

 

 

Атрибут

Действие атрибута

доступа

 

SGID

Атрибут SGID для каталога определяет, каким образом будут присваиваться

 

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

 

Когда атрибут доступа SGID каталога установлен, создаваемым файлам

 

будет присваиваться значение GID каталога, если процесс имеет такое же

 

значение идентификатора группы. В противном случае значению GID файла

 

будет присвоено значение из поля эффективного идентификатора группы

 

процесса.

Sticky

При установке бита фиксации Sticky для каталога, файлы каталога могут

 

быть удалены или переименованы только владельцем файла, владельцем

 

каталога или суперпользователем, даже если режим доступа к каталогу

 

позволяет это сделать другим пользователям системы. В некоторых системах

 

пользователь, имеющий доступ к файлу по записи, может его удалить.

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

1.3.3.2.Изменение прав доступа к ресурсам системы

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

В простейшей форме команда chmod указывает какие права доступа к файлу и для какой категории пользователей необходимо изменить. Этот режим называют символьным (symbolic mode).

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

Таблица 18

68

Атрибуты прав доступа к ресурсу и их представление в восьмеричном виде

8-ричное число

Атрибут прав доступа

40008

SUID

20008

SGID

l0008

Sticky

04008

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

02008

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

01008

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

00408

Право доступа для чтения членам группы

00208

Право доступа для записи членам группы

00108

Право доступа для исполнения членам группы

00048

Право доступа для чтения пользователям, не вошедшим в класс

 

владельцев файла и членов группы

00028

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

 

владельцев файла и членов группы

00018

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

 

владельцев файла и членов группы

Путем сложения весов различных прав доступа можно получить любой режим доступа к файлу. Например программа passwd с правами доступа "rws- - х- -х" в восьмеричной системе счисления имеет режим доступа

(40008+04008+02008+01008+00108+00018) = 47118: 40008 Атрибут SUID

04008 Чтение для владельца

02008 Запись для владельца

+01008 Исполнение для владельца

00108 Исполнение для членов группы

00018 Исполнение для остальных пользователей

47118 r w s- - x - -

1.3.4. ПОДСИСТЕМА РЕГИСТРАЦИИ И УЧЕТА

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

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

иотключение пользователей, работа системы электронной почты, передача файлов через

69

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

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

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

Большинство файлов журналов регистрации событий представляют собой текстовые файлы, каждая строка которых относится к какому-либо запротоколированному событию. Строки событий добавляются в файлы журналов либо непосредственно системными приложениями, либо при помощи унифицированной подсистемы ведения журналов syslog. Различные реализации ОС семейства UNIX хранят файлы журналов в различных каталогах. Наиболее часто используются каталоги:

/var/adm современные реализации UNIX;

/var/log некоторые версии Solaris, Linux, BSD и других;

/usr/adm ранние реализации UNIX;

70

Соседние файлы в папке Тестирование