Использование ptrace для написания супервизора программы в пользовательском пространстве - PullRequest
3 голосов
/ 04 сентября 2010

Я буду искать советы / ресурсы для написания программы, которая может перехватывать системные вызовы из программы для контроля доступа к ее файловой системе, сети и т. Д.

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

Это на linux, и я бы предпочел написать C ++ или язык сценариев (ruby, python и т. Д.), И библиотека была бы отличной!

Спасибо.

Ответы [ 2 ]

3 голосов
/ 04 сентября 2010

Это выглядит как хорошее место для начала. http://www.linuxjournal.com/article/6100

1 голос
/ 04 сентября 2010

Вы не можете безопасно использовать ptrace() для песочницы враждебного приложения.

Приложение всегда может использовать несколько потоков с преднамеренными условиями гонки для изменения аргументов системного вызова, передаваемых через указатели (например, имя файла) после того, как выЯ проверил их, но до того, как на них посмотрело ядро.

...