Mac OS X имеет средство песочницы с кодовым названием «Ремень безопасности». Открытый API для него задокументирован в песочнице (7), sandbox_init (3) и на соответствующих страницах справочника. Публичный API несколько ограничен, но само средство очень мощное. Хотя общедоступный API-интерфейс позволяет выбирать только из некоторых предопределенных «песочниц» (например, «Все сети на основе сокетов запрещены»), вы также можете использовать более мощную базовую реализацию, которая позволяет вам точно указать, какие ресурсы операционной системы доступны через Схемоподобный язык. Например, вот выдержка из песочницы, используемой для portmap:
(allow process-exec (regex #"^/usr/sbin/portmap$"))
(allow file-read-data file-read-metadata (regex
#"^/etc"
#"^/usr/lib/.*\.dylib$"
#"^/var"
#"^/private/var/db/dyld/"
#"^/dev/urandom$"))
(allow file-write-data (regex
#"^/dev/dtracehelper$"))
Вы можете увидеть множество песочниц, используемых системой, в / usr / share / sandbox. С песочницами легко поэкспериментировать с помощью команды sandbox-exec (1).
Для Windows вы можете взглянуть на доклад Дэвида ЛеБланка «Практическая песочница», представленный на Black Hat USA 2007 . В Windows нет встроенной технологии песочницы как таковой, поэтому описанные методы используют неполный механизм, представленный в Windows 2000, называемый SAFER. Используя ограниченные токены, можно создать процесс с ограниченным доступом к ресурсам операционной системы.
Для Linux вы можете исследовать сложный механизм SELinux:
SELinux home ,
HOWTO . Например, Red Hat использует его для защиты некоторых системных служб в некоторых своих продуктах.