Можно ли разместить .Net DLR в «песочнице»?
Я хотел бы разместить Dynamic Language Runtime (DLR) таким образом, чтобы пользователи, которые запускают в нем произвольные сценарии, не могли остановить процесс?
Спецификация хостинга DLR описывает, как разместить DLR в отдельном домене приложений. Это позволяет разрушать и выгружать среду выполнения скрипта и ограничивать определенные операции через CAS (например, я могу ограничить доступ к файловой системе или запретить использование отражения).
Но есть ли способы, например: - ограничить максимальный объем памяти, используемый сценарием? ограничить количество потоков, создаваемых скриптом? обнаружить заблокированные скрипты?
Я думаю, что такой мелкозернистый контроль может быть возможен с помощьюAPI неуправляемого хостинга .net это было разработано для сервера SQL. Это направление идти? Существуют ли проекты с открытым исходным кодом для такой общей песочницы .net?
Вот несколько потенциально полезных ссылок, которые я нашел:
Откройте для себя методы безопасного размещения ненадежных надстроек с помощью .NET Framework 2.0Защита хоста обсуждение в списке обсуждений DLRИспользование защиты хоста (Блог безопасности .Net)