基于程序设计语言的移动代码安全研究-计算机软件与理论专业论文.docxVIP

基于程序设计语言的移动代码安全研究-计算机软件与理论专业论文.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要随着网络的不断发展,人们大量从网上下载不被信任的代码到本地运行, 摘要 随着网络的不断发展,人们大量从网上下载不被信任的代码到本地运行, 从而带来了大量的安全问题,也使得移动代码的安全问题成为计算机科学要面 对的挑战之一。传统的解决安全问题的方法包括内核监督,代码检测以及加解 密方法等。这些方法给出了基本安全策略的一个固定集合,但是都缺乏灵活性。 本文研究使用基于语言的技术来解决移动代码的安全问题。 本文综合叙述了已经存在的使用基于语言的技术解决移动代码的安全问题 的众多研究,详细描述了携带证明的代码(Pcc)和类型化汇编语言(TAL)两种方 法。已经展丌的研究所面向的安全策略都是最基本的安全策略如内存安全、控 制流安全和栈安全。 本文提出了一种三层体系结构的安全策略框架,可以灵活的处理各种安全 策略。低级安全策略主要解决基本的代码安全,包括类型安全,内存安全,和 控制流安全。中级安全策略,可以针对每条具体机器指令来做不同的安全动作, 主要解决类型安全所不能解决的一些安全策略。高级安全策略主要是用来决定 代码对于一些设备和资源的访问是否是安全的。中高级策略使用描述语言的形 式,使得策略的制定非常灵活。 本文随后以类型安全为研究对象对三层体系结构中的低级策略展开具体研 究和实现,类型安全覆盖了最基本的安全属性。本文提出了一种新的类型安全 策略,不是通过分析代码段的类型,而是跟踪所有内存地址的类型,在分析指 令的动念语义的同时进行类型检查,该方法的好处在于类型检查的过程十分简 单,因为检查过程中出现的类型都是简单^类型演算中的类型,我们称之为基 于类型化内存空间的类型安全。本文首先基于一个简单的类型系统给出了该策 略的抽象文法和相关的推理规则和公理,随后采用ELF形式框架对策略进行形 式化描述,通过对ELF文法的删减并依据ELF的类型检查方法,使用基于“提 示”的证明的思想,最终形成证明过程。“提示”通过对认证编译器产生的类型 注解分析而得,类型注解包括源语言中定义的变量类型,类型声明和控制流信 息,产生的提示包括地址的逻辑大小判定和内存地址的类型断言。本文还描述 了基于类型化内存空间这一安全策略的原型框架实现,原型框架包括基于LCC 的认证C语言编译器,与GNUas兼容的带类型注解的汇编器,简单的定理证 明系统,并使用GNUld连接器,生成的目标代码是ELF格式的可执行代码。 本文对基于源代码分析的移动代码安全展开了一些研究,减少源代码由于 程序错误而出现的安全隐患,可以极大增加产生的目标代码的安全性能。程序 分析提供了一种自动检测内存错误的方法,分为运行时方法和静态分析方法。 本文综合叙述了源代码分析领域的一些主要研究,静态方法包括1)为源语言 增加新的语法元素,依赖新增语法元素的语义来实现检测错误的目的,如 LCLint和CQual;2谤r带指针的高级语言如C语言进行的众多points.to分析; 3)其它一些静态分析方法。运行时方法包括带运行时类型信息的调试和安全指 针等。 本文最后提出了一种基于points.to分析来进行静念检查内存错误的算法, 算法参照了Steensgaard提出的~种流不敏感的分析算法,在他的算法基础上给 出了一个流敏感上下文不敏感算法,最好情况下时阳J复杂度为O(mn),如果程序 变量平均出现在每个基本块中,可以认为执行时阳J是相对于程序语句总数是线 性;最坏情况下算法的时间复杂度为O(nT),这里T是程序的代码总量,m表 性;最坏情况下算法的时间复杂度为O(nT),这里T是程序的代码总量,m表 示各个基本块平均等价类的个数,n为所有基本块的个数。我们在SuIF框架上 进行了算法的原型实现。本文还对该算法进行上下文敏感的扩充,采用了 Michale Burke等人提出的过程问别名分析框架,如果程序变量平均出现在每个 基本块中,时间复杂度为O(T+T),即认为执行时间是相对于程序语句总数的平 方;最坏情况下算法的时间复杂度为O(nT*T)。 关键字移动代码,安全策略,三层体系结构,类型安全,ELF框架,类型注 解,内存错误检测,points—to分析 AbstractWith Abstract With the continuous development of Intemet,some untrusted codes are downloaded from the network for local application,which triggers a number of security problems.This also poses a challenge for the computer science to deal with the security problem caus

您可能关注的文档

文档评论(0)

131****9843 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档