Главная страница

 

ДОМ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программирование
Информационные технологии
Компьютерные сети
Информационная безопасность
Как заработать в сети Интернет
Информационная безопасность
Методы защиты информации
Технические средства защиты информации
Защита от компьютерных вирусов
Защита в сетях
Методы защиты информации

1. Криптографические методы защиты информации

2. Идентификация и аутентификация

3. Способы защиты программных продуктов

return_links(); ?>

Способы защиты программных продуктов

99% процентов защит, ломаются за 10-15 минут. Для этого даже не надо быть хакером. Все, что требуется, — это несколько программ: мощный отладчик типа SOFTICE, дизассемблер типа IDA плюс пара утилит типа FileMon, RegMon, VxdMon. Иногда даже этого много. Ну и еще, конечно, хотя бы базовое знание ассемблера.
Так почему же защита большинства программ настолько примитивна и может быть легко вскрыта? Обычно по двум простым причинам: во-первых, авторы этих защит, как привило, не знают, как защиты "ломаются". И во-вторых: вы они не умеют программировать на ассемблере; практически все защиты, написанные на языках высокого уровня, можно обойти в два счета. Чаще всего достаточно бывает поменять всего пару байт.


Для обеспечения высокого уровня защиты, защита программы должна обладать следующими характеристики:


1.   Защита должна быть написана на языке низкого уровня. Лучше всего на ассемблере.
2.   Важные функции не должны носить имена типа ValidSerialNum, лучше придумать им имена, похожие на стандартные функции.
3.   Не надо сразу предупреждать пользователя о том, что защита нарушена. Лучше сделать это через два-три дня — хакеры это ненавидят.
4.   Хорошо работают "перекрестные" проверки CRC-кодов ЕХЕ- и DLL-файлов.
5.   После ввода пароля (серийного номера) и перед возвратом результата желательно сделать паузу (одной-двух секунд будет вполне достаточно). При этом подобрать правильный пароль путем прямого перебора (с помощью специально написанной программы) будет совершенно невозможно.
6.   Пароли должны храниться в каком-нибудь "необычном" месте, например, в свойствах поля базы данных.
7.   Не рекомендуется привязываться к системной дате. Текущую дату лучше вычислять из времени создания каких-нибудь системных файлов, например в Windows SYSTEM.DAT или 1)USER.DAT.
8.   Пароль нужно хранить в нескольких местах одновременно.
9.   Лучше не использовать "статические" строчки текста для уведомления пользователя о том, что пароль правильный (или неправильный). Это первое, на что смотрит хакер. Эти строчки надо генерировать динамически или использовать шифрование, хотя бы самое простенькое.
10.   Для защиты от дизассемблирования и отладки надо использовать "мелкие хитрости".
11.   Наконец, нельзя рассказывать о том, как построена защита программы.

Copyright © Eugene, 2007
e-mail: webmaster@ITDom.info
Rambler's Top100 Рейтинг@Mail.ru