Самоучитель по программированию систем защиты

       

Сравнительный анализ реализаций средств защиты



Таблица 11. Сравнительный анализ реализаций средств защиты

Реализация защиты на уровне:

Объем контролируемых данных

Сложность реализации

Возможность встраивания защиты

Прозрачность защиты

Возможности, предоставляемые ОС



Приложения

Только данные самого приложения

Низкая

Да

-

Минимальные

Собствен ной DLL

Данные приложений, использующих эту DLL

Низкая

Да

Минимальные

Системной DLL

Данные приложений, использующих сис темную DLL

Высокая

Нет

+

Зависит от способа реализации

Сетевого сервиса

Зависит от сетевого сервиса

Высокая

Нет

+

Зависит от способа реализации

"Родного" API

Данные всех прило- жений

Высокая

Нет

+

Максимальные

Драйвера файловой системы

Данные приложений, использующих соот- ветствующее сетевое API

Высокая

Да

+

Максимальные

Транс- портного драйвера

Данные приложений, использующих этот транспорт + приложений, взаимодействующих с др. транспорта напрямую

Высокая

Да

+

Максимальные

Драйвера Ndis.sys

Данные всех приложений

Высокая

Нет

+

Максимальные

Промежуточного драйвера

Данные приложений, использующих транспорты, привя- занные снизу к этому промежуточному драйверу + приложе- ний, взаимодейст- вующих с промежу- точным драйвером напрямую

Средняя

Да

+

Максимальные

Драйвера сетевого устройства

Данные всех приложений

Средняя

Да

+

Максимальные

Средства защиты уровня ядра могут использовать внутренние интерфейсы для взаимодействия с компонентами исполнительной системы. Модуль защиты, исполняющийся в режиме ядра, может повышать или понижать текущий IRQL процессора, маскируя тем самым прерывания с равными или меньшими IRQL.

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

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

Если для реализации защиты на уровне системной DLL или сетевого сервиса был разработан компонент, исполняющийся в режиме ядра, то это средство защиты также может использовать максимальные возможности, предоставляемые ОС. Для реализации защиты на уровне «родного» API в любом случае должен использоваться компонент уровня ядра.

 



Содержание раздела