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

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

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




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

Принципы организации многопользовательского режима

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

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

2.2 Основные принципы защиты ОС МСВС

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

Идентификаторы пользователя и группы пользователей

С каждым выполняемым процессом в ОС МСВС связываются реальный идентификатор пользователя (real user ID), действующий идентификатор пользователя (effective user ID) и сохраненный идентификатор пользователя (saved user ID). Все эти идентификаторы устанавливаются с помощью системного вызова setuid, который можно выполнять только в режиме суперпользователя. Аналогично, с каждым процессом связываются три идентификатора группы пользователей - real group ID, effective group ID и saved group ID. Эти идентификаторы устанавливаются привилегированным системным вызовом setgid.

При входе пользователя в систему программа login проверяет, что пользователь зарегистрирован в системе и знает правильный пароль (если он установлен), образует новый процесс и запускает в нем требуемый для данного пользователя shell. Но перед этим login устанавливает для вновь созданного процесса идентификаторы пользователя и группы, используя для этого информацию, хранящуюся в файлах /etc/passwd и /etc/group. После того, как с процессом связаны идентификаторы пользователя и группы, для этого процесса начинают действовать ограничения для доступа к файлам. Процесс может получить доступ к файлу или выполнить его (если файл содержит выполняемую программу) только в том случае, если хранящиеся при файле ограничения доступа позволяют это сделать. Связанные с процессом идентификаторы передаются создаваемым им процессам, распространяя на них те же ограничения.

Авторизация доступа

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

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

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

Группы пользователей в ОС МСВС

"Доступ" означает не только возможность читать или изменять содержимое отдельных файлов. Это ещё и возможность создавать файлы и/или директории, удалять их, запускать файлы, если они являются исполняемыми, переименовывать их, а также менять все те атрибуты, которые и определяют право доступа.

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

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

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

И, наконец, в-третьих, в некоторых случаях очень поле?/p>