этапы допуска в компьютерную систему. Оглавление введение 2 Основные этапы допуска в компьютерную систему 4
Скачать 279.13 Kb.
|
Программная реализация контроля установленных полномочийПодсистема разграничения доступа на основе того или иного метода должна осуществлять постоянный контроль установленных полномочий при каждом запросе пользователем ресурса КС. Этот контроль выполняется на основе реализации двух базовых этапов: анализ полномочий пользователя, который запросил ресурс; предоставление ресурса или запрет доступа в соответствии с результатами анализа. Возникает вопрос, каким образом передать управление подсистеме разграничения сразу же после выдачи пользователем запроса на доступ к ресурсу КС. Доступ к ресурсам КС со стороны пользователей может выполняться только через компьютерные программы. Доступ к ресурсам из программ реализуется на основе использования функций операционной системы (ОС). Выполнение же самих функций ОС по доступу к ресурсам КС основано на использовании прерываний в работе центрального процессора. Под прерыванием при этом понимается любое событие, происходящее в процессе работы КС, которое требует приостановления текущей выполняемой программы для его обработки компьютерной системой, например, нажатие клавиши на клавиатуре или нажатие кнопки мыши, поступление запроса на ввод или вывод данных и т.д. При возникновении любого прерывания активизируется следующая последовательность действий: выполняемая процессором программа останавливается; осуществляется сохранение информации о текущем состоянии процессора, куда входит и информация о адресе оперативной памяти, по которому находится следующая команда прерванной программы; из таблицы векторов прерываний (таблицы адресов программ обработки прерываний) выбирается адрес программы обработки возникшего прерывания; управление передается программе обработки по выбранному адресу оперативной памяти; после окончания программы обработки прерывания на основе сохраненной ранее информации восстанавливается состояние центрального процессора, которое было в момент возникновения прерывания, и прерванная программа продолжает свое выполнение. Под вектором прерывания понимается совокупность идентификатора типа прерывания, а также соответствующего ему адреса программы его обработки. Таблица же векторов прерываний, хранящаяся в оперативной памяти, представляет собой список однотипных элементов, в качестве каждого из которых выступает вектор прерывания. Для контроля доступа к заданному ресурсу необходимо: определить адрес в таблице векторов прерываний, который соответствует обработчику прерывания, активизируемому ОС для доступа к контролируемому ресурсу; подменить найденный адрес на адрес программы контроля санкционированности доступа; вставить перед окончанием программы контроля команды, которые должны: передать управление стандартному обработчику подмененного прерывания только в том случае, если запрос пользователя на доступ к ресурсу соответствует его полномочиям; в случае несоответствия запроса пользовательским полномочиям активизировать программу реакции на попытку несанкционированного доступа. Подмена адресов векторов прерываний выполняется с помощью специально разработанной программы, запускаемой в процессе загрузки ОС. Перед запуском программы подмены адресов обработчиков прерываний должна быть запущена программа идентификации и аутентификации пользователя. Поэтому, может использоваться вариант, когда управление программе подмены адресов обработчиков передается непосредственно из программы идентификации и аутентификации пользователя. Запуск любой подсистемы защиты (программы идентификации и аутентификации, программы подмены адресов обработчиков прерываний или антивирусной программы) в процессе загрузки ОС может быть выполнен одним из следующих способов: путем использования главного загрузочного сектора винчестера или загрузочного сектора активного раздела жесткого диска; путем указания необходимости запуска соответствующей подсистемы защиты в файлах конфигурирования и настройки ОС, используемых в процессе ее загрузки, например, в файлах CONFIG.SYS, AUTOEXEC.BAT, SYSTEM.INI или в системном реестре ОС Windows. Для запуска подсистемы защиты с использованием главного загрузочного сектора винчестера или загрузочного сектора активного раздела жесткого диска в соответствующую область винчестера записывается загрузчик подсистемы защиты. Загружаемая же с помощью этого загрузчика программа по окончании своей работы, в случае принятия решения о продолжении загрузки ОС, должна выполнить функции подмененного загрузчика или передать ему управление. При указании необходимости запуска соответствующей подсистемы защиты в файлах конфигурирования и настройки ОС следует позаботиться о том, чтобы злоумышленник не смог блокировать загрузку соответствующего программного компонента или, чтобы вероятное блокирование было бесполезным по причине невозможности последующего доступа к защищаемым ресурсам. Если при разработке подсистемы разграничения возникают сложности с программной реализацией функции контроля запуска программ, то следует помнить, что выполнение данной функции можно осуществить и за счет разграничения доступа к элементам файловой структуры. По отношению к конкретному пользователю в этом случае для всех программ, запуск которых ему запрещен, должен устанавливаться режим недоступности соответствующих файлов. Из вышесказанного становится понятным, что для разработки подсистемы разграничения доступа, а также большинства других компонентов системы защиты необходимо детальное знание всех системных соглашений, положенных в основу работы используемой ОС. В ряде случаев эти соглашения могут быть получены только у разработчика операционной системы. |