Вы в разделе: Ловушка для взломщика
Философия защиты
Прежде всего нужно сказать, что хакер + не сверхъестественное существо, а самый обычный человек, и если разработчик удосужится изучить методику его работы, написание эффективной защиты перестанет быть неразрешимой задачей. Как правило, хакер хорошо знает обратное проектирование (reverse engineering), но относительно плохо (по сравнению с разработчиком) + системное программирование и математику. Кроме того, он использует некоторые специфические инструменты2, с которыми разработчик обычно не знаком, и работает не с исходным, а с двоичным кодом.
Но не стоит и приуменьшать способности хакера. Это достойный противник, не прощающий ни наивных схем защиты, ни просчетов в ее реализации. Обычно почему-то забывают, что общая стойкость защиты определяется самым слабым ее звеном, так что любые ухищрения вроде аппаратных ключей или привязки к компьютеру будут тщетными, если некоторая часть алгоритма выполняет тривиальную проверку флага свой/чужой на соответствие желаемому результату.
Фактически процесс противостояния разработчика и хакера носит динамический характер, и задача разработчика + всегда быть на шаг впереди. Каждая новая версия программы должна иметь новую схему защиты или, по крайней мере, настолько сильно модифицированную старую, чтобы имеющиеся у хакера наработки давали осечку. Отсюда, кстати говоря, следует еще один важный принцип: любая схема защиты должна существовать в единственном экземпляре. Ни в коем случае нельзя применять один и тот же алгоритм в разных программах. Поступая так, вы реально защищаете только одну программу, а остальные сдаете без боя.
Следует помнить, что абсолютно надежной защиты не существует. Любую защиту можно сломать, поэтому необходимо искать оптимальное соотношение затрат на создание защиты и прогнозируемых затрат на ее взлом, учитывая также ценовое соотношение с самим защищаемым ПО.
Пожалуй, единственный способ надежно защитить свою программу на уровне идеологии + это перевести ее из разряда ПО в разряд платформ. Под платформой здесь понимается достаточно сложный программный комплекс, эксплуатация которого требует тесного сотрудничества с производителем. Разумеется, такое возможно только для высокотехнологичных программных систем корпоративного назначения. Но если ПО позволяет сместить акценты в эту сторону (что, например, происходит сегодня с мультимедийными программами, которые плавно перетекают из домашних компьютеров в офисы), то производитель получает дополнительный рычаг для улучшения защиты.
Страницы: [1] [2]
Советуем посетить:
Натяжные потолки подвесные потолки перфорированные. |
 |
 |
Полезная информация |
|
 |
»
«··· «··· «··· «··· «···
»
«··· «··· «··· «··· «··· «··· «··· «··· «··· «··· «··· «··· «··· «···
»
«··· «··· «··· «··· «··· «···
»
«··· «··· «··· «··· «··· «··· «··· «···
»
«···
»
«··· «··· «··· «··· «··· «··· «··· «··· «··· «···
»
«··· «··· «··· «···
»
«··· «··· «··· «··· «··· «··· «··· «···
»
«··· «··· «··· «··· «··· «··· «··· «···
»
«···
|
| Компьютерные статьи |
|
|
|
|
|
|
|
|