收藏本站
《中国科学技术大学》 2008年
收藏 | 手机打开
二维码
手机客户端打开本文

一种用于指针程序安全性证明的指针逻辑

华保健  
【摘要】: 在社会逐渐走入信息时代的今天,社会的各个层面,包括工业界、政府机关、学校、商业部门等,都和计算机软件等信息系统结合越来越紧密。信息系统中的任何一个环节工作失败或是遭受攻击都会带来难以预料的灾难性后果,因而软件安全的重要性与日俱增。用形式化的方法对软件进行严格推理是提高软件质量的根本途径。在众多的形式化方法中,近十年来基于程序设计语言理论和实现技术的软件安全研究引起了广泛的关注。基于语言理论的研究从程序基础出发考虑软件安全,有利于减小运算系统的受信任计算基础(TrustedComputing Base,简称TCB)。 未来高安全软件设计和开发的一种行之有效的方式将是基于程序性质证明的开发框架。在这个框架中,程序设计者将软件的安全策略等描述成程序应满足的规范,连同程序一起提交给编译器:编译器生成为证明程序满足规范所需的验证条件,并且利用内嵌的定理证明器自动地或交互地证明这些验证条件;编译器在把源程序翻译成目标代码的同时,将源程序满足规范的证明翻译成目标代码满足等效规范的证明,这样的编译器称为出具证明的编译器(certifyingcompiler);在目标代码一级由证明检验器利用代码所携带的证明自动进行代码满足规范的检验。该框架的主要优点是,它向程序设计者提供源级而不是目标级的程序性质证明方法,以提高安全程序的开发效率,同时它将编译器、证明器等排除出受信任的计算基础,以尽量缩小系统的TCB。 作为上述基于程序性质证明的软件安全长期研究工作的一个环节和组成部分,本文在指针逻辑以及基于指针逻辑的源代码性质描述和性质证明方面做了有益探索。 本文首先研究了一个强调指针类型的类C的命令式语言源语言PointerC的设计并给出了它的安全性证明。PointerC语言设计的主要出发点是:已有软件安全和出具证明编译的研究大多集中在类型安全等简单安全策略上;而本文研究的高安全程序设计框架关注更实际、更丰富的安全策略,如内存安全等,因此,PointerC保留了C语言指针特性。本文给出了一种易于程序员理解的安全语言描述方式,并尝试以类型系统和逻辑系统相结合的静态机制来推理程序的安全性。本文利用辅助定理证明工具Coq,机械证明了PointerC语言的安全性定理。 本文研究了一种指针逻辑系统。指针逻辑扩展了传统Hoare逻辑,并加入了新的推理规则以支持对指针操作的推理,因此指针逻辑为证明指针程序的安全性提供了可行的途径。本文给出了针逻辑系统在一个出具证明编译器原型系统中的实现,该原型证明系统包括一个验证条件生成器和定理证明器,能够根据指针逻辑的公理和推理规则,自动完成断言的生成和证明;并且,这些代码、断言和证明可以被出具证明的编译器继续翻译到目标语言级。本文利用辅助定理证明工具Coq,机械证明了指针逻辑对于操作语义的可靠性定理。 本文研究了指针逻辑在面向对象语言上的应用。本文设计了一个小的面向对象语言Cool并定义了它的形式语义;Cool保留了Java语言核心的的语法元素,如类、对象、继承等。本文扩展了指针逻辑以增加对这些新语言特性的支持。除了作为通用的程序逻辑外,本文还研究了指针逻辑在静态垃圾判断方面的应用。具体的,本文研究了指针逻辑判断静态垃圾的两种典型应用:栈分配和静态垃圾判断。栈分配可以通过把对象分配到栈而不是堆上,有效的减少垃圾的产生;而静态垃圾判断可以静态判断堆上的垃圾。 本文的研究工作是对基于程序性质证明的安全软件开发框架的初步探索,但本文所研究的以指针逻辑为基础的程序性质证明方法为更大规模和更实际的软件系统安全性证明提供了一条可行的途径。
【学位授予单位】:中国科学技术大学
【学位级别】:博士
【学位授予年份】:2008
【分类号】:TP311.52

手机知网App
【相似文献】
中国期刊全文数据库 前10条
1 胡恬;王宏;;原代码级的软件安全问题研究[J];软件导刊;2007年01期
2 羊建林;周安民;;Windows异常处理与软件安全[J];信息安全与通信保密;2011年04期
3 ;软件安全消费新观念[J];电脑采购周刊;1999年10期
4 丹三;;软件安全不容忽视[J];电脑采购周刊;1999年10期
5 ;开卷有益[J];计算机安全;2003年07期
6 吕华鹏;;软件反跟踪技术浅析[J];才智;2008年11期
7 王远景;;软件常见安全性缺陷与测试手段[J];科技创新导报;2009年28期
8 吕金和;;由指针和数组带来的软件安全性缺陷[J];计算机安全;2010年05期
9 赵妍;;计算机软件安全检测方法探讨[J];科技传播;2010年16期
10 边玉玲;加强管理,确保CAIS安全[J];现代电子技术;1997年02期
中国重要会议论文全文数据库 前10条
1 江雷;朱建平;;面向等级保护的软件安全需求分析方法研究[A];第26次全国计算机安全学术交流会论文集[C];2011年
2 金妮;徐皑冬;刘明哲;;E/E/PE安全相关系统的软件安全浅析[A];2008’“先进集成技术”院士论坛暨第二届仪表、自动化与先进集成技术大会论文集[C];2008年
3 靳慧云;李苑;赵伟光;;论铁路计算机信息系统安全[A];第十二届全国计算机安全技术交流会论文集[C];1997年
4 郭丰宇;;一种多用户软件安全方法[A];第四次全国计算机安全技术交流会论文集[C];1989年
5 吴韶波;李承恕;;可重构终端软件安全下载与发布管理[A];第十九届测控、计量、仪器仪表学术年会(MCMI'2009)论文集[C];2009年
6 海军计算技术研究所安全操作系统课题组;;安全操作系统——SUNIX[A];第八次全国计算机安全学术交流会论文集[C];1993年
7 陈凡柱;陈立杰;;觉醒——一次软件事故之后[A];第四次全国计算机安全技术交流会论文集[C];1989年
8 罗莉;沈雁;;安全操作系统的开发和设计[A];第八次全国计算机安全学术交流会论文集[C];1993年
9 朱建启;刘衍珩;汤岩;田奇;;软件保护技术[A];2006年全国理论计算机科学学术年会论文集[C];2006年
10 黄维金;;计算机系统安全对策浅析[A];第九次全国计算机安全学术交流会论文集[C];1994年
中国重要报纸全文数据库 前10条
1 ;略论软件安全[N];网络世界;2004年
2 本报记者 张伟 记者 戈清平;可信互联网 软件安全开发成金钥匙[N];中国高新技术产业导报;2009年
3 本报记者 陈和利;软件安全:还应从源头做起[N];科技日报;2005年
4 陕西 西格玛;给软件安全搬家[N];电脑报;2006年
5 俞毅峰;软件安全——信息安全的基石[N];计算机世界;2002年
6 本报记者 高赛;桌面软件安全事关国家信息战略[N];光明日报;2009年
7 ;构造随机性 确保软件安全[N];计算机世界;2002年
8 刘旭 本报记者 吕松华;浪潮电脑重新定义“安全PC”[N];大众科技报;2005年
9 ;浪潮重新定义“安全PC”[N];国际商报;2005年
10 计算机世界实验室 周童;免费的午餐[N];计算机世界;2009年
中国博士学位论文全文数据库 前10条
1 冯博;软件安全开发关键技术的研究和实现[D];北京邮电大学;2010年
2 王志芳;指针逻辑的扩展与应用[D];中国科学技术大学;2009年
3 葛琳;可信软件开发框架下的出具证明编译研究[D];中国科学技术大学;2007年
4 华保健;一种用于指针程序安全性证明的指针逻辑[D];中国科学技术大学;2008年
5 李兆鹏;汇编指针程序安全性验证的研究[D];中国科学技术大学;2008年
6 郭宇;模块化构造软件系统安全性证明的研究[D];中国科学技术大学;2007年
7 李隆;使用事务内存同步机制的并行程序验证的研究[D];中国科学技术大学;2008年
8 张秀峰;AOP技术及其在软件安全中的应用[D];北京邮电大学;2008年
9 陈海波;云计算平台可信性增强技术的研究[D];复旦大学;2008年
10 王振明;用于指针逻辑的自动定理证明器的设计与实现[D];中国科学技术大学;2009年
中国硕士学位论文全文数据库 前10条
1 翟宇;基于软件安全契约的AOP监控方法[D];吉林大学;2011年
2 邓凡;软件安全检查工具前端的设计与实现[D];西安电子科技大学;2009年
3 王涛;基于安全模式的软件安全设计方法[D];吉林大学;2011年
4 杜洪伟;软件安全领域垂直搜索引擎的优化设计与实现[D];天津大学;2010年
5 熊峻锋;基于面向方面技术的软件安全框架的研究[D];重庆大学;2004年
6 丛旭升;上海大通关电子支付系统分析与设计[D];复旦大学;2008年
7 赵文杰;C/C++类型转换和控制流相关安全漏洞的分析与检查[D];西安电子科技大学;2006年
8 郭臣;基于模型检测的软件安全分析研究[D];北京交通大学;2009年
9 褚蕾;基于静态源码分析的软件安全测试技术研究与实现[D];电子科技大学;2010年
10 韩珑彬;基于安全契约的测试方法及其实现[D];吉林大学;2011年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026