频道栏目
读书频道 > web开发 > .NET > .NET安全揭秘
1.3.4 IL与代码验证
2012-10-24 14:21:26     我来说两句
收藏   我要投稿

本文所属图书 > .NET安全揭秘

全书共分为五个部分。第一部分:.NET安全基础,透彻讲解了.NET体系结构、程序集与反射、应用程序域和CLR寄宿等核心技术,这部分内容是.NET架构的核心,同时也是理解.NET底层安全机制的基础;第二部分:.NET平台安...  立即去当当网订购

在将MSIL编译为本机代码的过程中,MSIL代码必须通过验证过程,除非管理员已经建立了允许代码跳过验证的安全策略。验证过程检查MSIL和元数据以确定代码是否类型安全,这意味着它仅访问已被授权访问的内存位置。类型安全帮助将对象彼此隔离,因而可以保护它们免遭无意或恶意的破坏。它还提供了对代码可以可靠地强制安全限制的保证。

运行库使用下列条件来验证代码是否为类型安全:

 对类型的引用与被引用的类型严格兼容。

 在对象上只调用正确定义的操作。

 标识与声称的要求一致。

验证过程中检查 MSIL 代码,尝试确认该代码只能通过正确定义的类型访问内存位置和调用方法。例如,代码不允许以超出内存范围的方式来访问对象。另外,验证过程检查代码以确定 MSIL 是否已正确生成,这是因为不正确的 MSIL 会导致违反类型安全规则。验证过程通过正确定义的类型安全代码集,并且它只通过类型安全的代码。然而,由于验证过程存在一些限制,某些类型安全代码可能无法通过验证,而某些语言在设计上并不产生可验证的类型安全代码。如果安全策略要求提供类型安全代码,而该代码不能通过验证,则在运行该代码时将引发异常。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3.3 IL常用指令
下一篇:1.4 基础类库和框架类库
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站