Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.007 c
1-18425
Simeon
2003-09-24 18:31
2003.10.06
Функция как конструктор обекта. Как правильно?


14-18604
E_Dimon
2003-09-17 12:50
2003.10.06
Ошибка в Windows 2000


1-18300
REA
2003-09-24 20:08
2003.10.06
Сохранить CoolBar


3-18267
AlexWeb
2003-09-15 16:50
2003.10.06
Почему у меня при переоткрытии не обновляется IBDataSet?


1-18290
Andy BitOff
2003-09-24 01:55
2003.10.06
Математика :-)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский