.NET Framework 为其提供权限的多个受保护操作可能会允许规避安全系统。因此,应只向可信代码授予这些危险权限,并且只在必要的时候才授予。如果向恶意代码授予这些权限,通常就没有防范它的措施了。下表中说明了这些危险权限。权限可能的风险
SecurityPermission
UnmanagedCode 允许托管代码调入非托管代码,这常常是很危险的。
SkipVerification 如果没有验证,代码可以进行任何操作。
ControlEvidence 失效的证据可以欺骗安全策略。
ControlPolicy 修改安全策略的能力可以禁用安全性。
SerializationFormatter 使用序列化可以规避可访问性。有关更多信息,请参见安全和序列化。
ControlPrincipal 设置当前主体的能力可以欺骗基于角色的安全。
ControlThread 由于与线程关联的安全状态的原因,对线程进行操作是很危险的。
ReflectionPermission
MemberAccess 可以使用私有成员使可访问性机制无效。
SecurityPermission
UnmanagedCode 允许托管代码调入非托管代码,这常常是很危险的。
SkipVerification 如果没有验证,代码可以进行任何操作。
ControlEvidence 失效的证据可以欺骗安全策略。
ControlPolicy 修改安全策略的能力可以禁用安全性。
SerializationFormatter 使用序列化可以规避可访问性。有关更多信息,请参见安全和序列化。
ControlPrincipal 设置当前主体的能力可以欺骗基于角色的安全。
ControlThread 由于与线程关联的安全状态的原因,对线程进行操作是很危险的。
ReflectionPermission
MemberAccess 可以使用私有成员使可访问性机制无效。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货