Форум: "Система";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизЗащита информации в сети Найти похожие ветки
← →
artemkin (2003-07-20 22:42) [0]Господа, вот такая трабла : рыскал в поисках информации в сети и практически ничего не нашел, а дело вот в чем.
Есть ли в "системе" какой-нибудь УНИКАЛЬНЫЙ для каждой машины идентификатор, присущий каждой машине?
>присущий каждой машине потому, что, например, как, по-моему, я читал, серийный номер винчестера есть не у каждого, и это вобще не серийный номер... .
Т.Е. я имею в виду, что нужно выудить из компутера что-то, что, как таковое есть у всех, но уникально для каждого. во как.
Хотелось бы услышать ваше, уважаемые мастера, мнение.
← →
Marser (2003-07-20 23:04) [1]У третих Пней поначалу было, но общественность возмутилосчь и их убрали.
← →
Rouse_ (2003-07-20 23:06) [2]Зеленый буттон на зеленой форме ищете уважаемый...
На данный момент "Псевдоуникальный" элемент - МАС адрес сетевой карты. Только она по долгу живет в компьютере конечного пользователя (но также легко перепрошивается).
Действительно уникальный адрес - идентификанционный номер Вашей программы.
Желаю успехов
ЗЫ: Или я чего недопонял?
← →
DC-AC (2003-07-21 07:58) [3]Ничего нового я не скажу, я лишь процитирую постнг из этой же конференции (если я всё допонял :-) )
msts (06.09.02 11:05)
Если сможешь решить эту задачу (привязка программы к "рабочему месту") смело проси за это 10 000 000$ как ни как сотни фирм и десятки корпораций тратят на решение этой проблемы миллионы баксов и кстати абсолютный результат = 0 иначе ты бы не сидел на XP Professional и точно не юзал Delphi :(
но конечно есть относительный результат состовляющий 17% от абсолютного, но это так отступление (которое ты и так знаешь)
в общем возьми ручку и лист бумаги (так делают все матера :))- раздели его по полам линией с одной стороны опиши типовую конфигурацию "рабочего места" - установленного на него програмного и аппаратного обеспечения (если прога стоящая то и особенные требования найдутся) на другой половине опиши какие изменения (и какова их степень) приводит к тому что теперь это _другое_ рабочее место и есть основание заявить о необходимости переустановки проги в общем решил для себя - что
значит "запустили прогу на другом компе"
(в качестве источника я бы использовал глобальную таблицу атомов, если установленна винда)
далее определился бы с форматом хранения этой информации и способа интеграции в код программы для наибольшей зависимости (придется написать свой линковщик)(можно использовать java П-код и генерить на нем часть проги - выполнять в другом потоке исползуя какую нибудь JVM)
далее я бы применил нейронные сети (в частности распознования образов) для анализа этого описания - что позволяет сделать более мягкую проверку на изменения конфигурации, с каждым запуском нужно сохранять результат анализа то есть новую конфигурацию (получится как бы фотография компа с шумом - а твоя прога будет распозновать в ней тот комп на который ее поставили и если не узнает то заявить о переустановки, но комп стареет/изменяется но если эти изменения затронули 50 из 1000 атрибутов то это нормально иначе... ) при этом должно быть накопление (в разумных пределах) результатов анализа и переодической смены эталона с которым сравнивать - комп стареет а прога его узнает (как человек постоянно видящий другого не замечает изменений а стоит возникнуть перерыву - то уже нужно узнавать)
что дают нейронные сети (НС) - сложность трассировки (прямо скажем нихрена непонятно) интеграция в нее своего кода (полезного так сказать) достаточно проста в связи с компонентной архетиктурой делфы, так же можно сделать зависимость от степени узнования - степень ограничений на функциональность проги,
так как в НС нет прямых переходов - если иначе - то банальная замена инструкций не поможет крякеру, снимок проги из памяти тоже, знание НС "не дает нихрена" (Цой) , в общем полиморфная прога на критериях зависящих от конфигурации компа.
осталось защитить генератор НС - для этого система будет состоять из 3х частей
1 - программа установки - ПУ
2 - сама программа - П
3 - генератор НС - ГНС
клиенту высылается ПУ и П - она формирует предварительное описание (ПО) раб места - передает разработчику - на основе этого ПО - генератор формирует НС и высылает назад - ПУ вшивает НС в П (ну вариации на твое усмотрение), таким образом разработчику нужно защищать только ГНС
если НС имеет 1000 узлов/нейронов помноженных на 10 связей-синапсов и того 10 000 конструкций - если/иначе - крякеру будет грусно
а теперь представь на сколько должна быть стоящей твоя прога?
а с другой стороны можно потратить 5 месяцев - наваять ~ 35 000 строк кода в скомпиленном виде ~15кб - сделать компонент для дельфы и продать за выше указанную сумму какой нибудь корпорации
← →
DC-AC (2003-07-21 07:58) [4]Ничего нового я не скажу, я лишь процитирую постнг из этой же конференции (если я всё допонял :-) )
msts (06.09.02 11:05)
Если сможешь решить эту задачу (привязка программы к "рабочему месту") смело проси за это 10 000 000$ как ни как сотни фирм и десятки корпораций тратят на решение этой проблемы миллионы баксов и кстати абсолютный результат = 0 иначе ты бы не сидел на XP Professional и точно не юзал Delphi :(
но конечно есть относительный результат состовляющий 17% от абсолютного, но это так отступление (которое ты и так знаешь)
в общем возьми ручку и лист бумаги (так делают все матера :))- раздели его по полам линией с одной стороны опиши типовую конфигурацию "рабочего места" - установленного на него програмного и аппаратного обеспечения (если прога стоящая то и особенные требования найдутся) на другой половине опиши какие изменения (и какова их степень) приводит к тому что теперь это _другое_ рабочее место и есть основание заявить о необходимости переустановки проги в общем решил для себя - что
значит "запустили прогу на другом компе"
(в качестве источника я бы использовал глобальную таблицу атомов, если установленна винда)
далее определился бы с форматом хранения этой информации и способа интеграции в код программы для наибольшей зависимости (придется написать свой линковщик)(можно использовать java П-код и генерить на нем часть проги - выполнять в другом потоке исползуя какую нибудь JVM)
далее я бы применил нейронные сети (в частности распознования образов) для анализа этого описания - что позволяет сделать более мягкую проверку на изменения конфигурации, с каждым запуском нужно сохранять результат анализа то есть новую конфигурацию (получится как бы фотография компа с шумом - а твоя прога будет распозновать в ней тот комп на который ее поставили и если не узнает то заявить о переустановки, но комп стареет/изменяется но если эти изменения затронули 50 из 1000 атрибутов то это нормально иначе... ) при этом должно быть накопление (в разумных пределах) результатов анализа и переодической смены эталона с которым сравнивать - комп стареет а прога его узнает (как человек постоянно видящий другого не замечает изменений а стоит возникнуть перерыву - то уже нужно узнавать)
что дают нейронные сети (НС) - сложность трассировки (прямо скажем нихрена непонятно) интеграция в нее своего кода (полезного так сказать) достаточно проста в связи с компонентной архетиктурой делфы, так же можно сделать зависимость от степени узнования - степень ограничений на функциональность проги,
так как в НС нет прямых переходов - если иначе - то банальная замена инструкций не поможет крякеру, снимок проги из памяти тоже, знание НС "не дает нихрена" (Цой) , в общем полиморфная прога на критериях зависящих от конфигурации компа.
осталось защитить генератор НС - для этого система будет состоять из 3х частей
1 - программа установки - ПУ
2 - сама программа - П
3 - генератор НС - ГНС
клиенту высылается ПУ и П - она формирует предварительное описание (ПО) раб места - передает разработчику - на основе этого ПО - генератор формирует НС и высылает назад - ПУ вшивает НС в П (ну вариации на твое усмотрение), таким образом разработчику нужно защищать только ГНС
если НС имеет 1000 узлов/нейронов помноженных на 10 связей-синапсов и того 10 000 конструкций - если/иначе - крякеру будет грусно
а теперь представь на сколько должна быть стоящей твоя прога?
а с другой стороны можно потратить 5 месяцев - наваять ~ 35 000 строк кода в скомпиленном виде ~15кб - сделать компонент для дельфы и продать за выше указанную сумму какой нибудь корпорации
← →
artemkin (2003-07-21 19:07) [5]> DC-AC
слишком сложно, поэтому поставлю вопрос по другому :
К какому УСТРОЙСТВУ компьютера можно ПРИВЯЗАТЬ прогу (из тех, которые на 99% установлены у всех(винт, сидиром... .)), поскольку эту информацию достать не составит труда, а защита - хорошая, - пользователь-то не знает, что именно я использую как защиту?!?
← →
Rouse_ (2003-07-21 20:04) [6]Ну привяжись к серийному номеру биоса. В FAQ кажется был пример.
Только он для 9х-Ме, для Нтей додумывай сам (там реестр). Только это ничего не даст. Проще похитрей прописаться в реестре или файлик какой оставить в виде хвоста.
Желаю успехов
← →
DC-AC (2003-07-22 07:26) [7]artemkin : а кто сказал, что будет легко ? ;-) Стоимость (или трудоёмкость) разработки защиты может в несколько раз превышать стоимость разработки самой программы. Иначе тебе защита и не нужна совсем.
Rouse_ : Нет такого термина "серийный номер биоса". Серийный номер, для сведения, это некое уникальное значение. Программно серийный номер можно вытянуть из единственной составляющей системного блока - из HDD. И то не из всех.
← →
лёха (2003-07-22 09:25) [8]А я думаю по мак адресу сетевой, правда есть проблема в том что щас уже и мак адрес сетевой меняется как два пальца обосс@ть.
← →
ValeraVV (2003-07-22 09:45) [9]Меняется, то меняется, но в сетке одного предприятия две копии такой программы не выживут, так если ты пишешь чат для локалки или любое другое средство для обмена информации в локальной сети - то так можно защититься (т.е. первая копия "бесплатно", остальные - за деньги)
← →
LAMER Pro (2003-07-22 10:27) [10]DC-AC:
Не могу согласится с тем, что стоимость разработки защиты должна быть больше стоимости разработки самой программы:
В таком случае разработчик будет вынужден включить в стоимость программы и стоимость защиты, но этим самым пользователю программы навязывается функциональность, которая ему не нужна - а это уже мошенничество. Пользователь заинтересован платить деньги только за то, что ему нужно, а ваша защита - это грубое вымогательство денег на момент продажи программы.
По этой причине распространение программ с хорошей защитой доступно только крупным фирмам (даже фирма Borland не способна на это! ;) и, в основном, опирается на честность покупателей.
Защита информации не должна превышать стоимости этой информации.
artemkin:
Если Ваша программа действительно хорошая, то вы получите достаточную прибыль, чтобы покрыть свои расходы на её написание и с честных пользователей, а если программа хреновенькая, то её не будут даже пытаться взламывать.
Хорошим способ стимуляции приобретения лицензионной программы является постоянное её усовершенствование и организация поддержки её пользователей, но опять же это доступно только финансово прочным разработчикам, которых не так много...
Лучше не забивайте себе голову защитой программы, а потратьте свои силы на её улучшение, а когда к Вам придёт известность как к производителю хорошего ПО, то у Вас появятся финансовые возможности создать или приобрести качественную защиту для ПО, причем не добавляя её стоимость к продукту, а пока считайте, что Вы вкладываете средства в свою рекламную компанию. ;)
← →
DC-AC (2003-07-22 12:50) [11]LAMER Pro : Вы невнимательно слушаете.
Стоимость (или трудоёмкость) разработки защиты - это Ваши затраты.
а ваша защита - это грубое вымогательство денег на момент продажи программы.
Моя защита - простая как дверь. Микропроцессорный LPT-ключ собственной разработки. Ну и плюс "хитрый" способ упаковки exe-файла. Но у меня софт спсиализированный, а не какая-нибудь "софтина для вылавливания e-mail адресов в инете и проверки их на валидность", поэтому : во-первых, демо-версий триалов у меня не было и не будет, во-вторых, дистрибутив рабочей программы я высылаю вместе с LPT-ключом, а в третьих - пока из сотни проданных программ ни одну не встретил в инете "крякнутую", может быть в первую очередь по той причине, что люди просто работают с программой и зарабатывают деньги, а "крякать" и раздавать направо-налево им просто невыгодно самим.
← →
Anatoly Podgoretsky (2003-07-22 13:15) [12]artemkin © (20.07.03 22:42)
То есть ти изначально пользователя не во сто не ставишь, он у тебя и вор и не имеет права сменить ничего впрограмме или даже викинуть старый компьютер, а законно приобретенную программу поставить на новый.
Сожет тогда договор о продаже заключать не с покупателем, а с компьютером?
Еще и это, artemkin © (21.07.03 19:07), то есть мы вообще не будем ставить пользователя в известность, а как только у него возникнет эта проблема, он в мыле будет рразыскивать автора и слезно его умолять, а автор уехал на Канары или в Тьму Таракань.
← →
artemkin (2003-07-23 19:06) [13]Спасибо за ваши высказывания, много полезного... .
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.009 c