Современное ПО: основные недостатки защиты и общие способы их устранения


Автор: GoKs [UOFG Crew]
Соавторы: aSL! [UOFG Crew]


INTRO

Данный материал предназначен для всех тех, кто создаёт собственные программные продукты или пишет для них защиты. Надеюсь меня простят все те, кто эти защиты ломает и обходит ;-)!

Причины побудившие написать этот материал

Проанализировав весь найденный и доступный материал в Сети по взлому ПО (благо такого материала сейчас предостаточно), а также основываясь на собственном опыте и опыте членов нашей команды, я пришёл к выводу, что огромное количество “шареварного” софта практически не имеет защиты от “крэкеров”, либо защищено плохо и для “крэкеров ”, как бы специально оставлены дыры. Также, меня глубоко задевают выпады и “наезды” некоторых разработчиков в адрес нашей команды. Постоянные посетители нашего сайта поймут, о чём я говорю. Для тех же, кто не часто заглядывает к нам, поясню: некоторые производители ПО, найдя у нас на сайте или в сети “крак” к своему продукту, сильно “расстраиваются” и начинают строить козни людям, которые сломали их защиту, обращаясь к администрации серверов на которых размещены такие сайты. Администраторы, находясь под давлением разработчиков , закрывают такие ресурсы. Я думаю, что эти люди в корне неправы! Простым удалением такого ресурса из Сети - проблему не решить! Закрыв один сайт - вы вызываете противодействие по ту сторону баррикады и, как следствие этого, - на один закрытый “варезный” сайт, появляется два, а то и больше ресурсов подобного рода ! Это -социальная проблема, и таким вот способом её никогда не решить! Но пути решения всё же, как мне видится, существуют. Один из них - это создание действительно сильной защиты!

Обзор распространённых типов защит

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

1 тип. Так называемые демо-версии ПО. Проанализировав довольно большое количество таких “демок”, я сделал вывод, что это наиболее хороший способ защиты от несанкционированного использования ПО.

2 тип. Защита ограничением времени работы программы (30 дней или определённое количество запусков). Очень неудачный способ защиты и поддаётся взлому даже начинающему “крэкеру”.

3 тип. Защита на основе генерации серийного номера в зависимости от имени (компании) пользователя. Также довольно слабый способ, хотя иногда и встречаются довольно удачные реализации этого типа защит. В эту же группу я бы включил защиты, основанные на генерации серийного номера в зависимости от отпечатка, созданного программой при первом её запуске. Причём, отпечаток генерируется программой в зависимости от того, какие параметры имеет “железо” компьютера. Здесь намного больше удачных решений, но сам способ не удобен для юзера, купившего такую программу, - ведь при модернизации “железа” ему вновь придётся обращаться к автору, а это не всегда возможно и удобно.

4 тип. Защита, основанная на внешнем “ключевом файле”, так называемые “key-file защиты”. Программа при каждом запуске ищет такой файл в своей директории, и если находит, то считывает зашифрованную информацию из него, расшифровывает её, сравнивает контрольную сумму, полученную при расшифровке и если всё ok, то программа работает как зарегистрированная, если же такого файла нет, или информация при сравнении получается критичной, то программа не запускается вовсе или работает в демо-режиме. Довольно неплохой способ, начинающие “крэкеры”, как правило, не могут сломать подобную защиту, если она грамотно реализована .

5 тип. Навесные защиты типа Vbox, Asprotect, Aspack e.t.c. За этим типом защит я вижу большое будущее. Довольно неплохие решения, но опять же подавляющее большинство подобных защит слабо и в Сети существует огромное количество утилит, снимающих автоматически такие защиты. Но мне представляется наиболее перспективным это направление. Объясню почему. Большинство таких защит, включают все рассмотренные выше типы, сразу, “в одном флаконе”, плюс ко всему используются алгоритмы сжатия исполняемых модулей и шифрование кода программы. Наиболее яркий пример этой группы -Asprotect, и, я думаю, многие любители “пореверсировать”, со мной согласятся, что он - наиболее удачный на сегодняшний день. Хотя продвинутые “крэкеры”, при наличии определённого опыта и наборе определённых средств, успешно справляются и с этим продуктом.

5а тип. Особняком тут стоят весьма известные защиты, применяемые в мире игрушек. Надеюсь, что такие имена, как LaserLock, SecuRom, SafeDisc, StarForce и др. Как правило, они сочетают защиту пятого и третьего типа. Немного поясню: программа как бы “привязывается” к диску, на который она записана, т.е. она зашифрована при помощи отпечатка оригинального диска. Очевидно, что здесь возникают некоторые проблемы при анализе. Наиболее грамотной я хотел бы назвать StarForce. Она Вам, наверное, известна по такой игре, как “Рандеву с незнакомкой”

6 тип. Защиты, осуществлённые при помощи электронных ключей, так называемые “dongle”. Наиболее “трудноломаемые”. Если бы не дороговизна данного типа защит, то, наверное, всё ПО защищалось при помощи “донглов”. Материала по ним в Сети намного меньше, чем по остальным типам защит. Этот тип защит успешно снимают только продвинутые и опытные “крэкеры”.

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

Заключение

В заключении хочется сказать, я не хотел бы этим кратким обзором кого-либо обидеть. Я лишь констатировал те факты, которые реально существую на современном рынке ПО. У некоторых читателей могло возникнуть ощущение, что все существующие защиты очень слабы - это не так! Ситуация в последнее время меняется в лучшую сторону. “Крэкерам” всё труднее становится при взломе программ. Хотя, иной раз, встречаешь неплохую программу, начинаешь исследовать её защиту, и приходишь к выводу, что автор отдал все свои силы на создание и усовершенствование программного продукта, а на написание хорошей защиты не хватило сил или желания.

Хочу проинформировать авторов ПО! Наша команда готова протестировать любую вашу защиту, сделать развёрнутый отчёт по обнаруженным недостаткам и дать рекомендации по улучшению защиты (вплоть до написания более сильной защиты).

Также, наша группа готовит к выпуску (конец ноября) свой шифровщик исполняемых файлов, в котором мы постараемся реализовать все те пожелания, что были рассмотрены в этом материале.


© 2001 GoKs [UOFG Crew] goks@uofg.cc
Additions © 2001 by aSL! [UOFG Crew] asl@uofg.cc
Greets to: everyone in UOFG, TDS , reversing.net and all crackers in da world


Перепечатано с разрешения http://www.uofg.com.ua/




Hosted by uCoz