Анализ операционной системы МСВС на предмет наличия уязвимостей

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование




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

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

Как и индивидуальные пользователи, каждая группа имеет свое имя (Group name) и числовой номер (GroupID). Они однозначно соответствуют друг другу.

Можно сказать, что каждый процесс имеет идентификатор пользователя (UserID). Обычно он совпадает с UserID того пользователя, который запустил этот процесс. Процессы, которые запустились автоматически, тоже имеют UserID, как будто их запустил реальный пользователь. Чей именно UserID получают эти программы обычно определяется теми программами, которые их стартуют (программа-загрузчик, cron, inetd и т.д.). В простейших случаях программы - "потомки" просто наследуют UserID от программы - "родителя", но некоторые "родители" могут запускать программы с другим UserID (не совпадающим с собственным). Некоторые программы в процессе выполнения могут поменять свой UserID и, соответственно, получить права, которые сам пользователь не имел. Для того, чтобы программа могла это сделать, администратор должен "разрешить" ей такое поведение (подробнее об этом будет сказано ниже). Изменение UserIDа делается не только, когда нужно "расширить" права программы, но и наоборот - "сузить" до прав какого-нибудь конкретного пользователя.

Если процесс может изменять свой UserID, то различают реальный UserID и эффективный UserID. Реальный UserID - это идентификатор пользователь, который запустил процесс (или UserID родительского процесса), а эффективный - это новый UserID, который задача получила во время выполнения.

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

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

Файлы и права доступа к ним

Поскольку ОС МСВС - система многопользовательская, в ней предусмотрен механизм, ограничивающий доступ пользователей к файлам и директориям.

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

Владелец файла и группа "допущенных"

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

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

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

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

И, наконец, в атрибутах файла есть набор битов, который и указывает - кто и что может проделать с этим файлом. Этот набор называется permissions, что можно перевести как права доступа.

2.3 Системы защиты ОС МСВС

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

мандатные методы;

ролевые модели.

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

Все вносимые изменения прим?/p>