3

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

Желательно решение как для Win/Linux, но по крайней мере для Linux

2 ответа2

7

Для Linux это идеальная рабочая нагрузка для контейнера. Вы можете сделать это просто с помощью Docker (http://docker.io). Это позволяет легко создавать и уничтожать контейнеры за считанные секунды - гораздо быстрее, чем виртуальная машина.

Насколько я знаю, для Windows вы застряли на виртуальной машине.

0

Запуск программного обеспечения как непривилегированного пользователя обычно достаточно. Если вы не используете ядро, которое уязвимо для эскалации root.

sudo adduser SandBoxGuy
sudo passwd SandBoxGuy

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

Все это предполагает, что ваше ядро не уязвимо для эскалации root.

Более широкий ответ можно найти здесь. Он был написан с учетом Raspberry Pi + Xserver, но более или менее подходит для любой системы Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .