(Windows) Необходимо ограничить доступ к одной программе

417
lessharm

У меня есть программа, написанная на Python. Это то, что будет «распространено» только на пару человек. Но код довольно ценен для меня. Есть ли способ выдавать ноутбуки, которые дадут пользователям доступ только к этой программе?

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

Я нашел эти ответы, но они о VNC и Remote Desktop:

0
Вы хотите, чтобы люди не могли просматривать код, или вы хотите запретить им запускать несанкционированное программное обеспечение на машине, подключенной к вашей локальной сети? Это для защиты конфиденциальных данных компании? SpiderPig 6 лет назад 1
Я хочу, чтобы они не смотрели на код. lessharm 6 лет назад 0
Есть только один безопасный способ сделать это. Выполните как можно больше кода на каком-либо сервере, к которому никто не имеет доступа, и запускайте только графический интерфейс на ноутбуках пользователей. например, веб-приложение с серверной частью Python. Хотя я сомневаюсь, что ваш код на самом деле содержит секреты, которые другие компании хотели бы украсть. SpiderPig 6 лет назад 0
Скомпилируйте код Python, и, хотя есть возможность декомпилировать код Python, это требует дополнительных усилий. Ramhound 6 лет назад 0
Это совсем не помогает. Я не спрашиваю, является ли мое программное обеспечение ценным. Я не спрашиваю, как скомпилировать код Python. Я не хочу запускать код на сервере. Иначе я бы не задавал этот вопрос. lessharm 6 лет назад 0

2 ответа на вопрос

1
Keltari

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

Не могли бы вы объяснить, как именно «обфускация кода путем его компиляции в исполняемый файл» даст пользователям доступ только к этой программе? lessharm 6 лет назад 0
@lessharm Есть много способов заблокировать машину, чтобы ограничить возможность пользователей запускать определенные программы. погугли это. Keltari 6 лет назад 0
0
music2myear

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

Келтари, по крайней мере, затронул эту проблему: даже скомпилированный, достаточно решительный человек может перекомпилировать код.

Вы даже можете заблокировать компьютер в так называемом режиме «киоска», который позволяет некоторый контроль над тем, что разрешено выполнять в пользовательском интерфейсе, но, опять же, достаточно решительный человек все еще может получить ваш код.

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