logo
PASOIB

7.4. Защита от рпв. Изолированная программная среда

Методы борьбы с воздействием РПВ можно разделить не следующие классы.

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

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

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

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

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

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

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

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

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

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

Эвристическая методика выявления РПВ в BIOS

1. Выделяется группа прерываний, существенных с точки зрения обработки информации программой, относительно которой проводится защита. Обычно это прерывания int 13h (запись информации на внешние магнитные накопители прямого доступа), int 14h (обмен с RS232 портом), int 10h (обслуживание видеотерминала), а также в обязательном порядке прерывания таймера int 8h, int 1Ch и прерывания клавиатуры int 9h и int 16h.

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

3. Для выделенных адресов создаются цепочки исполняемых команд от точки входа до команды IRET - возврату управления из BIOS.

В цепочках исполняемых команд выделяются

4. В цепочках исполняемых команд анализируются команды выделенных групп. Определяются:

5. В случае если опасных действий, относящихся к выше представленным четырем группам, не обнаружено, аппаратно-программная среда ПЭВМ без загруженной операционной среды считается чистой (безопасной).

Защита от РПВ путем создания изолированной программной среды

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание и поддержка ИПС возможна только с помощью специализированных аппаратных средств, целостность которых обеспечивается технологией производства и периодическими проверками. Одним из программно-аппаратных устройств поддержки изолированной программной среды является программно-аппаратный комплекс «АККОРД» производства ОКБ «САПР».