Насколько безопасным является Appodomain Sandboxed с SecurityPermissionFlag.execution?
-
25-09-2019 - |
Вопрос
У меня есть вектором плагина, установленного с помощью System.Addin, который принимает корпус предварительно определенного метода, обозначает корпус метода в котел Boaterlate, генерирует сборку и выполняет метод.
Собрание Ссылки System
а также System.Core
и песочкован с
var pset = new PermissionSet(PermissionState.None);
pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
Единственное исключение, которое я могу найти ссылку на то, что можно было бы показать хост - это переполнение стека, которое может быть вызвано любое количество творческих средств, например, закрытие тела и объявление рекурсивного метода и т. Д.
И тогда существуют возможные векторы атаки, выставленные ссылочными собраниями, System
а также System.Core
.
Мой вопрос: насколько это безопасно и каковы примеры вредоносного кода, которые могут потенциально снизить хост и возможные способы предотвращения таких атак?
Обновление: также для тех, кто знаком с управляемым Addin Framework, примените тот же вопрос для AddInSecurityLevel.Internet
.
Решение
Обычно это не сложно вдержать, чтобы бомбить хост. Все, что нужно сделать, это начать нить и сделать его брошенным необработанным исключением. Джесси Каплан Блог о возможной контрамерной для тех случаев неудач. Песочница была покрыта Шон Фарки в этот блог пост.