Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Обычно программу в ОП компьютера загружает загрузчик. Но сам загрузчик также является программой и, следовательно, каким-то образом когда-то чем-то должен загружаться в ОП. Более того, ОС также является лишь программой и, следовательно, тоже каким-то способом должна загружаться в ОП.
Задачу загрузки в ОП загрузчика и всей ОС решает специальный компонент, получивший название раскручивающего загрузчика.
Основная идея раскручивающего загрузчика состоит в том, чтобы минимальной по объёму программой, которую при необходимости и наличии технической возможности можно ввести в ОП вручную, инициировать процесс загрузки ОС, загружая с диска все необходимые программы и данные.
Обычно процесс раскручивающей загрузки состоит из нескольких этапов. Первоначальный раскручивающий загрузчик настолько мал, что выполнить загрузку всей ОС не может. Вместо этого он лишь читает с диска известную ему стандартную запись, помещает её в ОП и передаёт ей управление.
В прочитанной записи находится более сложная программа загрузки, которая уже может запросить оператора о варианте загрузки ОС и устройстве (например, разделе диска), с которого необходимо выполнить загрузку. Она читает начальную запись загрузки с заданного устройства и передаёт ей управление.
В прочитанной записи уже содержится программа загрузчика конкретной ОС. Она находит ядро ОС, загружает его в ОП и передаёт ему управление.
Все описанные выше процессы выполняются с обращением к диску без использования файловых систем — в терминах дорожка, головка, сектор.
Ядро инициализирует необходимые системные таблицы (в том числе таблицы управления ОП), считывает с диска таблицы файловой системы и далее пытается найти (уже как файл) и загрузить предопределённый стартовый процесс, который будет определять далее всё поведение ОС с точки зрения пользователя.
В современных ЭВМ роль раскручивающего загрузчика играет программа, прошитая в ПЗУ. Причём прошита она таким образом, чтобы первая команда, которую будет выбирать процессор после сигнала начальной установки (Reset), оказалась первой командой этой программы. В результате всегда после команды Reset (при включении питания компьютера такая команда генерируется аппаратурой автоматически) начинает выполняться программа раскручивающего загрузчика.
На некоторых ЭВМ принята другая схема. Первой командой, выбираемой процессором из ПЗУ после команды Reset, является команда технологической программы монитора (пульта), предоставляющая пользователю возможность посредством простых команд с клавиатуры выполнять команды прямого управления аппаратурой компьютера: записать/считать данные указанной ячейки памяти, провести тест заданного устройства и т. п. Для инициализации раскручивающего загрузчика пользователь должен подать с клавиатуры специальную команду монитора, либо вручную записать в ОП программу загрузчика в машинных кодах и передать ей управление.
Проблема безопасности в операционных системах. Основные вопросы защиты
Есть несколько причин для реализации средств защиты. Наиболее очевидная — помешать внешним попыткам нарушить доступ к конфиденциальной информации. Не менее валено, однако, гарантировать, что каждый программный компонент в системе использует системные ресурсы только способом, совместимым с установленной политикой применения этих ресурсов. Такие требования абсолютно необходимы для надёжной системы. Кроме того, наличие защитных механизмов может увеличить надёжность системы в целом за счёт обнаружения скрытых ошибок интерфейса между компонентами системы.
Политика в отношении ресурсов может меняться в зависимости от приложения и с течением времени. Операционная система должна обеспечивать прикладные программы инструментами для создания и поддержки защищенных ресурсов. Здесь реализуется важный для гибкости системы принцип — отделение политики от механизмов. Механизмы определяют, как может быть сделано что-либо, тогда как политика решает, что должно быть сделано. Политика может меняться в зависимости от места и времени. Желательно, чтобы были реализованы, по-возможности, общие механизмы, тогда как изменение политики требует лишь модификации системных параметров или таблиц.
К сожалению, построение защищенной системы предполагает необходимость склонить пользователя к отказу от некоторых интересных возможностей. Например, письмо, содержащее в качестве приложения документ в формате Word, может включать макросы. Открытие такого письма может повлечь за собой запуск чужой программы, что потенциально опасно. То же самое можно сказать про Web-страницы, содержащие апплеты.
Знание возможных угроз, а также уязвимых мест защиты, которые эти угрозы обычно эксплуатируют, необходимо для того, чтобы выбирать наиболее экономичные средства обеспечения безопасности.
Считается, что безопасная система должна обладать свойствами конфиденциальности, доступности и целостности. Любое потенциальное действие, которое направлено на нарушение конфиденциальности, целостности и доступности информации, называется угрозой. Реализованная угроза называется атакой.
Конфиденциальная система обеспечивает уверенность в том, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешён (такие пользователи называются авторизованными). Под доступностью понимают гарантию того, что авторизованным пользователям всегда будет доступна информация, которая им необходима. И наконец, целостность системы подразумевает, что неавторизованные пользователи не могут каким-либо образом модифицировать данные.
Защита информации ориентирована на борьбу с так называемыми умышленными угрозами, то есть с теми, которые, в отличие от случайных угроз (ошибок пользователя, сбоев оборудования и др.), преследуют цель нанести ущерб пользователям ОС.
Умышленные угрозы подразделяются на активные и пассивные. Пассивная угроза — несанкционированный доступ к информации без изменения состояния системы, активная — несанкционированное изменение системы. Пассивные атаки труднее выявить, так как они не влекут за собой никаких изменений данных. Защита против пассивных атак базируется на средствах их предотвращения.
Можно выделить несколько типов угроз. Наиболее распространённая угроза — попытка проникновения в систему под видом легального пользователя, например, попытки угадывания и подбора паролей. Более сложный вариант — внедрение в систему программы, которая выводит на экран слово login. Многие легальные пользователи при этом начинают пытаться входить в систему, и их попытки могут протоколироваться.
Угрозы другого рода связаны с нежелательными действиями легальных пользователей, которые могут, например, предпринимать попытки чтения страниц памяти, дисков и лент, которые сохранили информацию, связанную с предыдущим использованием. Защита в таких случаях базируется на надёжной системе авторизации. В эту категорию также попадают атаки типа отказ в обслуживании, когда сервер затоплен мощным потоком запросов и становится фактически недоступным для отдельных авторизованных пользователей.
Наконец, функционирование системы может быть нарушено с помощью программ-вирусов. Многопользовательские компьютеры меньше страдают от вирусов по сравнению с персональными, поскольку там имеются системные средства защиты.
Проектирование системы безопасности подразумевает ответы на следующие вопросы: какую информацию защищать, какого рода атаки на безопасность системы могут быть предприняты, какие средства использовать для защиты каждого вида информации?
Поиск ответов на данные вопросы называется формированием политики безопасности, которая помимо чисто технических аспектов включает также и решение организационных проблем. На практике реализация политики безопасности состоит в присвоении субъектам и объектам идентификаторов и фиксации набора правил, позволяющих определить, имеет ли данный субъект авторизацию, достаточную для предоставления к данному объекту указанного типа доступа.
Формируя политику безопасности, необходимо учитывать несколько базовых принципов.
1) Проектирование системы должно быть открытым. Нарушитель и так всё знает (криптографические алгоритмы открыты).
2) Не должно быть доступа по умолчанию. Ошибки с отклонением легитимного доступа будут обнаружены скорее, чем ошибки там, где разрешён неавторизованный доступ.
3) Нужно тщательно проверять текущее авторство. Так, многие системы проверяют привилегии доступа при открытии файла и не делают этого после. В результате пользователь может открыть файл и держать его открытым в течение недели и иметь к нему доступ, хотя владелец уже сменил защиту.
4) Давать каждому процессу минимум возможных привилегий.
5) Защитные механизмы должны быть просты, постоянны и встроены в нижний слой системы, это не аддитивные добавки.
6) Важна физиологическая приемлемость. Если пользователь видит, что защита требует слишком больших усилий, он от неё откажется. Ущерб от атаки и затраты на её предотвращение должны быть сбалансированы.
Приведённые соображения показывают необходимость продумывания и встраивания защитных механизмов на самых ранних стадиях проектирования системы.
Дата публикования: 2015-02-03; Прочитано: 1157 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!