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. В цепочках исполняемых команд анализируются команды выделенных групп. Определяются:
опасные действия первой группы: в прерываниях какого-либо класса присутствуют команды работы с недокументированными портами. Наличие таких команд, как правило, указывает на передачу информации некоторому устройству, подключенному к параллельному интерфейсу (общей шине), например, встроенной радиопередающей закладке.
опасные действия второй группы: в прерываниях какого-либо класса присутствуют команды работы с портами, участвующие в работе другого класса прерываний;
опасные действия третьей группы: в цепочках присутствуют команды перемещения данных из BIOS в оперативную память (кроме таблицы прерываний и RAM BIOS);
опасные действия четвертой группы: в цепочках присутствуют команды передачи управления в оперативную память или в сегменты расширенного BIOS.
5. В случае если опасных действий, относящихся к выше представленным четырем группам, не обнаружено, аппаратно-программная среда ПЭВМ без загруженной операционной среды считается чистой (безопасной).
Защита от РПВ путем создания изолированной программной среды
Заметим, что при пустом множестве активизирующих событий для закладки потенциальные деструктивные действия с ее стороны невозможны.
Предположим, что в ПЗУ и ОС отсутствуют закладки – проверка этого проведена по некоторой методике. Пусть также пользователь работает только с программами, процесс написания и отладки которых полностью контролируется, т.е. в них также исключено наличие закладок. Такие программы называются проверенными. Потенциально злоумышленными действиями в этом случае могут быть следующие:
проверенные программы будут использованы на другой ПЭВМ с другим BIOS и в этих условиях могут использоваться некорректно;
проверенные программы будут использованы в аналогичной, но не проверенной операционной среде, в которой они также могут использоваться некорректно;
проверенные программы используются на проверенной ПЭВМ и в проверенной операционной среде, но запускаются еще и непроверенные программы, потенциально несущие в себе возможности НСД.
Следовательно, в этих условиях деструктивные действия закладок гарантированно невозможны, если выполняются следующие условия:
На ПЭВМ c проверенным BIOS установлена проверенная операционная среда.
Достоверно установлена неизменность ОС и BIOS для данного сеанса работы.
Кроме проверенных программ в данной программно-аппаратной среде не запускалось и не запускается никаких иных программ, проверенные программы перед запуском контролируются на целостность.
Исключен запуск проверенных программ в какой-либо иной ситуации, т.е. вне проверенной среды.
Условия 1 - 4 выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом.
При выполнении перечисленных выше условий программная среда называется изолированной (ИПС – изолированная программная среда).
Основными элементами поддержания ИПС являются контроль целостности и активности процессов.
Функционирование программ в рамках ИПС существенно ослабляет требования к базовому ПО операционной среды. ИПС контролирует активизацию процессов через операционную среду, контролирует целостность исполняемых модулей перед их запуском и разрешает инициирование процесса только при одновременном выполнении двух условий - принадлежности к разрешенным программам и неизменности программ. В таком случае, для предотвращения угроз, связанных с внедрением в операционную среду скрытых недекларированных возможностей, от базового ПО требуется только:
1. невозможность запуска программ помимо контролируемых ИПС событий;
2. отсутствие в базовом ПО возможностей влиять на среду функционирования уже запущенных программ (фактически это требование невозможности редактирования и использования оперативной памяти другого процесса).
Создание и поддержка ИПС возможна только с помощью специализированных аппаратных средств, целостность которых обеспечивается технологией производства и периодическими проверками. Одним из программно-аппаратных устройств поддержки изолированной программной среды является программно-аппаратный комплекс «АККОРД» производства ОКБ «САПР».
- Модульная архитектура технических средств защиты по от несанкционированного использования
- Функционирование подсистем и модулей системы защиты по от несанкционированного использования
- Электронные ключи hasp
- Глава 1. Методы и средства обратного проектирования.
- 1.1. Понятие обратного проектирования
- 1.2. Основные приемы, используемые злоумышленником при отладке и дизассемблировании программного обеспечения
- 1.2.1. Специфика атак на модули проверки корректности ключевой информации
- 1.2.2. Специфика атак на модули проверки истечения временного срока работы программы или ограничения по количеству ее запусков
- 1.2.3. Отлов злоумышленником вызова WinApi функций при взломе по
- 1.3. Мониторинг событий
- Глава 2. Методы противодействия обратному проектированию
- 2.1. Методы противодействия отладчикам
- 2.1.1. Защита от отладчиков реального режима
- 2.1.2. Защита от отладчиков защищенного режима
- 2.1.3. Методы, основанные на невозможности полного эмулирования отладчиком среды загрузки программы
- 2.2. Методы противодействия дизассемблированию программного обеспечения
- 2.3. Защита, основанная на человеческом факторе злоумышленника
- Глава 3. Общие методы защиты программ от отладки и дизассемблирования
- 3.1. Использование недокументированных команд и недокументированных возможностей процессора
- 3.2. Шифрование кода программы
- Глава 4. Эмуляторы процессоров. Использование эмуляторов для взлома и защиты программного обеспечения.
- Глава 5. Защита исходных текстов программного обеспечения
- Глава 6. Идентификация и аутентификация субъектов
- 6.1. Идентификация и аутентификация пользователей с использованием технических устройств
- 6.2. Идентификация и аутентификация с использованием индивидуальных биометрических характеристик пользователя
- 7. Защита от разрушающих программных воздействий
- 7.1. Понятие разрушающего программного воздействия
- 7.2 Модели взаимодействия прикладной программы и рпв
- 7.3 Компьютерные вирусы как класс рпв
- 7.4. Защита от рпв. Изолированная программная среда
- Глава 8. Руководящие документы России
- Приложение
- 6.1. Отладка программ в отладчике SoftIce
- 6.2. Дизассемблирование программ с помощью интерактивного дизассемблера Ida Pro
- 6.3. Редактор кода hiew
- Лабораторные работы