Методы и средства защиты информации


Разрушение программы защиты и схем контроля


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

Это означает, что возможно произвольное изменение кода программы и обеспечение отклонения (как правило, негативного характера) в работе прикладной программы.

Тогда алгоритм действия закладки может быть следующим.

1. Закладка загружается в память каким-либо образом.

2.     Закладка осуществляет перехват (редактирование цепочки) одного или нескольких прерываний:

  • прерывание DOS “запуск программ и загрузка оверлеев” (int 21h, функция 4Bh);
  • прерывание BIOS “считать сектор” (int 13h, функция 02h);
  • прерывание от системного таймера (int 08h).
  • 3.     По одному из трех событий закладка получает управление на свой код и далее выполняет следующие операции:

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

      Сравнение результатов работы выполняется командой CMP, а результат сравнения изменяет один или несколько бит регистра флагов. Следовательно, того же результата можно добиться, изменив эти биты в одной из команд работы с регистром флагов типа CLD, CLS, LAHF и т.д.

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



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


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

      Листинг 14.3. Пример закладки, разрушающей схему контроля

      {$M 1024,0,0}

      {$I-}

      uses

        Dos;

      const

        CMPSeg=$2E7F; { Адреса ячеек, подлежащих модификации, }

        CMPOfs=12;    { указанные относительно PSP            }

        JMPSeg=$2EA4;

        JMPOfs=2;

      var

        DOSSeg, DOSOfs, Psp:word;

        OldInt8h:pointer;

      procedure Int8h; interrupt;

      begin

        if (Psp=PrefixSeg) then   

        begin                     

          if(Mem[DOSSeg:DOSOfs]=0) then

          asm

            mov ah, 62h

            int 21h

            mov Psp, bx

          end;

        end

        else

        begin

          MemW[CMPSeg+Psp:CMPOfs]:=$9090; { Запись NOP вместо CMP } 

          MemW[JMPSeg+Psp:JMPOfs]:=$9090; { Запись NOP вместо JMP }  

      Окончание листинга 14.3

        end;

        asm  

          pushf 

          call dword ptr OldInt8h    

        end;                        

      end;

      begin

        asm

          mov ah, 34h

          int 21h

          mov DOSOfs, bx

          mov DOSSeg, es

        end;

        Psp:=PrefixSeg;

        GetIntVec(8, OldInt8h);

        SwapVectors;

        SetIntVec(8, @Int8h);

        Exec('SECURED.EXE', '');

        SetIntVec(8, OldInt8h);

        SwapVectors;

      end.

      Часть


      Защита информации

      Глава 15

      Подходы к созданию комплексной системы защиты информации

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

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

      В основном владелец информации не знает где, когда и каким образом будет осуществлено нападение, поэтому ему необходимо обнаружить сам факт нападения.

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


      При этом важно установить.

      1.     Какая информация нуждается в защите?

      2.     Кого она может интересовать?

      3.     Какие элементы информации наиболее ценные?

      4.     Каков “срок жизни” этих секретов?

      5.     Во что обойдется их защита?

      Опыт применения систем ЗИ (СЗИ) показывает, что эффективной может быть лишь комплексная система защиты информации (КСЗИ), сочетающая следующие меры.

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

      2.     Морально-этические. Создание и поддержание на объекте такой моральной атмосферы, в которой нарушение регламентированных правил поведения оценивалось бы большинством сотрудников резко негативно.

      3.     Физические. Создание физических препятствий для доступа посторонних лиц к охраняемой информации.

      4.     Административные. Организация соответствующего режима секретности, пропускного и внутреннего режима.

      5.     Технические. Применение электронных и других устройств для ЗИ.

      6.     Криптографические. Применение шифрования и кодирования для сокрытия обрабатываемой и передаваемой информации от несанкционированного доступа.

      7.     Программные. Применение программных средств разграничения доступа.

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

      • характеризующие информацию как ресурс, обеспечивающий деятельность общества;


      • характеризующие информацию как объект труда.


      • Показатели первого вида носят прагматический характер. К ним относят важность, значимость с точки зрения тех задач, для решения которых используется оцениваемая информация; полнота информации для информационного обеспечения решаемых задач; адекватность, т.е. соответствие текущему состоянию соответствующих объектов или процессов; релевантность информации и ее толерантность.

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


        Содержание раздела