Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Система онлайн защиты программного обеспечения. Добавлено: 24.07.08 02:32  

Автор вопроса:  Demrak | Web-сайт: xmaker.ru | ICQ: 213668448 
Витает идейка в воздухе, намутить сабж, от всех остальных аналогов отличается следующим. Активация только через тырнет, работа ПО - также только при подключенном тырнете, контроль целостности приложения осуществляется либо по защищенному соединению, либо средствами собственной наработки шифрования потока информация по незащищенным каналам связи с плавающим ключем. защищаемый функционал ПО не вшит в программу а подгружается через вышеобозначенный спецканал, расшифровывается(??? или нет еще не решил) и встраивается на лету в запущенную программу (возможны проблемы с антивирем). После закрытия приложения защищаемые модули программы становятся нерабочими и при следующем запуске необходимо повторить все вышеупомянутые этапы. Как идейка?

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #1 Добавлено: 24.07.08 02:44
средствами собственной наработки шифрования потока информация

А, по этому вопросу пожалуйста в тему http://vbnet.ru/forum/show.aspx?id=167726, я сам уже полгода жду...

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

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 24.07.08 02:51
Хотя можно в некоторых местах улучшить.

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

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

Далее сервер присылает на клиентский компьютер специальный 20-символьный код (или 40-символьный для надежности).

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

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

Разумеется, на сервере на каждом этапе стоят специальные проверки, что не допустить неавторизованый доступ!

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 24.07.08 03:02
Далее поднимается вопрос о том как передать программу.

По каналу сервер передает клиенту специальную программу-загрузчик.

Эта программа должна запуститься в режиме ядра в нулевом кольце (как считаете, могут быть проблемы с антивирусом?), выгрузить из памяти все остальные программы и модули в том числе ядро операционной системы, и загружает с сервера код самой программы.
Разумеется, чтоб не могли проснифить каналы, память и т.п. - программа присылается зашифрованой и в таком зашифрованом виде загружается в память и запускается. Оперерирует она также с зашифроваными данными в памяти, чтоб никто не смог с помощью спец. оборудования получить код или данные. (нужно продумать математические алгоритмы, чтоб зашифрованый код работал также как и расшифрованый!, то же касается и данных)

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

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

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

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

То же самое касается и памяти - каждая ячейка миллион раз перезаписывается (чтоб по остаточному статическому напряжению в микросхемах не могли восстановить исходные данные - есть блин умельцы!

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

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

При следующем запуске необходимо повторить все вышеупомянутые этапы.

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 24.07.08 03:06
Чуть не забыл!

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

Например передается гигабайт мусора, среди которого 10 килобайт - реально полезные данные.

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

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 24.07.08 03:08
дайте две!

Ответить

Номер ответа: 6
Автор ответа:
 Demrak



ICQ: 213668448 

Вопросов: 6
Ответов: 22
 Web-сайт: xmaker.ru
 Профиль | | #6
Добавлено: 24.07.08 03:59
не понимаю к чему сарказм? Если что-то непонятно из идеи, то могу объяснить, стоит только спросить :), а экономическая сторона этой идейки - вполне адекватная

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 24.07.08 04:47
Что за сарказм! Идея вполне ясна и раскрыта!

Мне уже позвонили из нескольких компаний, занимающихся разработкой Shareware игр и заявили о своей заинтерисованности встраивать данную систему в свои программы и финансировать дальнейшее исследование этого направления!

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 24.07.08 20:21
Все равно поломают. Защищаемый функционал должен исполняться на сервере, и не передаваться клиенту вообще. Тогда есть шансы.

Ответить

Номер ответа: 9
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #9 Добавлено: 24.07.08 22:22
Да, я в описании допустил больше десятка ошибок, которые позволят школьнику Васе Пупкину все взломать :)

Но с хорошей целью - чтоб конкуренты не своровали идею и не выдали за свою!

Ответить

Номер ответа: 10
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #10
Добавлено: 26.07.08 15:52
пойду-ка я напишу эмулятор интернета. А то ведь и правда сделаете такое, что будет хуже старфорса

Ответить

Номер ответа: 11
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 26.07.08 15:54
А вообще молодцы, что продвигаете опенсорс.

Ответить

Номер ответа: 12
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #12 Добавлено: 26.07.08 18:27
Это будет не только хуже старфорса, это будет даже хуже матрицы :)

А про опен-сорс я тут ни слова не писал кстати :)

Ответить

Номер ответа: 13
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #13
Добавлено: 26.07.08 22:09
да не. Если программы так защищать, опенсорс сам бу продвигаться) ты же в самом начале што написал

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам