Моделирование конфликтных ПОТОКОВ ДАННЫХ В СИСТЕМАХ ЗАЩИТЫ ИНФОРМАЦИИ |
15-10-2024 |
Последствия таких событий очевидны. Причем наиболее плачевный результат ожидает нас в последнем случае. В зависимости от предметной области ПО это может быть потеря крупных денежных сумм при расчетах, разрешение доступа к системе нелегитимному пользователю и тому подобное. Этот список можно продолжать бесконечно.
Решений существует несколько.
Вопервых, использовать упаковщики исполняемых файлов, например UPX. Однако это останавливает Лишь неопытного взломщика. Сигнатура распаковщика, Прикрепление в начале файла, легко распознается как вручную, так и автоматически, после чего легко осуществляется обратный процесс приведения кода в изначальный неупакованный вид.
Вовторых, часто применяются специальные средства защиты, такие как ASProtect
система программной защиты приложений от несанкционированного копирования, разработанная для быстрой установки функций защиты приложения и предназначенная специально для разработчиков ПО . Чаще такая защита пишется разработчиком вручную,?
и, как следствие, ее уровень оказывается еще хуже, т.к. для написания защиты требуется хотя бы Минимальная квалификация в области написания защит ПО. Основные схемы таких средств можно увидеть на рис. 1.
Рис. 1. Схемы средств защиты исполняемому кода: А защита вне программы, Б защита внутри программы, В защита рассеяного внутри программы.
Основным неустранимыми недостатком таких защит является уязвимое место соприкосновения основного кода с защитными кодом. Применяя обратный инжиниринг, в частности дизассемблирования, с помощью дизассемблера, при котором прямой машинный код программы читается и понимается в своём чистом виде, только с помощью Мнемоник машинного языка становится возможным изменять, корректировать и даже удалять защитный код
Обеспечение целостности кода и безопасности данных
В результате простого анализа состояния дел в области защиты программного кода становится ясно, что все существующие направления защиты являются бесперспективнымы в плане достижения гарантированно результата. Для преодоления таких трудностей нами предлагается принципиально новая методика, основанная на сочетании виртуальной машины и криптографии.
Виртуальная машина (англ. virtual machine) - это программная или аппаратная среда, исполняющая некоторый код (например, байткод, шитый код, pкод или машинный код реального процессора), или спецификация такой системы.