2009-05-07 6 views
3

Я знаю, что на SO уже есть похожие вопросы. Но мой вопрос более теоретический.Прохладная пробная стратегия

Мне интересно, можно ли создать надежную пробную систему? Подвергаясь духу, я имею в виду такую ​​систему, которая не может быть взломана, даже если взломщик знает алгоритм такой системы?

Извините, если это не вопрос программирования.

Редактировать: Я думаю, что я должен сделать свой вопрос более практичным. Я спрашиваю о целой системе, а не о отдельном приложении. Система состоит из ПК с ОС Linux и некоторых связанных с ним аппаратных средств. Может быть, я могу использовать шифрование жесткого диска?

ответ

4

Возможно, единственным способом является приложение «программное обеспечение как услуга» на базе Интернета. Если вы не предоставляете доступ, они не используют программное обеспечение. Если это настольное приложение, то некоторые ключевые функции функциональности все равно должны быть где-то на сервере.

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

1

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

0

Нет. Вы можете сделать это очень сложно, но ваш вопрос сводится к «как я могу позволить кому-то запустить код, но не позволить им запускать код».

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

+0

Я думаю, что это означает «как я могу позволить кому-то запустить код, но не позволять им копировать или изменять его». – Vanuan

+0

Я полагаю, что так. Или «как я могу позволить кому-то запустить весь код, но не подмножество, которое они выбирают». – Darron

3

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

Обратите внимание, что я сказал, что это теоретическое. Неизбежно вы найдете аппаратного хакера, который определит способ изменения оборудования (см. modchips). Оттуда они могут загружать все необходимое программное обеспечение и изменять программное обеспечение, которое уже существует.

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