Защита от РПВ. Изолированная программная среда
Методы борьбы с разрушающим программным воздействием ( РПВ) можно разделить не следующие классы.
Общие методы защиты программного обеспечения от РПВ:
1. Контроль целостности системных областей, запускаемых прикладных
программ и используемых данных. Следует помнить, что контроль
целостности информации может быть обойден злоумышленником
путем:
· навязывания конечного результата проверок;
· влияния на процесс считывания информации;
· изменения хеш-значений, хранящихся в общедоступных файлах.
2. Контроль цепочек прерываний и фильтрация вызовов критических
для безопасности системы прерываний. Данные методы действенны
лишь тогда, когда контрольные элементы не подвержены воздействию
закладок и разрушающее воздействие входит в контролируемый класс.
3. Создание безопасной и изолированной операционной среды.
4. Предотвращение результирующего воздействия вируса или закладки.
Например, запись на диск должна вестись только в зашифрованном
виде на уровне контроллера, либо должен быть реализован запрет
записи на диск на аппаратном уровне.
Специализированные методы борьбы с РПВ
К ним можно отнести:
· Поиск фрагментов кода по характерным последовательностям (сигнатурам), свойственным РПВ, либо наоборот, разрешение на выполнение или внедрение в цепочку прерываний только программ с известными сигнатурами.
· Поиск критических участков кода методом семантического анализа фрагментов кода на выполняемые ими функции, часто сопряженный с дизассемблированием или эмуляцией выполнения [22].
В качестве одной из возможных эвристических методик выявления РПВ в BIOS, ассоциированных с существенно важными прерываниями, следует рассмотреть эвристическую методику выявления РПВ в BIOS[23].
Эвристическая методика выявления РПВ в BIOS
1. Выделяется группа прерываний, существенных с точки зрения обработки информации программой, относительно которой проводится защита. Обычно это прерывания int 13h (запись информации на внешние магнитные накопители прямого доступа), int 14h (обмен с RS232 портом), int 10h (обслуживание видеотерминала), а также в обязательном порядке прерывания таймера int 8h, int 1Ch и прерывания клавиатуры int 9h и int 16h.
2. Для выделенной группы прерываний определяются точки входа в ПЗУ, используя справочную информацию, либо выполняя прерывание в режиме трассировки.
3. Для выделенных адресов создаются цепочки исполняемых команд от точки входа до команды IRET - возврату управления из BIOS.
В цепочках исполняемых команд выделяются:
- команды работы с портами;
- команды передачи управления;
- команды пересылки данных.
4. В цепочках исполняемых команд анализируются команды выделенных
групп. Определяется присутствие в прерываниях команд:
· работы с недокументированными портами. Наличие таких
команд, как правило, указывает на передачу информации некоторому
устройству, подключенному к параллельному интерфейсу (общей
шине), например, встроенной радиопередающей закладке.
· работы с портами, участвующими в работе другого класса
прерываний;
· перемещения данных из BIOS в оперативную память;
· передачи управления в оперативную память или в сегменты
расширенного BIOS.
В случае, если опасных действий, относящихся к выше представленным четырем группам, не обнаружено, аппаратно-программная среда ПЭВМ считается чистой (безопасной).
Защита от РПВ путем создания изолированной программной среды
Предположим, что в ПЗУ и ОС отсутствуют закладки (проверка этого была проведена по некоторой методике). Пусть также пользователь работает только с программами, процесс написания и отладки которых полностью контролируется, т.е. в них также исключено наличие закладок. Такие программы называются проверенными.
Потенциально злоумышленными действиями в этом случае могут быть следующие:
· проверенные программы будут использованы на другой ПЭВМ с другим BIOS и в этих условиях могут использоваться некорректно;
· проверенные программы будут использованы в аналогичной, но не проверенной операционной среде, в которой они также могут использоваться некорректно;
· проверенные программы используются на проверенной ПЭВМ и в проверенной операционной среде, но запускаются еще и непроверенные программы, потенциально несущие в себе возможности НСД.
Деструктивные действия закладок гарантированно невозможны, если выполняются следующие условия:
· На ПЭВМ c проверенным BIOS установлена проверенная ОС.
· Достоверно установлена неизменность ОС и BIOS для данного сеанса
работы.
· Кроме проверенных программ в данной программно-аппаратной среде не запускалось и не запускается никаких иных программ, проверенные программы перед запуском контролируются на целостность.
· Исключен запуск проверенных программ в какой-либо иной ситуации, т.е. вне проверенной среды.
· Выше перечисленные условия выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом.
При выполнении перечисленных выше условий программная среда называется изолированной (ИПС – изолированная программная среда).
Основными элементами поддержания ИПС являются контроль целостности и активности процессов.
ИПС контролирует активизацию процессов через операционную среду, контролирует целостность исполняемых модулей перед их запуском и разрешает инициирование процесса только при одновременном выполнении двух условий - принадлежности к разрешенным программам и неизменности программ. В таком случае, для предотвращения угроз, связанных с внедрением в операционную среду скрытых не декларированных возможностей, от базового ПО требуется только:
· невозможность запуска программ помимо контролируемых ИПС событий;
· отсутствие в базовом ПО возможностей влиять на среду функционирования уже запущенных программ (фактически это требование невозможности редактирования и использования оперативной памяти другого процесса).
Создание и поддержка ИПС возможна только с помощью специализированных аппаратных средств, целостность которых обеспечивается технологией производства и периодическими проверками. Одним из программно-аппаратных устройств поддержки изолированной программной среды является программно-аппаратный комплекс «АККОРД» производства ОКБ «САПР».