Защита от разрушающих программных воздействий путём создания изолированной программной среды

Защита от разрушающих программных воздействий. Изолированная программная среда

Методы борьбы с воздействием разрушающих программных воздействий можно разделить не следующие классы.

1. Общие методы защиты программного обеспечения от РПВ

1.1. контроль целостности системных областей, запускаемых прикладных программ и используемых данных;

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

Данные методы действенны лишь тогда, когда контрольные элементы не подвержены воздействию закладок и разрушающее воздействие входит в контролируемый класс. Так, например, система контроля над вызовом прерываний не будет отслеживать обращение на уровне портов. С другой стороны контроль целостности информации может быть обойден злоумышленником путём:

· навязывания конечного результата проверок;

· влияния на процесс считывания информации;

· изменения хеш-значений, хранящихся в общедоступных файлах.

1.3. создание безопасной и изолированной операционной среды;

1.4. предотвращение результирующего воздействия вируса или закладки (например, запись на диск только в зашифрованном виде на уровне контроллера, либо запрет записи на диск на аппаратном уровне).

2. Специализированные методы борьбы с РПВ

2.1. поиск фрагментов кода по характерным последовательностям (сигнатурам), свойственным РПВ, либо наоборот, разрешение на выполнение или внедрение в цепочку прерываний только программ с известными сигнатурами;

2.2. поиск критических участков кода методом семантического анализа (анализ фрагментов кода на выполняемые ими функции, часто сопряженный с дисассемблированием или эмуляцией выполнения).

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

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

· проверенные программы будут использованы на другой ПЭВМ с другим BIOS и в этих условиях могут использоваться некорректно;

· проверенные программы будут использованы в аналогичной, но не проверенной операционной среде, в которой они также могут использоваться некорректно;

· проверенные программы используются на проверенной ПЭВМ и в проверенной операционной среде, но запускаются еще и непроверенные программы, потенциально несущие в себе возможности НСД.

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

1) На ПЭВМ c проверенным BIOS установлена проверенная операционная среда.

2) Достоверно установлена неизменность ОС и BIOS для данного сеанса работы.

3) Кроме проверенных программ в данной программно-аппаратной среде не запускалось и не запускается никаких иных программ, проверенные программы перед запуском контролируются на целостность.

4) Исключен запуск проверенных программ в какой-либо иной ситуации, т.е. вне проверенной среды.

5) Условия 1-4 выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом.

При выполнении перечисленных выше условий программная среда называется изолированной (ИПС – изолированная программная среда).

Основными элементами поддержания ИПС являются контроль целостности и активности процессов.

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

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

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

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