Java虚拟机安全性的形式化分析和验证

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:thomson888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文提出了一种描述Java虚拟机语义的形式化模型,该模型包含Java虚拟机安全体系结构中两个最重要的特性:字节码验证和动态类加载。具体地,本文定义了Java虚拟机语言(JVML)的一个子集,给出了该子集的类型系统和操作语义,并根据操作语义证明了该类型系统的可靠性。因此,该类型系统可保证一个类型正确的字节码程序不会在运行时出现类型错误。上述工作的形式化是在交互式定理证明器HOL系统中完成的。本文认为,对于形式语义而言,采用一种机械化验证工具对于保证定义的一致性、保证形式化过程的正确性是十分重要的。为此,本文还分析了HOL系统的实现,并对其进行了扩充。 在字节码验证的形式化过程中,本文分三个阶段研究了三个复杂的静态分析问题:对象初始化、子例程和锁原语。 第一阶段,本文通过定义JVML的一个子集JVML0,来研究字节码的对象初始化特性。本文证明了Java虚拟机规范对于别名分析算法的约束过强,这个结论表明,当前Sun的字节码验证程序包含了大量不必要的类型检查。这里,JVML0的类型系统能够保证字节码程序不会使用未初始化的对象。 第二阶段,本文将JVML0扩充为JVML1,以包含子例程。在类型规则中,本文引入了一个跟踪子例程调用过程的活动记录栈,用于记录程序当前所处的调用位置和子例程访问的局部变量集合。本文为活动记录栈定义了一种偏序关系,它不允许字节码程序递归调用子例程(这种约束与Java虚拟机规范是一致的)。实际上,递归调用不仅增加了Java虚拟机的复杂性,而且也没有为编译Java程序提供多少帮助。与Java虚拟机规范相比,JVML1的类型系统具有更弱的类型约束。例如,通过在对象的类型中引入表示子例程调用地址的信息,本文提出一种与Java虚拟机规范不同的别名分析方法。该方法不仅更加简单有效,而且能够接受更多的类型正确的字节码程序。Java虚拟机规范不允许aload x指令使用未初始化的局部变量x,而JVML1的类型系统取消了这种约束;Java虚拟机规范要求每个子例程只能有一个ret指令,而JVML1的类型系统允许子例程有任意个ret指令。尽管本文减弱了某些类型约束,但是并没有对字节码程序的类型安全造成任何影响。JVML1的类型可靠性定理保证:(1)子例程能够以基于调用栈的方式返回到正确的调用地址;(2)子例程能够正确处理别名对象。 第三阶段,本文将JVML1扩充为JVML2,以包含锁原语。JVML2的类型系统是对当前Sun的字节码验证的一种扩充,因为Sun的虚拟机实现并不对字节码程序进行静态检查,来判断其是否正确使用了锁原语。JVML2类型系统通过引入锁记录集合和新的类型,在兼容JVML1类型系统的同时,能够静态检查字节码程序的结构化加锁特性,即:(1)无论方法调用正常或异常结束,方法调用过程中程
其他文献
对林语堂翻译理论与实践的研究是翻译界研究的热点之一。迄今为止主要的成果集中在二十世纪九十年代以来对林语堂翻译理论的基本论述、林语堂翻译实践活动的总结以及对个别中
随着地理信息系统(Geography Information System——GIS)理论的不断完善和技术手段的飞速发展,GIS技术已由最初有限的应用范围扩大到了目前几乎所有与空间信息有关的领域。
第18届亚太区美容展于2013年11月13~15日在香港会议展览中心隆重举行。今年共有43个国家和地区的2168个参展商参加,比去年增加了一成,展场面积扩展至超过76000平方米。亚太区
为明确不同土壤肥力水平下立架栽培甜瓜干物质积累与养分吸收及分配特点,并为制定立架栽培甜瓜不同生育期科学施肥方案提供理论依据。本研究以立架栽培甜瓜为材料,通过不同土
目的研究分析侧卧位操作以腰硬联合麻醉的方式采用等比重腰-腰麻液罗哌卡因的情况下,对比左右肢体的麻醉平面。方法选择2012年10月~2013年10月在我院采取手术治疗的66例患者,
<正>1案件简介某年12月20日,某小区一居民房内发生一起杀人案件。死者刘某,男,39岁,独居,未婚。现场勘查见:门窗完好无损,室内翻动情况不明显,死者全身赤裸俯卧位死于卧室床
当前我国中小学课堂教学正处在一种混乱状态。很多教师或陷入传统教育中落后教育思想的泥潭难以自拔,或偏信现代教育中某一教育理念而得意忘形,或搞传统教育与现代教育杂交实
<正>2014年8月22日,由医学美学美容杂志与中国国际贸易促进委员会无锡市支会联合主办的"2014华山论剑·第11届中国美业领袖年会暨首届国际美容经济发展论坛"在"太湖明珠"无锡
产业集群对于区域经济发展具有重要意义,它有利于外部规模经济的形成、专业化分工和创新力提升,被国内外实践证明是优化产业布局、提升产业竞争力的重要实现方式。我国西部地