我在哪里可以了解.NET框架中的权限?

我希望看到.NET框架定义的每个权限的概述,以及通过允许不受信任的程序集访问每个权限来打开可能的安全漏洞.

我还想知道在Internet上的Silverlight应用程序中允许哪些特定权限,这似乎是在沙箱中运行程序集的良好起点.

另外,如何使用我想要的权限配置新的AppDomain?

最佳答案 这可能不是最好的答案,但我试试.你可以检查
security permissions作为起点,从那里
code access permissions可能是有意义的.

与任何类型的安全性一样,您需要使攻击表面尽可能小.这意味着您不应该对所有可能的权限攻击感到烦恼,而是默认拒绝所有权限.您将只允许运行应用程序所需的最低必要权限.一旦你拥有一小组权限,你可以提出一个更狭隘的问题.

要配置AppDomain,您可以在创建新域之前定义PermissionSet和Evidence安全性参数.创建域后,(理论上)不可能升级这些权限.

var setup = new AppDomainSetup
    {
        ApplicationBase = Path.GetDirectoryName(platform.Location)
    };
PermissionSet permissionSet = new PermissionSet();
permissionSet.AddPermission(
    new FileIOPermission(FileIOPermissionAccess.Read |
        FileIOPermissionAccess.PathDiscovery,
        Path.GetDirectoryName(platform.Location)));
permissionSet.AddPermission(
    new SecurityPermission(SecurityPermissionFlag.Execution));
var sandbox = AppDomain.CreateDomain(name, null, setup, permissionSet);

here,样本evidence securityCreating an AppDomain with limited permissions获取的代码也可能是您感兴趣的.

点赞