gcc编译器安全验证方法研究

gcc编译器安全验证方法研究

ID:34096114

大小:3.30 MB

页数:82页

时间:2019-03-03

gcc编译器安全验证方法研究_第1页
gcc编译器安全验证方法研究_第2页
gcc编译器安全验证方法研究_第3页
gcc编译器安全验证方法研究_第4页
gcc编译器安全验证方法研究_第5页
资源描述:

《gcc编译器安全验证方法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浙江大学计算机学院硕士学位论文GCC编译器安全验证方法研究姓名:俞甲子申请学位级别:硕士专业:计算机科学与技术指导教师:陈刚20080815浙江人学硕lj学位论文摘要编译器作为计算机软件中最为基础的软件之一,与操作系统、数据库系统一起被列为构成计算机系统软件的关键性的基础设施。而编译器作为任何软件的产生器,它的安全性、可靠性和稳定性更是至关重要。特别是在那些对软件的可靠性要求十分高的特殊环境里面,我们必须保证编译器编译出来的代码是对程序源代码的正确、真实的反应,保证编译器在编译过程中逻辑上的正确性以及行为上的透明性。本文首先研

2、究了目前国内外对于软件验证,特别是编译器验证领域的一些工作进展。主要包括形式化的验证方法、模型校验、目标文件结构比较等等方法,分析并讨论了这些方法在理论上的优缺点以及它们在实践应用中的效果。本文对于编译器的安全性的关注点在于:验证编译器是否在编译阶段在输出目标代码中插入恶意的代码或者后门程序。之后本文提出了两种可行的编译器验证方案:编译器代码分析及对比验证以及目标码逻辑结构对比验证。在第一个方案中,我们以GCC编译器为例,试图将GCC编译器源代码中的所有函数分成两类:对于那些会在函数内部改变它的输入数据的函数,影响编译器最终输

3、出结果的,我们将它们归类为第一类;对于那些在函数内部不会改变输入数据的函数,不影响编译器最终输出结果的,我们将它们归类为第二类。对于第二类函数,我们在函数的入口处将所有输入数据保存,然后在函数返回时将所有输入数据与之前保存的数据进行对比,如果对比成功,则证明该函数的确没有改变编译器的最终输出结果;对于第一类函数,我们将人工地检查这些函数的代码并且由一组独立的小组将这些函数根据描述重新实现,然后对比原先这些函数的运行结果以及独立实现的函数运行结果,如果结果一致,则表示该函数安全。第二个方案中,本文采用了一种对比编译器的输出目标文

4、件与源文件的控制流逻辑结构的方案。在这个方案中,我们采用GCC编译器编译一份源代码,然浙江人学硕lj攀位论文摘要后提取源代码和编译以后目标码的控制流图的结构,使用同构图算法对这巍个控制流图进行比较,如果这两份控制流图的逻辑对比一致,那么可以证明该编译器在编译过程中没有插入恶意代码,郎证明这髫标编译器在行为上安全的。最终,本文提出将这两种方案相互结合的综合的编译器安全验证方法,使得一方面能够大大减轻编译器验证的工作量,另一方面又能够保证验证的完整性。本文所提出的方法和结论可以进一步地推广到其他的编译器和硬件平台的验证工作中去,它

5、们应该有着更广泛的应用前景。关键词:编译器安全,验证,形式化方法,模型校验,曩标文件结构诧比较,控制流图浙渡人学帧lj学位论文AbstractAbStraCtCompilerisoneofthemoStimportantpiecesofbasiccomputerso脚arein毯ddilio建wi搬op嚣越i辍gs笋le撒蠲ddal拍ases姆e掇s。强ey8糙氆ekeyin鑫aS£摊e纯resofcomput材syStemso胁are.Astheprodllccrofanso脚are,thesec面ty're撕a:bilit

6、y蹦娃slability舸butesofcompilefareVe哆impor£a111.E筚eeially赫娃le《挑atiollof赫酶eon薮den矗越so董蛔are瓤Viro懿le斑,wemustprove斑融重量le瑚搬濑洫e∞d露w越chcompilerproducedistotallyaccordantwiththesourcecodewithout强yillse撕onofmalieio璐eo&遗。砖翁童。秘皴勰lec缎撼罐a薹鼹cya魏db瘳e艇∞撑∞搬essQf∞mpilj苗behavior.强isp姊嚣自艇

7、愆访蒯撼l氇e辫en£f毯ea愆hwo呔逊so量礴鑫辩、嘲畦{建戳io娃a跫鸯espcciallyincompile1.Ve—fication,includingf拼malmethodofV州fication,modeleh{≥ck,o毯e瞧至量le辆垂ealcompar主so坞锺越ysis鑫珏ddiScuss≤he鑫dVa趋tagp鑫nddisadV锄tageinbomtheo巧andprac疵eofthesemethod.111ispapermainlyfocus伽鼍lleqIlestio糕:如es搬eeompil雕ins

8、e瞧嚣l黟m鲢iciouscode孵bac_k踟蛾p∞gra糍遗铅龇傩lput喇ect蠡le?Weproposetwocompil艘Vedficationmethodsinl燃spaper:compilersourcec醐e越蠢羚is勰d娜越s黼糍e疆od器靡∞嫩移l嚣ow萨

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。