Программы-закладки, помещенные в ПЗУ (BIOS)

Программы-закладки, помещенные в ПЗУ (BIOS)

Как было выяснено, большую опасность представляют программы-закладки, помещенные в ПЗУ (BIOS) и ассоциированные с существенно важными прерываниями. Для их автоматизированного выявления используется следующая методика.

  1. Выделяется группа прерываний, существенных с точки зрения обработки информации защищаемой программой. Обычно это прерывания INT 13h, INT 40h (запись и чтение информации на внешние магнитные накопители прямого доступа), INT 14h (обмен с RS232 портом), INT 10Ь (обслуживание видеотерминала), а также в обязательном порядке прерывания таймера INT 8h, INT ICh и прерывания клавиатуры INT 9h и INT I6h.
  2. Для выделенной группы прерываний определяются точки входа (адреса входа) в ПЗУ, используя справочную информацию либо выполняя прерывание в режиме трассировки.
  3. Для выделенных адресов создаются цепочки исполняемых команд от точки входа до команды IRET, возврату управления из BIOS. Запись в сегмент BIOS невозможна, и поэтому закладки в BIOS не могут применять механизм преобразования своего кода во время его исполнения в качестве защиты от изучения. В цепочках исполняемых команд выделяются команды работы с портами, команды передачи управления, команды пересылки данных. Они используются либо для информативного анализа, либо порождают новые цепочки исполняемых команд. Порождение новых цепочек исполняемых команд происходит тогда, когда управление передается внутри сегмента BIOS.
  4. В цепочках анализируются команды, предусматривающие работу с недокументированными портами. Наличие таких команд, как правило, указывает на передачу информации некоторому устройству, подключенному к параллельному интерфейсу (общей шине), например встроенной радиопередающей закладке.

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

Для проверки операционной системы используется аналогичный алгоритм.

  1. По таблице прерываний определяются адреса входа для существенно важных прерываний.
  2. Эти важные прерывания выполняются покомандно в режиме трассировки с анализом каждой команды по приведенному выше алгоритму.

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

Яндекс.Метрика