pcc技术浅究.pptVIP

  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技术浅究

PCC技术浅究 PCC技术产生背景 目前软件开发工作中,程序员经常需要从网上得到相应的代码和库,对他们稍加修改得到自己想要的结果。因此,会面临代码破坏计算机的文件系统和泄露机密文件的问题。 如果代码编写者给出代码安全性证明,那么验证一个代码的证明的正确性的代价远远小于证明一个代码安全的代价。 为了解决以上问题,G.C.Necula 和 P.Lee 等人,将形式语义学,类型系统程序验证,逻辑框架理论有机结合形成一种基于程序设计语言的安全解决方案。提出了pcc(proof-carrying code)理论。 PCC基本概念 场景:存在代码提供者和代码执行者两方,前者的代码在后者处执行 目的:保护代码执行方不受代码提供方伤害 方法:欲执行代码的一方预先制定安全策略,代码提供者据此赋予代码一个安全证明以说明其符合安全规则。再把该证明送至代码执行者带的证明确认器,证明被确认是对的,则说明代码符合安全要求,方可将此代码交付执行。 PCC系统框架 证明阶段:代码提供者根据安全策略对源程序生成安全证明 确认阶段:代码执行者将证明送往证明确认器,验证证明是否正确 执行阶段:若证明正确,则将代码送往cpu执行 PCC实现条件 PCC系统的实现必须具有四个部分: 刻画安全策略的形式的规格说明语言 将程序关联到规格说明的逻辑系统 表达证明的语言(证明的格式) 确认证明的算法 PCC设计实例 ML语言软件开发中PCC应用实例: 用ML语言开发应用软件,调用非ML语言实现的函数的时候,通过PCC系统来确保系统的安全。 使用ML语言编程定义一个类型T,以及作用在T上的一个函数sum。Sum的功能是求T表所包含的所有整数的和。 通过使用汇编语实现SUM函数 ML定义程序 汇编程序(SUM) 系统框图 系统四个部分 (1)规格说明语言:扩展的一阶谓词演算逻辑。(包含与安全有关的公式和推导规则) (2)将程序关联到规格的逻辑系统:将一段代码转换成一个公式,完成由程序世界到逻辑世界的转换。采用Floyd验证条件生成器(VCG),将安全需求与程序同时输入,输出验证条件(VC) (3)证明的格式:采用爱丁堡逻辑框架(LF)对证明编码 (4)证明的确认:对证明的表达式做LF的类型检查 系统框图 系统步骤 代码提供者: (1)制定安全规则(代码执行者) (2)生成验证条件(VC):将源程序与安全规则通过VCG,得到(VC) (3)生成证明:将VC通过定理证明器生成VC的推导D,对D进行编码得到[D] (4)得到PCC代码(P,[D]) 生成VC的形式 生成证明的形式 系统框图 系统步骤 代码执行者: (1)分离程序代码和安全证明 (2)从程序代码计算出(VC) (3)验证安全证明是否正确,及是否是(VC)的证明 (4)如果通过验证则开始执行代码 PCC优点及问题 问题及难点 安全规则的完备性很难达到 证明的生成:程序较大时,证明的结构将比较复杂和庞大 规约逻辑,公理化 优点 主机端工作简单,只需快速的确认 防篡改,代码变动后需要重新证明 先检查后执行,不会产生运行时的开销 检查一次通过可执行多次,有利于工程化设计

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档