Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СиФО часть 1.DOC
Скачиваний:
55
Добавлен:
15.09.2014
Размер:
930.3 Кб
Скачать

1.7.1. Защита памяти

Один из методов защиты памяти предполагает использование граничных регистров для хранения адресной информации или прямых адресов границ защищаемой области ОЗУ. Эти регистры получили название граничных и обозначаются: RG н.гр – регистр нижней границы и RG в.гр – регистр верхней границы. Структурная схема блока адресации с граничными регистрами имеет вид, показанный на рис. 1.27.

При обращении к ОЗУ Аисп проверяется на принадлежность к заданной области памяти. Если выхода за границы защищаемого пространства нет, то схемы сравнения формируют на выходах «b» единичный логический потенциал, разрешающий обращение к ЗУ. При выходе адреса за установленные границы одна из схем сравнения устанавливает на выходе «b» логический ноль, а на

выходе «a» – логическую единицу. Обращение к ОЗУ запрещается, а в системе формируется сигнал прерывания, передаваемый на вход устройства управления.

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

C=2r ,

где r – длина поля «код блока» в регистре адреса.

Схема устройства, реализующая описанный способ защиты, приведена на рис. 1.28. В состав блока входят: модуль АЗУ и элемент 2ИЛИ.

Перед исполнением программ в ассоциативное ЗУ должны быть помещены коды блоков, закрепленные за соответствующими пользователями. При произвольном обращении к ОП старшие разряды адреса (код блока) передаются на вход АЗУ, где происходит их сравнение с кодами блоков защищаемых программ. Если код блока из RG А и код блока в АЗУ не совпали, то формируется признак = 1, который запрещает запись в ОП (защита от записи) и отключает шину DIO от шины данных компьютера (защита от чтения).

Если код блока из RG А совпал с хранимой в АЗУ информацией, то признак устанавливается в 0, в результате чего разрешается воздействие линий ШУ на вход ОП. Одновременно линииDIO ЗУ подключаются к ШД компьютера.

Существуют также блоки защиты, в которых режим обращения к памяти может быть санкционирован с помощью специального триггера, называемого триггером «режима обращения» Тр.о. При этом организуется:

  1. защита от записи и считывания,

2) защита от записи с возможностью считывания.

Схема обращения к ЗУ, реализующая описанный способ защиты, показана на рис. 1.29.

Организация первого режима осуществляется программной установкой триггера Тр.О в состояние 1. При этом, если:

 = 0, то =ШУ,=0 и в схеме реализуется рабочий режим;

 = 1, то =1,=1 и имеет место режим защиты, а шинаDIO переводится в третье состояние.

Второй режим имеет место при установке триггера Тр.о в состояние нуля.

При этом, если:

= 0, то = ШУ,= 0 и в схеме организуется рабочий режим;

= 1, то = 1,= 0 и имеет место режим чтения с защитой от записи.

Использование схем защиты в общем случае предполагает распределение памяти между программами с помощью специальных операционных средств. Пользователь только принимает решение: защищать или нет данную область. Специальная программа компьютера выполняет расчет, запоминание ключей и установку Тр.о с помощью имеющегося набора своих команд. В противном случае хакер имеет возможность самостоятельно изменить ключ или, записав его в АЗУ, не санкционировано воспользоваться памятью.

Вместо дорогостоящего АЗУ для хранения ключей может быть использовано регистровое ЗУ или так называемое ЗУ ключей (рис. 1.30).

В приведенной схеме регистр адреса содержит поле «код блока» и поле – «ключ». В процессе обращения к памяти поле «код блока» передается на адресный вход регистрового ЗУ и инициирует чтение ключа на вход схемы сравнения (СС). Содержимое поля «ключ» регистра RG A сравнивается со считанным значением и в случае совпадения СС формирует сигнал управления = 0. Оперативная память при этом оказывается доступна для чтения или записи, а при необходимости программной установкой Тр.о в состояние 0 организуется защищенный режим «только чтение».

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

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