Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Разрушение программы защиты и схем контроляДопустим, что злоумышленнику известна интересующая его программа с точностью до команд реализации на конкретном процессоре. Следовательно, возможно смоделировать процесс ее загрузки и выяснить адреса частей программы относительно сегмента оперативной памяти, в которой она загружается. Это означает, что возможно произвольное изменение кода программы и обеспечение отклонения (как правило, негативного характера) в работе прикладной программы. Тогда алгоритм действия закладки может быть следующим. 1. Закладка загружается в память каким-либо образом. 2. Закладка осуществляет перехват (редактирование цепочки) одного или нескольких прерываний: · прерывание DOS “запуск программ и загрузка оверлеев” (int 21h, функция 4Bh); · прерывание BIOS “считать сектор” (int 13h, функция 02h); · прерывание от системного таймера (int 08h). 3. По одному из трех событий закладка получает управление на свой код и далее выполняет следующие операции: · проверка принадлежности запущенной программы или уже работающей (для таймерного прерывания) к интересующим программам; · определение сегмента, в который загружена программа; · запись относительно определенного сегмента загрузки некоторых значений в оперативную память так, чтобы отключить схемы контроля и (или) исправить программу нужным образом. Принципиальная возможность исправления кода следует из того, что вывод о правильности работы программы делается на основе операций сравнения в арифметико-логическом устройстве процессора. Сравнение результатов работы выполняется командой CMP, а результат сравнения изменяет один или несколько бит регистра флагов. Следовательно, того же результата можно добиться, изменив эти биты в одной из команд работы с регистром флагов типа CLD, CLS, LAHF и т.д. Наконец, возможен случай, когда содержательный код программы защиты вместе со схемой контроля будет удален из памяти полностью и все последующие операции будут выполнены без влияния программы защиты. Таким образом, анализируя в данном случае действия закладки, необходимо считать возможным любые искажения кода программ. Основным способом активизации разрушающих закладок является запуск ассоциированных с ними программ. При этом закладка получает управление первой и выполняет какие-либо действия (изменение адресов прерывания на собственные обработчики, исправление в коде программ защиты и т.д.). Листинг 14.3. Пример закладки, разрушающей схему контроля {$M 1024,0,0} end;
|