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

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

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




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

Административные ресурсы

По умолчанию Windows NT автоматически создает один скрытый ресурс для каждого диска, установленного на компьютере. То есть, если имеются диски C, D, и E, то соответственно им создаются скрытые ресурсы с именами C$, D$, и E$. Имеется также скрытый ресурс ADMIN$, который указывает непосредственно на системный каталог, куда была установлена операционная система. Как и рассмотренный ранее канал межпроцессной связи, скрытые административные ресурсы не отображаются в списке доступных ресурсов компьютера, но к ним можно подключиться, указав их полный сетевой путь и имя. При этом для подключения к ADMIN$ необходимо знать пароль администратора, а использовать диски может практически любой зарегистрированный в системе пользователь.

Направления атак и типовые iенарии их осуществления

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

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

получить доступ к ресурсам вашей системы, таким как процессорное время и дисковое пространство.

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

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

В ОС МСВС различают два вида пользователей - обычный пользователь, имеющий права на доступ в рамках своего идентификатора (UID, user id) и членства в группе (GID, group ID), а также так называемый суперпользователь (root). Можно выделить среди обычных пользователей так называемых специальных пользователей. Они обычно имеют зарезервированные имена, например: guest, bin, ftp, uucp и т.п. и номера UID и GID. Хотя нет никакого особого механизма в защите МСВС, отличающего специального пользователя от обычного можно сказать, что первые имеют еще меньшие права, чем вторые.

Итак, условно иерархию пользователей на UNIX-машине можно представить как:

Суперпользователь - неограниченные права.

Обычный пользователь - права, ограниченные ему суперпользователем.

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

Псевдопользователь - нет никаких прав, он вообще не идентифицируется системой.

Очевидно, что любой пользователь всегда имеет привилегии уровня 3 на вашей машине, а также, если поддерживается соответствующий сервис, привилегии уровня 2.

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

получить сразу требуемые привилегии,

постепенно наращивать привилегии.

Рассмотрим далее типовые iенарии и средства, делающие их возможными в ОС МСВС.

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

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

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

Своей осуществимостью атаки данного рода обязаны недостатку безопасности UNIX - подобных систем - механизму SUID/SGID-процессов. Злоумышленник, найдя ошибку в одной из программ, обладающей атрибутом SUID root, может от её (т. е. суперпользователя) имени произвести некоторые действия. Стандартным приемом iитается копирование файла с командным интерпретатором и установка на него атрибута SUID root. Таким образом, злоумышленник имеет под рукой стандартную программу bаsh, но все команды в ней он исполняет от имени суперпользователя. Ошибки в SUID/SGID-программах находятся регулярно. Следуя одной из основных аксиом программирования, можно сделать выв