汇编指针程序安全性验证的研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:lgwll
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机科学的飞速发展和计算机在全球日益普及,计算机软件越来越广泛的应用于各个行业。国家和社会的关键领域对软件的依赖程度日益增长,使得关键软件的高可信性质显得越来越重要,其中安全性是关注的重点。提高软件安全性的目标是:所有的程序错误在程序运行前被发现或者在程序运行时被温和地捕获,以保证程序不会导致不可预测的系统行为。而软件安全性研究主要是探索如何建立一个管理安全性的健全的科学和技术基础,其中软件满足安全策略的程序性质证明方法是研究的热点之一。近十年来,程序性质证明研究领域有了很大的发展。许多学者提出了不同的思路,这些思路主要采用基于类型的或基于逻辑的方法,来证明高级语言程序或低级语言程序的性质。程序性质证明采用类型方法和逻辑方法相结合方式可以兼得两种方法的长处。因此,本文作者所在的项目组(以下简称本项目组)选择采用一个简单的类型系统结合一个自动的逻辑推理系统的方法来证明程序满足安全策略。对那些有高安全要求的关键软件,程序设计及安全性证明可以在一种新的编程和编译框架下进行。在这个框架下,本项目组选择类C语言PointerC(带有动态存储分配)作为源语言,实现了一个出具证明编译器的原型;并且实现了类型安全和内存安全等基本安全策略。该出具证明的编译器在把源程序和规范翻译成汇编程序和等效规范的同时,将源程序满足规范的证明翻译成汇编代码满足等效规范的证明。在汇编语言一级由证明检查器利用代码所携带的证明进行代码满足规范的检验。汇编语言上的验证可以将编译器、验证条件生成器、定理证明器等排除出TCB,以尽量缩小系统的TCB。因而整个编译框架最终依赖于汇编程序形式验证框架,来保证产生的汇编程序满足汇编语言一级等效的安全规范。本文介绍作者在汇编级程序验证框架方面的研究。而在众多计算机程序中,指针程序的安全性质最为复杂,因此汇编指针程序安全性质的验证是本文的重点。本文的工作主要基于Hoare逻辑、携带证明代码(Proof-Carrying Code)和验证汇编编程(Certified Assembly Programming)等研究,采用类型和逻辑相结合的研究方法。本文首先介绍了基于程序性质证明的软件安全的相关研究和指针程序性质证明等方面的研究,然后介绍了本项目组提出的一个使用指针逻辑的安全软件丌发和验证框架。基于该框架下,本文着重介绍汇编程序一级的验证框架的设计和实现。本文提出了汇编级指针逻辑来对汇编指针程序安全性质的进行验证。本文还实现了一个原型系统,并使用该系统对链表、二叉树等非平凡的指针程序的进行了自动的安全验证。本文的主要特色和贡献为:●设计了一种基于x86机器模型、Hoare逻辑风格的形式证明框架,丰富了出具证明编译器的目标级基础研究。●设计了一种用于汇编指针程序安全性证明的指针逻辑,解决了Hoare逻辑处理别名面临的困难,使得拓展后的指针逻辑成为汇编程序性质证明的一种新工具。●证明了汇编语言指针逻辑的可靠性。并已在证明辅助工具Coq中完成。●实现了一个汇编级验证原型系统。本文使用该系统对链表、二叉树等非平凡的指针程序的进行了自动的安全验证。本工作的意义在于给出一种汇编指针程序验证的新思路,并设计实现了一个可用的原型系统,丰富了程序性质证明的研究和应用。
其他文献
语文教学是对学生听说读写能力的综合培养。相对而言,习作能力较其他三种能力层次更高,培养更难。因此,习作教学成了令许多语文教师深感头疼之事。学生一提到习作就紧皱眉头,
作为小学生进行书面表达的一种重要方式,作文不仅是小学语文教学中的重点,也是难点。因此,如何更好地开展作文教学一直是广大语文教师积极探讨的重要内容。本文对此展开探究,
"任务驱动"教学法是探究式教学模式的一种,它可以积极地提升学生对知识的探索,培养学生良好的学习习惯,还能端正学生的学习态度,深化学生自身对知识的消化能力,让学生知其然
风速是气象测量的一个重要要素,利用超声波进行风速测量现如今得到广泛的应用,技术已经很成熟。当超声波在空气中传播时,受到风速的影响,顺风和逆风情况下存在一个时间差,基
小学阅读教学,是培养学生理解书面语言能力的一系列语文训练,以思维训练为核心,而思维又以创造性思维最为重要。在小学阅读教学中培养小学生的创新思维既是新课标的要求,也是
从今年6月1日起,童车、电玩具、弹射玩具、娃娃玩具、塑胶玩具、金属玩具等6类列入强制性产品认证目录内的玩具产品,未获得强制性产品认证证书和未加施中国强制性认证标志的,
<正>一、有线电视网络企业开展"营改增"的情况(一)"营改增"内容"营改增"是指把现行征收营业税的行业和企业改为征收增值税,在现行增值税17%和13%两档税率的基础上,新增设11%
使用Java和C#等安全的程序设计语言编写的程序能够完全避免一些在传统程序设计语言编写的程序中经常出现的安全漏洞,从而提高软件的可靠性。然而,这类安全语言的众多安全特性
支持垃圾收集的语言比如Java和C#正变得日益流行,但传统的垃圾收集器的性能却日趋低下。要提高支持垃圾收集的应用程序性能,就必须使得应用程序中基于对象的存储访问行为与存
中国歌剧发展几十年以来,是在吸取继承本民族的优秀传统音乐文化基础上,借鉴西方的作曲技法来创作的,从而形成了自己的独特民族风格。歌剧《江姐》把我国歌剧的“民族化”推