русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Аппаратные средства защиты информации в МП


Дата добавления: 2014-12-01; просмотров: 903; Нарушение авторских прав


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

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

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

Средства защиты памяти должны предотвращать:

· неразрешенное взаимодействие пользователей друг с другом;

  • несанкционированный доступ пользователей к данным;
  • повреждение программ и данных из-за ошибок в программах;
  • намеренные попытки разрушить целостность системы;

· случайные искажения данных. ► Средства защиты МП: ◊ защита при управлении памятью и ◊ защита по привилегиям.

Средства управления памятью обнаруживают программные ошибки.

До загрузки селектора в сегментный регистр и кэширования дескриптора осуществляется несколько контрольных проверок:



· МП проверяет, что поле Index селектора находится в пределах таблицы, определяемой битом TI;

· при загрузке селекторав сегментный регистр данных (DS, ES, FS, GS) тип дескриптора должен разрешать считывание из сегмента.

  • в случае сегментного регистра стека (SS) в сегменте должны быть разрешены операции считывания и записи;
  • при загрузке регистра CS сегмент обязательно должен быть исполняемым;
  • в регистр LDTR можно загружать только селектор, указывающий на дескриптор сегмента типа LDT;
  • в регистр TR можно загружать только селектор, указывающий на дескриптор сегмента состояния задачи.

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

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

►Защита по привилегиям фиксирует более тонкие ошибки и намеренные попытки нарушить целостность системы.

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

На аппаратном уровне в МП поддерживаются 4 уровня привилегий. Распознаваемым процессором объектам назначается значение от 0 до 3, причем 0 соответствует высшему, а 3 - низшему уровню привилегий.

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

Привилегииустанавливаются значениями соответствующих полей в следующих основных системных объектах микропроцессора:

  • DPL - уровень привилегий сегмента (находится в байте доступа дескриптора сегмента);
  • RPL - биты <0,1> селектора, хранящегося в сегментном регистре; текущий уровень привилегий программы CPL задается полем RPL селектора, хранящегося в сегментном регистре CS;
  • IOPL - поле регистра флагов, которое указывает, на каком уровне привилегий разрешено выполнять операции ввода/вывода, а также в некоторых других объектах, используемых, например, при переключении задач и обработке прерываний.

Так как число программ, которые могут выполняться на более высоком уровне привилегий, уменьшается к уровню 0 и так как программы уровня 0 действуют как ядро системы, уровни привилегий обычно изображаются в виде четырех колец защиты(Protection Rings) (рис. 1).

Рис. 1. "Кольца защиты"

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

  • уровень 0: ядро ОС, обеспечивающее инициализацию работы, управление доступом к памяти, защиту и ряд других жизненно важных функций, нарушение которых полностью выводит из строя процессор;
  • уровень 1: основная часть программ ОС (утилиты);
  • уровень 2: служебные программы ОС (драйверы, СУБД, специализированные подсистемы программирования и т. д.);
  • уровень 3: прикладные программы пользователя.

►Аппаратные средства процессора, работающего в защищенном режиме, постоянно контролируют, что текущая программа достаточно привилегированна для того, чтобы:

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

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

Операции ввода/вывода разрешено выполнять программам, уровень привилегий которых не ниже значения, установленного в поле IOPL регистра флагов, т.е. должно выполняться соотношение: CPL IOPL.

Обращение к данным других программ разрешается только на своем и менее привилегиро-ванном уровнях (рис. 2).

Рис. 2. Порядок взаимодействия программ и данных на разных уровнях привилегий

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

► В то же время в процессе выполнения любой программы необходимо обращаться к программам, находящимся на более высоком уровне привилегий, например, к драйверам или СУБД.

Для этих целей используются специально установленные точки входа в эти программы (шлюзы).

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

При передаче управления подчиненному сегменту действует правило: DPL max (CPL, RPL).

Однако при этом подчиненный код будет выполняться на том же уровне привилегий, что и вызвавший его код (CPL не изменится).

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




<== предыдущая лекция | следующая лекция ==>
Обеспечение согласованности кэш-памяти МП в мультипроцессорных системах | Использование шлюзов вызова


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.