Защита программ

       

Этапы преодоления систем защиты программного обеспечения


, Движение ПОтребитель

В статье описывается обобщённая процедура анализа и деактивации систем защиты программного обеспечения (ПО) от несанкционированного использования и копирования. Знание методик, которые используются злоумышленниками ('crackers') для преодоления систем программной защиты, позволяет более точно определить слабые места существующих систем, а так же проектировать новые, более устойчивые к атакам. Нами предлагается описание унифицированной методики анализа и преодоления систем программной защиты, являющейся результатом обобщения и систематизации многочисленных приёмов "взлома" программ, публикуемых в современной литературе [], а также, доступных в глобальной сети. По итогам проведённого исследования предложен комплексный критерий оценки устойчивости систем защиты программного продукта.

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

Мы считаем, что изучению методов, используемых для анализа и преодоления систем защиты ПО, не уделялось достаточного внимания, в то время как их знание позволяет в значительной мере сократить количество уязвимых мест в системах защиты.

Нами было проведено исследование современных подходов к программно-технической защите программных продуктов, а также подходов к преодолению такой защиты. В результате можно сделать вывод, что как с одной (защита), так и с другой ("взлом") стороны основное внимание уделялось и до сих пор уделяется прикладным приёмам защиты ПО или её преодоления []. В то же время, нам не удалось отыскать ни обобщённых методик проектирования и реализации систем программной защиты, ни аналогичных методик анализа и преодоления таких систем.

Анализ приёмов преодоления систем программной защиты различных типов позволил выявить ряд общих закономерностей. В данном случае, положительную роль сыграло многообразие описываемых злоумышленниками методик, различный уровень их сложности, а также их принадлежность к различным стадиям анализа систем защиты ПО. Таким образом, стало возможным систематизировать информацию по данному вопросу и описать обобщённую процедуру анализа и преодоления систем защиты программных продуктов.

По нашему мнению, любые приёмы и методы анализа и преодоления систем защиты ПО можно свести к ряду стандартных этапов. (См. блок-схему на )



Содержание раздела