我有一个使用 System.AddIn 建立的插件向量,它接受预定义方法的主体,将方法主体转换为样板代码,生成程序集并执行方法。
程序集引用System
并且System.Core
被沙盒化
var pset = new PermissionSet(PermissionState.None);
pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
我能找到的唯一可能导致主机崩溃的例外是堆栈溢出,它可以被任何数量的创造性方法调用,例如关闭主体并声明递归方法等......
然后是引用的程序集暴露的可能的攻击向量,System
以及System.Core
.
我的问题是:这有多安全,有哪些恶意代码示例可能会导致主机崩溃以及防止此类攻击的可能方法?
更新:对于那些熟悉托管插件框架的人,同样的问题也适用于AddInSecurityLevel.Internet
.