Теория и практика защиты программ


Анализ программ на этапе их эксплуатации


В данном разделе будут рассмотрены методы исследования программ нарушителем с помощью дизассемблеров и отладчиков на этапе эксплуатации программ с целью внесения в них РПС. То есть задача защиты в отличие от задач защиты, рассмотренных в предыдущем подразделе, здесь решается «с точностью до наоборот». Этот подраздел необходим для понимания процесса исследования программ, но не специалистами в области защиты ПО (см. главу7), которые пытаются обнаружить и устранить программные дефекты, а потенциальными нарушителями, которые пытаются внести в исследуемую программу РПС. Т.е. цель, объекты и субъекты обеспечения безопасности ПО здесь разные.

Основная схема анализа нарушителем исполняемого кода, в данном случае, может состоять из следующих этапов [ПБП]:

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

·     лексический анализ;

·     дизассемблирование;

·     семантический анализ;

·     перевод в форму, удобную для следующего этапа (в том числе и перевод на язык высокого уровня);

·     синтаксический анализ.

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

 

www.kiev-security.org.ua

BEST rus DOC FOR FULL SECURITY

При синтаксическом анализе могут встретиться следующие трудности (хотя - это проблема нарушителя):

·     могут быть не распознаны некоторые лексемы.


- Начало -  - Назад -  - Вперед -