Надежная стратегия судебного разбирательства

StackOverflow https://stackoverflow.com/questions/834177

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top