информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителяВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Блин, где ключ? Внутри екзешки или в инишнике? В любом... 03.09.04 12:24  Число просмотров: 1797
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 03.09.04 12:30  Количество правок: 1
<"чистая" ссылка>
> Сделать ключ длинной в 1024 бита... Сколько времени уйдет
> на подбор?

Блин, где ключ? Внутри екзешки или в инишнике? В любом случае в файлах на винте. В крайнем случае генерится на основе железки. Значит он здесь, в писюке, под рукой, не надо ничего подбирать.

> > Или отключить проверку, даже не затрудняясь поиском
> ключа.
> Не должно помогать. Без расшифрованного модуля экземпляр ПО
> не должен запускатся
> вовсе..

Ну естественно заблаговременно расшифровать модуль и заменить им зашифрованный. Или просто снять дамп памяти модуля в процессе работы программы.

> > ЗЫ Может есть смысл отдавать софт бесплатно (или
> почти), а продавать поддержку.
> В общем и целом поддерживаю. Продавать нужно или поддержку
> или какой либо сервис.

Есть еще куча других методов. Программно-аппаратная защита самый ненадежный и неудачный. Оглянитесь вокруг - сколько софта и каждый разработчик не хочет терпеть потери от пиратства. Не ужели грамотных программистов мало? Посмотрите сколько пиратства на лотках. Почему Микрософт ограничивается тупыми серийниками? Почему не выгодно 1С бороться с продажей пиратских версий на рынках?
<programming>
Защита от тиражирования программ 01.09.04 17:55  
Автор: DmitriAl Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Мне надо защитить один коммерческий программный продукт от несанкционированного тиражирования.

Насколько я понимаю, самый простой путь - привязка к CD. Прочитал статью "Антиконтрацептивы для CD" в "Хакере" 05/04. После ее прочтения мне стало невесело: основная ее мысль в том, что все существующие защиты давно поломаны, и, если нельзя скопировать защищенный диск, то сэмулировать-то запросто. В статье приводится список защит, которые уже просто не актуальны: Cactus Shield, cd-cops, laser-lock, LibCrypt, SafeDisk 1/2, SecoROM, Star-Force 1/2. И это только public список. Я подозреваю, что на самом деле дело обстоит еще хуже.

Насколько я понял, привязка к CD обходится даже любителями, знай себе, нажимай на кнопки в эмуляторе и все. И даже если Star-Force 3 (я так понял, это самая эффективная защита CD на сегодняшний день?) сейчас не поддерживается эмуляторами, то через месяц-другой будет.

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

Возможно ли все-таки обеспечить должную защиту путем привязки к CD? Может, все-таки есть методы, которые не под силу взломщикам?


Это первая часть вопроса. Теперь вторая: если все же надежная привязка к CD невозможна (или вы убедите меня в обратном?), то как организовать хорошую защиту программ от несанкционированного тиражирования?

Я вижу единственный способ: аппаратные ключи защиты. Что вы на это скажете? Насколько они надежны и оправдывают ли они себя? Какие нюансы есть в защите аппаратными ключами? Или они так же спокойно обходятся, как привязка к CD?


И, наконец, заключительная часть: какие книги посоветуете по данным двум проблемам (диски и ключи) и самой защите от копирования? Какие сайты стоит посетить, какие публикации почитать? Я пока читал только Склярова, "Искусство защиты и взлома информации".

Буду ОЧЕНЬ благодарен за помощь.
Как вариант использовать привязку конкретно установленного... 03.09.04 08:53  
Автор: TARASA <Taras L. Stadnik> Статус: Member
<"чистая" ссылка>
> Мне надо защитить один коммерческий программный продукт от
> несанкционированного тиражирования.
Как вариант использовать привязку конкретно установленного экземпляра ПО к конкретной машине.
С одной стороны неудобно - при смене аппаратных компонент придется переустанавливать ПО.
С другой стороны - копия не будет работать на другом компьютере.
Практически любая защита - програмно-аппартаная. В данном случае тяжело поломать аппаратную часть (переписать СН винта, например). А софтверную вполне реально. 03.09.04 10:31  
Автор: Garick <Yuriy> Статус: Elderman
Отредактировано 03.09.04 13:22  Количество правок: 1
<"чистая" ссылка>
Софтверная без аппаратной - это как? Можно заставить программу и не проверять СН винта. 03.09.04 12:16  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Мало какой драйвер дает инфу про СН винта.
Можно подменить драйвер, который в запрос на СН винта даст именно то, что нужно. Благо софт должен уметь работать под правами пользователя, а крэкер может иметь административные права.
Правильно "програмно-аппартаная защита". Я о том что програмная часть слишком слаба, при даже сверх надежной аппаратной. 03.09.04 13:17  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
Смарт ключи, и не надо никакой программной части. 03.09.04 13:38  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Поподробней плиз!:-))) 03.09.04 13:51  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
Ловите... 03.09.04 14:43  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 03.09.04 14:49  Количество правок: 1
<"чистая" ссылка>
Возмите УСБ-флэш-брелок, и извлеките из него информацию при помощи напильника, тестера, микроскопа и пр. То есть не прибегая к электронным устройствам с интерфейсом УСБ. Имеются теоретические возможности это сделать.
Теперь представте, что в брелке однокристалка (со своим ОЗУ, ППЗУ, интерфейсами). Считывание/запись программы/данных возможно только после передачи пароля в этот брелок. Данные обрабатываются без пароля, пароль первоначально пустой, после прошивки в брелок софта прошивается и пароль на считывание и модификацию. Требуется узнать алгоритм и данные, который зашит внутри (в ППЗУ), чтоб сделать эмулятор. Этот "Черный Ящик" принимает данные, обрабатывает их и выдает результат, необходимый для работы программы. В нем не предусмотрено выдать свой код, данные из ПЗУ. Вот здесь и пригодиться умение пользоваться микроскопом и зондами после тренировки над флешками. А саму программу ломать и не надо - что там: запихнуть данные в УСБ-устройство, принять результаты, продолжить их обработку. Только не надо тут про брютфорс говорить. Что не знаете как смарткарточки устроены - секретный пароль внутри и никто его никогда не выдает, внутри и алгоритм шифрования/подписи, обмен только данными.
Это методика защиты или "снятия" защиты? 03.09.04 15:06  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
> Возмите УСБ-флэш-брелок, и извлеките из него информацию при
> помощи напильника, тестера, микроскопа и пр. То есть не
> прибегая к электронным устройствам с интерфейсом УСБ.
> Имеются теоретические возможности это сделать.
Вполне практически осуществимофизически считать с чипа , но информация может быть зашифрована.

> Теперь представте, что в брелке однокристалка (со своим
> ОЗУ, ППЗУ, интерфейсами). Считывание/запись
> программы/данных возможно только после передачи пароля в
> этот брелок. Данные обрабатываются без пароля, пароль
> первоначально пустой, после прошивки в брелок софта
> прошивается и пароль на считывание и модификацию.
Примерно так работают крипто флешки. Может использоваться ассинхронное шифрование. Паблик кей доступен всем и любой может записать в флеш. Но считать можно только при наличии секретного ключа. При не правильном секр ключе - выдается случ инфа. Аналогично для програм блока однокристалки, чтение и (уже) запись возможны при секретных паролях.

>Требуется
> узнать алгоритм и данные, который зашит внутри (в ППЗУ),
> чтоб сделать эмулятор. Этот "Черный Ящик" принимает данные,
> обрабатывает их и выдает результат, необходимый для работы
> программы. В нем не предусмотрено выдать свой код, данные
> из ПЗУ. Вот здесь и пригодиться умение пользоваться
> микроскопом и зондами после тренировки над флешками. А саму
> программу ломать и не надо - что там: запихнуть данные в
> УСБ-устройство, принять результаты, продолжить их
> обработку. Только не надо тут про брютфорс говорить. Что не
> знаете как смарткарточки устроены - секретный пароль внутри
> и никто его никогда не выдает, внутри и алгоритм
> шифрования/подписи, обмен только данными.
Здесь главное (ИМХО) какой код залить в однокристалку. Алгоритм по которому софтина определит свой/чужой? Отключается в софте проверка или подсовывается "свой" ответ. Исли записать в чип бизнес логику - повышаются требования к производительности чипа, да и все бизнес алгоритмы можно найти в открытых источниках (кроме очень специфических) и написать эмулятор. На крайний случай - поверхность значений входных данных не так уж и велика. Опять почти брутефорс с созданием таблицы ответ=f(входн.зн).

ЗЫ система смарткарт работает на укртелекомовских тел карточках. И есть эмуляторы. (про линки не спрашивать, не знаю:-)))
Я предлагал попробовать и только считывание. У того, кто... 03.09.04 16:38  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Вполне практически осуществимофизически считать с чипа , но
> информация может быть зашифрована.

Я предлагал попробовать и только считывание. У того, кто попробует, должно сложиться мнение - возможно или нет. Вы, судя по утверждению, пробовали и опыты зваершились успешно. Какой был размер ячейки вашей флэшки? Считывали заряд затвора? Сколько электронов там было? Каким прибором считывали (модель)? Каким устройством пользовались для подкючения зонда? Как отыскивали нужный транзистор? Каким микроскопом пользовались?

> > программу ломать и не надо - что там: запихнуть данные
> в
> > УСБ-устройство, принять результаты, продолжить их
> > обработку. Только не надо тут про брютфорс говорить.
> Что не
> > знаете как смарткарточки устроены - секретный пароль
> внутри
> > и никто его никогда не выдает, внутри и алгоритм
> > шифрования/подписи, обмен только данными.
> Здесь главное (ИМХО) какой код залить в однокристалку.

ПисАл же - код предварительной обработки данных.

> Алгоритм по которому софтина определит свой/чужой?
> Отключается в софте проверка или подсовывается "свой"

Это все уже рассматривалось, поскольку аналогично СН в винте.

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

У крекеров нет исходников, есть только код/ассемблер. Если они возьмутся по ассемблеру восстановить кусок бизнес логики, в открытых источниках найти подходящее, накатать секретную часть, то они потребуют вознаграждение болше, чем автор.
Возьмите интернет эксплорер, начиная с милионного байта замените килобайтик нулями, потом восстановите их значения. Если хотите - пришлю другую програмку с обнуленой серединой.

> поверхность значений входных данных не так уж и велика.
> Опять почти брутефорс с созданием таблицы
> ответ=f(входн.зн).

Как же не велика - кидаем килобайт в брелок и принимаем несколько килобайт обратно (предположим "внутри" зиповский алгоритм распаковки). Два в восьмитысячной степени элементов таблицы получится по десятку килобит кажый.

> ЗЫ система смарткарт работает на укртелекомовских тел
> карточках. И есть эмуляторы. (про линки не спрашивать, не
> знаю:-)))

Это уж как реализовать :-).
РЕ:Я предлагал попробовать и только считывание. У того, кто... 03.09.04 17:14  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
> > Вполне практически осуществимофизически считать с чипа
> , но
> > информация может быть зашифрована.
>
> Я предлагал попробовать и только считывание. У того, кто
> попробует, должно сложиться мнение - возможно или нет. Вы,
> судя по утверждению, пробовали и опыты зваершились успешно.
> Какой был размер ячейки вашей флэшки? Считывали заряд
> затвора? Сколько электронов там было? Каким прибором
> считывали (модель)? Каким устройством пользовались для
> подкючения зонда? Как отыскивали нужный транзистор? Каким
> микроскопом пользовались?
:-)))
Чип - медианоситель, а информация с чипа читалас программатором.

> ПисАл же - код предварительной обработки данных.
что это? те часть обработки в кристале (процед1.1), а часть в софте(процед1.2)? Так можно эти части сразу вместе и замулить одной процедурой (процед1).
>
>
> У крекеров нет исходников, есть только код/ассемблер. Если
> они возьмутся по ассемблеру восстановить кусок бизнес
> логики, в открытых источниках найти подходящее, накатать
> секретную часть, то они потребуют вознаграждение болше, чем
> автор.
открытые источникики мной подразумевают алгоритмы бизнес процессов (бух операций, статистики, финансового анализа и тд). Более или менее опытный девелопер по готовому алгоритму не за_долго накатает исходник, тем более эти алгоритмы не так уж и велики.

зачем им исходники если есть алгоритмы? и секретная часть зачем? Или передача параметров/данных между большинством процедур в программе в шифрованном виде? В этом случае вызывается криптофункция из процедур программы, почему бы из эмуля ее не вызвать?

> Возьмите интернет эксплорер, начиная с милионного байта
> замените килобайтик нулями, потом восстановите их значения.
> Если хотите - пришлю другую програмку с обнуленой
> серединой.
Прикол в чем?:-)))

>
> > поверхность значений входных данных не так уж и
> велика.
> > Опять почти брутефорс с созданием таблицы
> > ответ=f(входн.зн).
>
> Как же не велика - кидаем килобайт в брелок и принимаем
> несколько килобайт обратно (предположим "внутри" зиповский
> алгоритм распаковки). Два в восьмитысячной степени
> элементов таблицы получится по десятку килобит кажый.
по зиповскому скажу - есть готовые библиотеки и даже писать не надо, только вызовы из эмуля организовать. А сколько возможных вариантов ПРАКТИЧЕСКИ (тех которые могут встретится в природе) "кидаем килобайт" существует?

ЗЫ: пока писал придумал.
1. ложим в кристалл секретный ключ (СК) и функцию дешифрации (ФД).
2. софтина отправляет в кристалл зашифрованную СК процедуру. Кристалл с помощью ФД расшифровывает процедуру и не возвращает, а "оставляет в себе".
3. Софтина посылает данные в кристалл и уже расшифрованная процедура обрабатывает данные и возвращает обратно в софт.
Это можно применить к одной процедуре или нескольким динамично. Одно но эта процедура должна выполнять узкую (редкую) бизнес логику и иметь большую поверхность исходных данных.
Я говорил про смарт-чип на основе однокристалки, который... 06.09.04 11:45  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> :-)))
> Чип - медианоситель, а информация с чипа читалас
> программатором.

Я говорил про смарт-чип на основе однокристалки, который прпросит от программатора сначала пароль, прежде чем дать считать то, что у него в памяти.

> что это? те часть обработки в кристале (процед1.1), а часть
> в софте(процед1.2)? Так можно эти части сразу вместе и
> замулить одной процедурой (процед1).

Можно, вот Вам открытая часть "a = sqrt(b)/c/2-d/c/2". Какой процедуркой можно замулить эту и секретную часть?

> открытые источникики мной подразумевают алгоритмы бизнес
> процессов (бух операций, статистики, финансового анализа и
> тд). Более или менее опытный девелопер по готовому
> алгоритму не за_долго накатает исходник, тем более эти
> алгоритмы не так уж и велики.

Программист №1 накатал программу, где за несколько минут нарисовал интерфейс и несколько недель кодил бизнеслогику по открытым алгоритмам. Программисту №2 предлагается екзешка, в которой есть код интерфейса и кусок бизнес логики; предлагается разобраться с примененной бизнеслогикой и все восстановить. Во сколько раз программист №2 попросит больше денег, чем №1 за свою работу?

> зачем им исходники если есть алгоритмы? и секретная часть
> зачем? Или передача параметров/данных между большинством
> процедур в программе в шифрованном виде? В этом случае
> вызывается криптофункция из процедур программы, почему бы
> из эмуля ее не вызвать?

Алгоритмы в голове программиста №1 и в смарт-ключе в недоступном откомпилированном виде.

> Прикол в чем?:-)))

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

> по зиповскому скажу - есть готовые библиотеки и даже писать
> не надо, только вызовы из эмуля организовать. А сколько
> возможных вариантов ПРАКТИЧЕСКИ (тех которые могут
> встретится в природе) "кидаем килобайт" существует?

Оптимизированный по данным брютфорс.
Зип был приведен в пример, потому, что он "всасывает" весь файл, и выдает что-то, меньшее по размеру (или наоборот). Сколько ПРАКТИЧЕСКИ существует файлов, которые можно зипу "скормить"? Их всех в табличку запихнем?

> ЗЫ: пока писал придумал.
> 1. ложим в кристалл секретный ключ (СК) и функцию
> дешифрации (ФД).
> 2. софтина отправляет в кристалл зашифрованную СК
> процедуру. Кристалл с помощью ФД расшифровывает процедуру и
> не возвращает, а "оставляет в себе".
> 3. Софтина посылает данные в кристалл и уже расшифрованная
> процедура обрабатывает данные и возвращает обратно в софт.
> Это можно применить к одной процедуре или нескольким
> динамично. Одно но эта процедура должна выполнять узкую
> (редкую) бизнес логику и иметь большую поверхность исходных
> данных.

Если (1) выполняется на этапе создания смарт ключа (не в процессе работы), а (2) и (3) в процессе работы, то примерно про это я и говорил. Только СК не должен быть доступен всяким программаторам.
Ближе к реалу :-))) 06.09.04 15:09  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
> Я говорил про смарт-чип на основе однокристалки, который
> прпросит от программатора сначала пароль, прежде чем дать
> считать то, что у него в памяти.
Встречаются люки - тех коды. Или возможность слить всю память, а там брутефорс. Криптоалгоритмы в однокристалках не слишком стойкие.

> > что это? те часть обработки в кристале (процед1.1), а
> часть
> > в софте(процед1.2)? Так можно эти части сразу вместе и
> > замулить одной процедурой (процед1).
> > Можно, вот Вам открытая часть "a = sqrt(b)/c/2-d/c/2".
И какое применение этой части в реале?

> > открытые источникики мной подразумевают алгоритмы
> бизнес
> > процессов (бух операций, статистики, финансового
> анализа и
> > тд). Более или менее опытный девелопер по готовому
> > алгоритму не за_долго накатает исходник, тем более эти
> > алгоритмы не так уж и велики.
> > Программист №1 накатал программу, где за несколько минут
> нарисовал интерфейс и несколько недель кодил бизнеслогику
И за это еще платить деньги как за софт?:-))))

> по открытым алгоритмам. Программисту №2 предлагается
> екзешка, в которой есть код интерфейса и кусок бизнес
> логики; предлагается разобраться с примененной
> бизнеслогикой и все восстановить. Во сколько раз
> программист №2 попросит больше денег, чем №1 за свою
> работу?
Вопрос не в востановлении всего софта, а только его части и то меньшей. Умный програмист найдет алгоритмы бизнес процесов и напишет процедуру-эмуль и его оснавная задача найти точки входа процедуры и поправить.

> > > зачем им исходники если есть алгоритмы? и секретная
> часть
> > зачем? Или передача параметров/данных между
> большинством
> > процедур в программе в шифрованном виде? В этом случае
> > вызывается криптофункция из процедур программы, почему
> бы
> > из эмуля ее не вызвать?
> > Алгоритмы в голове программиста №1
а он где их взял, сам придумал план бух счетов и налоговой отчетности, например?:-))) Алгоритмы уже или описаны другими и/или утверждены нормативными актами. И програмисты просто кодят это в сырцы, а как это у них получиться - второй вопрос.

> > > Прикол в чем?:-)))
> > Прикол в том, что алгоритмы по которым работает эксплорер
> или другие проги "доступны" - попробуйте восстановить кусок
> екзешки, сколько времени это займет, вообще получится ли
> это.
А зачем, может кусок получится лучше или хуже (с девелоперской точки зрения), но почти бесплатный. Главное что бы он обеспечивал принцип "черного ящика": вых_дан=функ(вх_дан).

> Зип был приведен в пример, потому, что он "всасывает" весь
> файл, и выдает что-то, меньшее по размеру (или наоборот).
> Сколько ПРАКТИЧЕСКИ существует файлов, которые можно зипу
> "скормить"? Их всех в табличку запихнем?
Здесь все запущено:-))) Поверхность действительно велика, но и задача про ЗИП то больше теоретическая (по отношению к защите/взому софта). А при массов прикладном софте (бух, склад, логист и тд) поверхности не такие уж и большие.
Не берем чип с "люками". Если надо - свой спроектируем, без... 06.09.04 16:56  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 06.09.04 17:00  Количество правок: 1
<"чистая" ссылка>
> Встречаются люки - тех коды. Или возможность слить всю

Не берем чип с "люками". Если надо - свой спроектируем, без "люков".

> память, а там брутефорс. Криптоалгоритмы в однокристалках

Телефонную книжку с СИМ-карточки не пробовали "слить", не зная ПИН-кода?

> не слишком стойкие.

Не надо ни каких криптоалгоритмов. В СИМ-карточках они не используются.

> > > Можно, вот Вам открытая часть "a =
> sqrt(b)/c/2-d/c/2".
> И какое применение этой части в реале?

А я ждал что-то типа: "b = d * d - 4 * c * e"
Ну буковки я непривычно расставил, пардон. Вместо "c" должно быть "a". Вместо "b" должно быть "b". Вместо "e" должно быть "c". Вместо "a" должно быть "x".
Короче: x = sqrt(d)/a/2-b/a/2 или x = -b/a/2+sqrt(d)/a/2 или x = -b/(2*a)+sqrt(d)/(2*a).
Вынесем общий множитель, получим: x = (-b+sqrt(d))/(2*a).
"Смарт-картовская" часть алгоритма: d = b*b-4*a*c.
А уж какое применение "в реале", несложно догадаться.
В ассемблеровском коде буковки все равно адресами в памяти или регистрами будут представлены.
Это пример того, как по куску кода многим совсем не просто узнать даже знакомый с детства алгоритм.

> > > Программист №1 накатал программу, где за
> несколько минут
> > нарисовал интерфейс и несколько недель кодил
> бизнеслогику
> И за это еще платить деньги как за софт?:-))))

Должен же человек за несколько недель работы что-то заработать?!!

> > программист №2 попросит больше денег, чем №1 за свою
> > работу?
> Вопрос не в востановлении всего софта, а только его части и
> то меньшей. Умный програмист найдет алгоритмы бизнес
> процесов и напишет процедуру-эмуль и его оснавная задача
> найти точки входа процедуры и поправить.

Я педлагал задачку и еще кучу предложу. Если Вы умный программист - решите хоть что-то, в противном случае - не будем спорить.

> > > Алгоритмы в голове программиста №1
> а он где их взял, сам придумал план бух счетов и налоговой
> отчетности, например?:-))) Алгоритмы уже или описаны
> другими и/или утверждены нормативными актами. И програмисты
> просто кодят это в сырцы, а как это у них получиться -
> второй вопрос.

Иногда алгоритмы и придумывать приходится. В бухучете алгоритмы не столь сложны, а вот в ядерной физике, механике, химии, моделировании природных явлений значительно посложнее.

> Здесь все запущено:-))) Поверхность действительно велика,
> но и задача про ЗИП то больше теоретическая (по отношению к
> защите/взому софта). А при массов прикладном софте (бух,
> склад, логист и тд) поверхности не такие уж и большие.

Входные данные для бухучета могут быть все проводки (суммы, счета) за год деятельности крупного предприятия, выходные - всего лишь баланс, или средневзвешенное сальдо для отчета в налоговую. Входная "поверхность" мегабитами будет исчисляться.
Я не программер, я аналитик... 06.09.04 19:12  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
> > > > Можно, вот Вам открытая часть "a =
> > sqrt(b)/c/2-d/c/2".
> > И какое применение этой части в реале?
>
> А я ждал что-то типа: "b = d * d - 4 * c * e"
> Ну буковки я непривычно расставил, пардон. Вместо "c"
> должно быть "a". Вместо "b" должно быть "b". Вместо "e"
> должно быть "c". Вместо "a" должно быть "x".
> Короче: x = sqrt(d)/a/2-b/a/2 или x = -b/a/2+sqrt(d)/a/2
> или x = -b/(2*a)+sqrt(d)/(2*a).
> Вынесем общий множитель, получим: x = (-b+sqrt(d))/(2*a).
> "Смарт-картовская" часть алгоритма: d = b*b-4*a*c.
> А уж какое применение "в реале", несложно догадаться.
> В ассемблеровском коде буковки все равно адресами в памяти
> или регистрами будут представлены.
> Это пример того, как по куску кода многим совсем не просто
> узнать даже знакомый с детства алгоритм.
Да не вникал я в алгоритм:-))) И школу закончил давно:-)))) Но вот потребительская ценность этой пары какая? Кто деньги захочет за это платить? см. ниже.


> > > > Программист №1 накатал программу, где за
> > несколько минут
> > > нарисовал интерфейс и несколько недель кодил
> > бизнеслогику
> > И за это еще платить деньги как за софт?:-))))
>
> Должен же человек за несколько недель работы что-то
> заработать?!!
Если только этого софта есть потребительская ценность. Нужна эта программа кому нибудь и ценней (по функциональности, стоимости, сервису ....).


> Я педлагал задачку и еще кучу предложу. Если Вы умный
> программист - решите хоть что-то, в противном случае - не
> будем спорить.
есть смысл остановиться с задачками, а рассмотреть главную задачу - плюсы и минусы методов защиты от несанкционирования использования ПО и техэконом обоснование (приблизительное).

> Иногда алгоритмы и придумывать приходится. В бухучете
> алгоритмы не столь сложны, а вот в ядерной физике,
> механике, химии, моделировании природных явлений
> значительно посложнее.
В "настоящей" науке сложнее и с сегметом потребителей. Количество невелико, да и нелецинзионно они могут использовать только в триале. А при ссылке на результаты вычислений от нелиц ПО, можно "потерять" подтверждения результатов (да и лицо института/универа) научным сообществом. Поэту либо приобретаются лицензии, либо используются обучающие версии, которые как правило партнерские бесплатные и/или недороги. И это ПО редко сильно защищено от нелиц использования, не та специфика.

> Входные данные для бухучета могут быть все проводки (суммы,
> счета) за год деятельности крупного предприятия, выходные -
> всего лишь баланс, или средневзвешенное сальдо для отчета в
> налоговую. Входная "поверхность" мегабитами будет
> исчисляться.
Если вся- это даже_сильно_не_много.:-))

ЗЫ я работаю в ком организации , а основная задача - удовлетворения общественных потребностей и получение прибыли (это из основ менеджмента), вот и смотрю на эту задачу с этих позиций. Потребители в основном также ком организации, может у "науки" другая мотивация?
Я заканчиваю. 07.09.04 10:45  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Да не вникал я в алгоритм:-))) И школу закончил давно:-))))
> Но вот потребительская ценность этой пары какая? Кто деньги
> захочет за это платить? см. ниже.

Я заканчиваю.
Обсуждение теряет смысл, если один из участников не пытается что-то доказать.
Интетерсно насколько давно, чтоб забыть про квадратные уравнения.
Этой пере ценности нет никакой, но если кому-то и ее затруднительно или лень раскрутить, то что говорить о серьезных алгоритмах.

> Если только этого софта есть потребительская ценность.
> Нужна эта программа кому нибудь и ценней (по
> функциональности, стоимости, сервису ....).
>
> есть смысл остановиться с задачками, а рассмотреть главную
> задачу - плюсы и минусы методов защиты от
> несанкционирования использования ПО и техэконом обоснование
> (приблизительное).
>
> В "настоящей" науке сложнее и с сегметом потребителей.
> Количество невелико, да и нелецинзионно они могут
> использовать только в триале. А при ссылке на результаты
> вычислений от нелиц ПО, можно "потерять" подтверждения
> результатов (да и лицо института/универа) научным
> сообществом. Поэту либо приобретаются лицензии, либо
> используются обучающие версии, которые как правило
> партнерские бесплатные и/или недороги. И это ПО редко
> сильно защищено от нелиц использования, не та специфика.
>
> ЗЫ я работаю в ком организации , а основная задача -
> удовлетворения общественных потребностей и получение
> прибыли (это из основ менеджмента), вот и смотрю на эту
> задачу с этих позиций. Потребители в основном также ком
> организации, может у "науки" другая мотивация?
Если уж мой тезка добрался до СД, то уж привязку к писюку,... 03.09.04 10:25  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Как вариант использовать привязку конкретно установленного
> экземпляра ПО к конкретной машине.

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

> С одной стороны неудобно - при смене аппаратных компонент
> придется переустанавливать ПО.

Этим лишь только электронные ключи и СД предпочтительнее.

> С другой стороны - копия не будет работать на другом
> компьютере.

Если Дмитрий рассматривает электронные ключи и СД, то суть не в том, чтоб на другом писюке не работала, а суть в "железке", как в лицензии - захотел там поработал, захотел сям, но только на одном, а не на двух сразу.
Как вариант держать какую-либо компоненту ПО в зашифрованном... 03.09.04 11:28  
Автор: TARASA <Taras L. Stadnik> Статус: Member
<"чистая" ссылка>
> > Как вариант использовать привязку конкретно
> установленного
> > экземпляра ПО к конкретной машине.
>
> Если уж мой тезка добрался до СД, то уж привязку к писюку,
> наверняка, рассматривал первым делом. Его задача не дать
> заработать крэкерам, а защитить свою программу. В этом
> отношении электронные ключи превосходят привязку к писюку,
> но и они под сомнением. Защита должна быть простая,
> дешевая, надежная. Привязка к писюку легче всего ломается.

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

> "железке", как в лицензии - захотел там поработал, захотел
> сям, но только на одном, а не на двух сразу.
если кому-то понадобится, напишут эмулятор ключа. преценденты есть.
Значит зашифрованная компонента есть. 03.09.04 12:08  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 03.09.04 12:10  Количество правок: 1
<"чистая" ссылка>
> Как вариант держать какую-либо компоненту ПО в
> зашифрованном виде,

Значит зашифрованная компонента у клиента есть.

> при запуске, на основе апаратной привязки и сгенеренного
> ключа, указанную
> компоненту расшифровывать в памяти и запускать экземпляр
> ПО.

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

> если кому-то понадобится, напишут эмулятор ключа.
> преценденты есть.

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

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

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

ППС: И за что я люблю фришный софт?...
Для расшифровки модуля необходим ключ (при несимметричном - секретный) на стороне пользователя. 03.09.04 11:44  
Автор: Garick <Yuriy> Статус: Elderman
<"чистая" ссылка>
И как не прячь - вопрос времени найти ключ и расшифровать и "поправить" модуль.
Или отключить проверку, даже не затрудняясь поиском ключа.

ЗЫ Может есть смысл отдавать софт бесплатно (или почти), а продавать поддержку.
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach