Принцип работы CORE FORCE

CORE FORCE состоит из нескольких модулей, контролирующих определенные компоненты на предмет имеющихся разрешений. В настоящее время доступны три таких модуля, работающих в режиме ядра контролирующих сетевых соединений, защищающих файловую систему и реестр (рис. 1). Кроме того, имеются два дополнительных модуля Policy Developer и Force Repository, работающих в пространстве пользователя. Первый обеспечивает пользовательский интерфейс для настройки профилей защиты программ, запускаемых на компьютере. Работающий в виде системного сервиса LocalCPA.exe модуль Force Repository предназначен для хранения конфигураций обо всех разрешениях для всех профилей безопасности, обеспечивает поддержание базы в целостности, обновление ее через Policy Developer, импорт и экспорт профилей безопасности.

Централизованное управление загрузкой в память базы данных, которая содержит все разрешения, обеспечивает диспетчер (dispant.sys), также работающий в пространстве ядра. Кроме того, диспетчер обеспечивает API, позволяя подключить при необходимости любые другие модули контроля. Диспетчер играет роль посредника между модулями защиты, выполняющимися в пространстве ядра, и модулями, работающими в пространстве пользователя.

Например, сетевой модуль получает сведения о попытке получения доступа программой, запрос на подтверждение этого действия отсылается диспетчеру. Если в базе данных диспетчера записано, что такое действие необходимо запретить или разрешить, ответ отсылается обратно. Если решение принимает пользователь, то диспетчер связывается с Policy Developer и ожидает ответа. Диспетчер минимизирует использование памяти, загружая только необходимые в данный момент разрешения для текущего уровня безопасности. Хранение разрешений на том же уровне, на котором работают модули защиты, позволяет минимизировать потери на переключение контекста из режима ядра в режим пользователя. Кроме того, диспетчер переводит переменные в свои фактические величины, т.е. например, расшифровывает полный путь к файлу.

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

В качестве фильтра пакетов используется порт OpenBSD Packet Filter (PF). Реализация CORE FORCE включает два драйвера. Основную функциональность берет на себя miniport driver (croxy.sys), использующий стандарт NDIS (Network Driver Interface Specification) API для связи драйверов сетевых карт с приложениями операционной системы. Этот драйвер, располагаясь внизу сетевого стека, контролирует все входящие и исходящие сетевые пакеты, защищая в том числе и стек операционной системы.

Другой драйвер (tdifilter.sys, TDI – Transport Dispatch Interface) работает на более высоком транспортном уровне, помогая NDIS отслеживать сетевые связи каждого процесса, синхронизировать запросы для разрешенных пользовательских соединений. Драйвера, защищающие файловую систему и реестр, имеют аналогичное функциональное назначение для своих типов объектов. Располагаются в alpha2.sys и alpha2r.sys. Из-за своей позиции в операционной системе они могут перехватывать системные вызовы процессов, пытающихся получить доступ к любому файлу или объекту реестра, а также вызовы, которые были сделаны компонентами ядра.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: