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