收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

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

左天军  
【摘要】:本文提出了一种描述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)无论方法调用正常或异常结束,方法调用过程中程


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 邹瑜;;ASP.NET技术基本分析[J];现代商贸工业;2011年14期
2 赵劼;;编程语言的发展趋势及未来方向——基于对C#之父Anders Hejlsberg演讲的总结[J];程序员;2010年08期
3 丁黎明;;浅析JDK7中的语法改进[J];中小企业管理与科技(上旬刊);2011年09期
4 符易阳;周丹平;;Android安全机制分析[J];信息网络安全;2011年09期
5 ;[J];;年期
6 ;[J];;年期
7 ;[J];;年期
8 ;[J];;年期
9 ;[J];;年期
10 ;[J];;年期
11 ;[J];;年期
12 ;[J];;年期
13 ;[J];;年期
14 ;[J];;年期
15 ;[J];;年期
16 ;[J];;年期
17 ;[J];;年期
18 ;[J];;年期
19 ;[J];;年期
20 ;[J];;年期
中国重要会议论文全文数据库 前3条
1 魏赵平;裘雪红;;QT/Embedded开发环境中类对象之间通信机制的分析[A];2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(上)[C];2006年
2 陈中治;王敏;;应用C~#进行AutoCAD二次开发[A];中国公路学会计算机应用分会2004年年会学术论文集[C];2004年
3 符易阳;周丹平;;Android安全机制分析[A];第26次全国计算机安全学术交流会论文集[C];2011年
中国博士学位论文全文数据库 前8条
1 左天军;Java虚拟机安全性的形式化分析和验证[D];西安电子科技大学;2005年
2 葛琳;可信软件开发框架下的出具证明编译研究[D];中国科学技术大学;2007年
3 陈俊清;可信普适服务的形式化分析与验证[D];上海交通大学;2012年
4 王政;嵌入式周期控制系统的建模与分析[D];华东师范大学;2012年
5 张仕;基于面向对象软件的动态更新研究[D];上海交通大学;2008年
6 林春晓;基于携带证明的代码的垃圾收集过程验证[D];中国科学技术大学;2008年
7 张洋;基于BIM的建筑工程信息集成与管理研究[D];清华大学;2009年
8 任志宏;Web服务复合的若干关健问题研究[D];中国科学院研究生院(软件研究所);2004年
中国硕士学位论文全文数据库 前10条
1 陈熹;YJVM-一种运行在嵌入式Linux内核中的Java虚拟机的设计与实现[D];上海交通大学;2007年
2 孙连翘;自传播传输协议系统的研究及改进[D];西安电子科技大学;2006年
3 武娜;基于SaaS的继电保护管理信息系统的研究[D];华北电力大学(河北);2009年
4 尹甜;.NET快速应用开发框架数据持久层的一种实现模型[D];电子科技大学;2008年
5 张王朋;普适服务动态更新的形式化研究[D];上海交通大学;2011年
6 陈伟锋;标准C的面向对象编程能力扩展[D];武汉理工大学;2005年
7 孟易人;基于J2EE的Web应用安全框架的研究和应用[D];复旦大学;2008年
8 木戈约布;.NET框架下电子商务网站开发实践[D];西南民族大学;2008年
9 张楚天;物联网服务支撑系统的研究与实现[D];电子科技大学;2012年
10 李卫平;基于.NET的院校科研管理系统的研究与实现[D];电子科技大学;2011年
中国重要报纸全文数据库 前7条
1 ;对话STL之父AlexStepanov[N];电脑报;2005年
2 虞建平;安全工作也要“打假”[N];中国石化报;2003年
3 易水;模型驱动的体系结构(1)[N];计算机世界;2006年
4 ;先人一步进入.NET时代——《.NET编程先锋C#》[N];中华读书报;2001年
5 辽宁 李旭东;开发的奢侈品Visual C++.NET[N];中国电脑教育报;2001年
6 建设部工程质量安全监督与行业发展司 吴慧娟 张强;健全保障体系遏制建筑事故频发势头[N];中华合作时报;2003年
7 张少波;应对缓冲区溢出漏洞攻击[N];计算机世界;2003年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978