Предположим, что у вас есть R, работающий с правами root/admin. Какие звонки R вы считаете вредными, кроме system()
и file.*()
?Блокировать потенциально злонамеренные вызовы R
Это вопрос, связанный с платформой, я запускаю Linux, поэтому меня интересуют утечки безопасности для Linux. Я пойму, если вы заблокируете дискуссии о R, так как этот пост может легко появиться в «Как повредить систему с помощью R?»
В чем причина запуска R как пользователя root? Возможно, решение лежит там, то есть вы должны задать себе вопрос: «Как мне разрешить пользователю делать xyz ** без ** предоставления ему привилегий root?». Другое дело, конечно, в том, что любому, кто может запускать программное обеспечение с привилегиями root, должно быть достаточно доверено, чтобы не беспокоиться о том, как он запутывает систему, иначе он или она не должны иметь привилегии root в первую очередь. – nico
Это задавали несколько лет назад в списках R-Help или R-Devel. Я не помню подробностей, но то, что вы просили, было фактически невозможно; как только вы отключили все возможные возможности делать что-либо за пределами R, вы оказывали R бесполезным. Не запускайте его как root. –
A (возможно, слишком) широкий список потенциально опасных функций можно найти в моем маленьком пакете: https://github.com/daroczig/sandboxR. Этот пакет запретил бы много вызовов R и разрешал бы загружать пакеты с «белыми», поэтому может быть недостаточно разрешительным, но запретит вашим пользователям компрометировать любые файлы и ресурсы в вашей системе. Конечно, эта изолированная среда должна использоваться в некотором приложении, которое обрабатывает, например, записывает на диск - вне R-кода пользователя. – daroczig