Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
125
Добавлен:
02.05.2014
Размер:
616.96 Кб
Скачать

67. Понятие изучения и обратного проектирования по. Цели и задачи изучения работы по. Средства исследования по, их классификация. Принципы работы.

Краеугольным камнем проектирования систем защиты является разработка средств, препятствующих изучению алгоритма работы системы. При отсутствии таких средств квалифицированный программист легко сможет разобраться в логике работы программы и удалить систему защиты. В настоящее время МИПО используется не только хакерами, но и с целью обнаружения закладок. Например, вирусологами с целью обнаружения вредного ПО. При этом необходимо построить сам алгоритм на языке удобном для последующего анализа, а затем выполнить анализ полученного алгоритма. СИПО делятся на 2 класса: 1) Статические 2) Динамические. 1) Оперируют с исполняемым кодом программы как с данными и строят алгоритм без ее выполнения 2) изучают программу интерпретируя ее в реальной или виртуальной вычислительной среде. 1) Являются более универсальными так как теоретически можно получить алгоритм всей программы в т.ч. и тех блоков которые редко или вообще не получают управления 2) можно строить этот алгоритм только на основании конкретной трассы программы полученных при определенных входных данных. Задача получения полного алгоритма программы в этом случае эквивалентна построению исчерпывающего набора тестов для подтверждения правильности программы, что обычно малореально. Поэтому при динамическом исследовании обычно можно получит лишь часть алгоритма к числу (2) относятся отладчики, а к (1) – дизассемблеры. Отладчик обычно используется для отладки собственных программ, дизассемблеры изначально создавались для получения ассемблерного текста неизвестного алгоритма. Также используются контрольные точки (прерывание INT 3). Имеются (в 386+) специальные отладочные регистры, куда записываются адреса останова. Также могут использоваться дискомпиляторы генерирующие из исполняемого кода программу на языке высокого уровня. Трассировщики запоминают каждую инструкцию, выполняемую процессором, а затем переводят данный набор в форму удобную для статического исследования, автоматически выделяя циклы, подпрограммы и т.д. Следящие системы - запоминающие и анализирующие трассу уже не инструкций, а других характеристик, например вызванный программой прерываний.

68. Механизмы защита от отладчиков

1) выявления изменения операционной среды, чтобы привести к тому чтобы программа отказалась нормально работать (в случае изменений). Способы: а) проверка количества свободной памяти и сравнение ее с объемом, к которому задача привыкла с целью выявления слежки за программой с помощью резидентных модулей. б) проверка векторов прерываний, т.е. сравнение 1-ых команд ОС, обрабатывающих эти прерывания с теми командами, которые там должны быть и принудительное восстановление векторов прерываний, что позволяет избавиться от большинства присутствующих в памяти резидентных программ. в) Проверка временных характеристик программы, что позволяет выявить точки останова, включенные в программу. Тут возникает проблема учета быстродействия разных процессоров 2) Подавление изменений операционной среды. Программа либо сама еще раз перенастраивает среду, либо вообще не может работать в возмущенной среде. Методы: а) расшифровка кодов в зависимости от эталонного состояния среды б) использование отладочных прерываний INT 1 и INT 3 для собственных нужд. в) использование абсолютной адресации г) назначение стека программы в область используемого кода, что приводит к затиранию команд при работе со стеком. 3) противодействие установке контрольных точек. отладчик или не может установить контрольную точку или программа распознает ее а) подсчет контр. суммы участков кода программы, применяется для определения в теле программы контрольных точек б) чередование команд запрета и разрешения прерываний, что затрудняет установку отладчиком контрольных точек. 4) Нарушение интерфейса пользователя – приводит к тому, что пользователь не сможет пронаблюдать за ходом выполнения программы во время отработки защищенного механизма а) может блокироваться клавиатура б) блокируется или производятся специальные искажения во время работы защищенного механизма 5) Использование специфических особенностей работы микропроцессора, например у intel процессоров происходит нарушения при работе отладчика конвейерной работы микропроцессора, а также происходит потеря одного трассировочного прерывания после команд, связанных с пересылкой сегментных регистров. 6) Использование специфических особенностей работы отладчиков позволяющих идентифицировать их работу.

Соседние файлы в папке Шпоры по защите информации