Могу ли я создать изолированную программную среду для двоичного файла, созданного в C (с GCC) для Linux, и упростить его для пользователей?

Я собрал бинарный файл, который хочу распространить среди других людей.

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

Возможно ли это другими, более удобными для пользователя способами, чем указание пользователям использовать что-то вроде SELinux или AppArmor, где пользователь должен сделать что-то особенное для запуска двоичного файла (в отличие от простого ./program)?

2 ответа

Как сказал @Dmitry, если само приложение является закрытым исходным кодом, вам нужно показать пользователям хотя бы ту часть, которая обеспечивает приложение изолированной программной средой, чтобы они могли проверять и даже изменять способ изолированной программной среды (чтобы приспособиться к своим конкретным настройкам безопасности)., На вершине chrootприложение также должно запускаться от своего собственного пользователя (это можно сделать с помощью setuid в двоичном файле, который прозрачен для пользователей) с соответствующим ограниченным доступом. Что касается песочницы против различного оборудования (микрофоны, сеть,...), любая часть этого не может быть ограничена пользовательскими разрешениями, для этого потребуется как минимум lxc или виртуальная машина. Это усложняет ситуацию.

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

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

Другие вопросы по тегам