Реферат: Программно-аппаратная защита информации
Модуль противодействия нейтрализации защитных механизмов затрудняет анализ злоумышленником защитного кода, противодействует вмешательству в его работу и выполняется по 2 направлениям:
1) статическое
2) динамическое
При статической нейтрализации злоумышленник дизассемблирует программу с помощью таких средств, как IdaPro, по полученному коду, разбирается с работой механизмов, как их грамотно отключить.
При динамической нейтрализации вмешательство в работу программы производится в момент работы в реальном времени с помощью существующих средств отладки, например, SoftIce.
Пристыковочные механизмы защиты внедряются непосредственно в исполнительный код, реализуется непосредственно некого автоматического обработчика исполнительных файлов. Эти обработчики заключают исполнительный код программы в некую защитную оболочку, которой при старте программы передается управление. При старте программы запускается защитная оболочка, реализующая все защитные функции, проверки, по результатам которых принимается решение о запуске/незапуске программы. Они поставляются в виде неких wizad-ов. При использовании подобных wizard-ов от пользователя требуется минимум действий, например, указать программу, требующую защиту и способ защиты.
HASPEnvelopment
«+» 1. простота использования и простота внедрения
2. возможность защиты исполнительного кода от внутреннего исследования, реализация защитных механизмов, противодействие отладки и дизассемблированию исполнительного кода
«-» 1. используется детерминированный алгоритм, который могут попытаться вскрыть
2. жесткая реакция защиты программы на несовпадение характеристик среды (отказ в запуске)
Блок сравнения характеристик среды
Злоумышленник, атакуя этот блок, либо пытается найти эталонные характеристики среды, которые ожидает увидеть блок защиты, либо пытается модифицировать алгоритм сравнения характеристик среды таким образом, чтобы он всегда запускался по одной из ветвей – ветви верной регистрации (лицензионного запуска). В отдельных ситуациях такая модификация сводится к изменению всего 1 байта программы.
Для того, чтобы затруднить злоумышленнику атаку на этот блок, данный блок должен отвечать ряду требований:
1. установка значений характеристик среды и их сравнение с эталонными должно производиться многократно и на протяжении всей работы программы
2. получение результатов сравнения характеристик среды должно быть распределено принудительно по всему коду программы, должны использоваться приемы, затрудняющие установку злоумышленником эталонных характеристик среды, установленной блоком защиты, может использоваться при формировании некоторого значения переменной, которая определяет индекс в массиве, где хранится адрес, на который должен осуществляться дальнейший переход
3. значения, получаемые от блока установки характеристик среды, желательно использовать в качестве ключа для дешифровки кода программы.
Блок установки характеристик среды.
<