Защита ПО от несанкционированного использования

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Защита ПО от несанкционированного использования

Сообщение CRobin » 01.06.2016 04:22:50

Задача тривиальная, нужно авторизовать пользователя по паролю. Сейчас делаю так: пароль сам по себе в ПО не вшит, вшит хэш в виде числа 8 байт, вычисляется по формуле с использованием бинарного представления строки-пароля, которую указывает пользователь. Формуля известна только мне. Далее в коде в одном месте перед запуском делаю проверку такого типа

Код: Выделить всё
if not ( checkval == getCode(password) ) then Exit;


Вопрос. Достаточно ли таких мер для присечения несанкционированного использования? Какие варианты взлома можно предположить? Нужно ли делать такую проверку регулярно или достаточно один раз после запуска приложения?
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

Re: Защита ПО от несанкционированного использования

Сообщение DYUMON » 01.06.2016 06:18:25

так эта проверка и откручивается на раз. если у тебя это только одна проверка. а вот если ты ты её в каждую процедуру засунешь тогда взлом усложнится.
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54

Re: Защита ПО от несанкционированного использования

Сообщение resident » 01.06.2016 10:29:43

CRobin писал(а):Достаточно ли таких мер для присечения несанкционированного использования?

У вас были случаи несанкционированного исполь.?

CRobin писал(а):Какие варианты взлома можно предположить?

http://www.ozon.ru/context/detail/id/2815570/
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Защита ПО от несанкционированного использования

Сообщение Лекс Айрин » 01.06.2016 10:37:19

DYUMON писал(а):а вот если ты ты её в каждую процедуру засунешь тогда взлом усложнится.

ничего особо сложного нет. Даже я бы вскрыл, если бы чуть получше владел отладчиком. проверок должно быть несколько, некоторые фальшивые, но это не должно быть понятноу. Так же проверка должна вызываться в любой внезапный момент времени и быть неочевидной. Желательна привязка к основному оборудованию.

Хотя, если сильно надо, взломают и так. При особой необходимости, отвязывают даже от аппаратных ключей.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Защита ПО от несанкционированного использования

Сообщение McLion » 01.06.2016 13:00:54

Код: Выделить всё
==
в паскале? Есть разве такое?
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Защита ПО от несанкционированного использования

Сообщение Ichthyander » 01.06.2016 15:13:43

Лучшая защита - это невыгодное для хакера соотношение цены на программу к трудоемкости взлома. Желательно использовать более одного вида защиты, но сильно заморачиваться не стоит. Лучше уделить больше времени на развитие функционала и увеличение пользователей с одновременным уменьшением цены и добавлением работоспособной бесплатной версии программы, которая бы покрывала хотя бы 50% основных потребностей более 50% потенциальных пользователей продукта...
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 698
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Защита ПО от несанкционированного использования

Сообщение CRobin » 01.06.2016 16:19:15

Лекс Айрин писал(а):ничего особо сложного нет. Даже я бы вскрыл, если бы чуть получше владел отладчиком.

разве с бинарного файла можно восстановить логику алгоритма проверки?

McLion писал(а):в паскале? Есть разве такое?

да, ошибся, нет конечно
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

Re: Защита ПО от несанкционированного использования

Сообщение Лекс Айрин » 01.06.2016 16:30:24

CRobin писал(а):разве с бинарного файла можно восстановить логику алгоритма проверки?


а) да, можно. Бинарный файл легко превратить в ассемблерный код. При особом желании, можно даже сделать преобразование в текст на ЯВУ.
б) Это не нужно, если проверка одна -- меняется лишь (в подавляющем большинстве случаев) 1 байт (бит) в коде и любой серийник/хеш, кроме правильного, будет считаться легитимным.

Ну и... как вы думаете, за счет чего появляются генераторы серийных номеров?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Защита ПО от несанкционированного использования

Сообщение CRobin » 01.06.2016 17:09:10

как выходить из ситуации? если проверка будет не регулярной это усложнит ее локализацию?
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

Re: Защита ПО от несанкционированного использования

Сообщение RusDeveloper » 01.06.2016 17:19:59

CRobin писал(а):как выходить из ситуации? если проверка будет не регулярной это усложнит ее локализацию?

одна проверка - правим 1 байт, много проверок - правим много байтов. а локализацию проверок усложнит разный код проверок, отсутствие отладочной информации и символьных строк в exe-шнике (dll-ке)

Добавлено спустя 3 минуты 9 секунд:
что за приложение, если не секрет, Вы пишите?
RusDeveloper
новенький
 
Сообщения: 92
Зарегистрирован: 06.04.2016 12:02:43

Re: Защита ПО от несанкционированного использования

Сообщение Лекс Айрин » 01.06.2016 18:13:36

CRobin писал(а):как выходить из ситуации?


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

RusDeveloper писал(а):отсутствие отладочной информации и символьных строк в exe-шнике (dll-ке)


если честно, то для взлома символьные строки не особо нужны. При запуске в отладчике они появятся сразу. Самый экстрим, но это чисто ассемблерная фишка, -- саморасшифровывающийся код. Хотя и его взламывают (( проблема любой защиты в том, что она не может быть полностью скрыта.

Да и потом, мало какой проге нельзя найти бесплатный (свободный, условно-бесплатный) аналог.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Защита ПО от несанкционированного использования

Сообщение CRobin » 01.06.2016 19:15:15

RusDeveloper писал(а):что за приложение, если не секрет, Вы пишите?


Приложение не коммерческое, для частного использования, нужно защитится от взлома в ситуации когда украден носитель.
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

Re: Защита ПО от несанкционированного использования

Сообщение MysticCoder » 01.06.2016 22:35:25

Если для частного, то делай одну проверку как ты предложил и пакуй экзешник криптором каким нить, типа ASPack. 99 кулхацкеров которые позарятся на твою программу это отвадит.
MysticCoder
постоялец
 
Сообщения: 154
Зарегистрирован: 14.09.2013 00:20:28

Re: Защита ПО от несанкционированного использования

Сообщение RusDeveloper » 02.06.2016 11:02:29

CRobin писал(а):
RusDeveloper писал(а):нужно защитится от взлома в ситуации когда украден носитель.

обычно крякеры не вороют носители :mrgreen: может тогда не изобретать велосипед, а свое незащищенное приложение шифровать другой прогой?
RusDeveloper
новенький
 
Сообщения: 92
Зарегистрирован: 06.04.2016 12:02:43

Re: Защита ПО от несанкционированного использования

Сообщение CRobin » 02.06.2016 11:41:05

Украден носитель это выемка сервера на ДЦ, при чем тут крякеры и кулхацкеры не очень ясно.
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 227

Рейтинг@Mail.ru