软件安全检查工具前端的设计与实现

软件安全检查工具前端的设计与实现

论文摘要

本文研究和讨论的软件安全检查工具可以在程序的编译阶段对其进行安全分析,尽可能全面地检查出程序存在的安全漏洞,从而避免这些漏洞在程序的运行阶段造成更严重的问题。软件安全检查工具由前端和后端两个部分组成。本文首先讨论了该工具前端中建立符号表和生成抽象语法树的作用和意义;其次认真分析、研究了分析器自动生成工具ANTLR提供的语法分析规则;在此基础上采用语法制导翻译的方法,通过在语法分析规则的产生式中添加语义动作和标记,实现了符号表的建立和抽象语法树的生成。论文所做的工作充分利用了ANTLR提供的自动生成机制,提高了前端的可靠性和可扩充性,并为后端的构建奠定了良好的基础。本文最后分析了与内存资源相关的安全漏洞的表现形式,论述了软件安全检查工具前端对这些安全漏洞的检查方法,实践证明该工具前端能够满足对所述安全漏洞检查的需要。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 程序分析和安全检查
  • 1.1.2 相关工作
  • 1.2 软件安全检查工具概述
  • 1.3 本文工作及内容组织
  • 第二章 ANTLR与软件安全检查工具前端
  • 2.1 词法分析器
  • 2.2 语法分析器
  • 2.3 分析器自动生成工具ANTLR概述
  • 2.4 使用ANTLR设计软件安全检查工具前端
  • 2.4.1 设计和实现软件安全检查工具前端的意义
  • 2.4.2 ANTLR在构造前端中的作用
  • 2.5 ANTLR提供的C/C++语言文法
  • 2.5.1 文法和产生式
  • 2.5.2 语法分析规则
  • 2.6 本章小结
  • 第三章 符号表的建立
  • 3.1 符号表概述
  • 3.2 C、C++语言非模板部分符号表的建立
  • declaration与member declaration语义处理相似的部分'>3.2.1 externaldeclaration与member declaration语义处理相似的部分
  • declaration语义处理独有的部分'>3.2.2 externaldeclaration语义处理独有的部分
  • declaration语义处理独有的部分'>3.2.3 memberdeclaration语义处理独有的部分
  • 3.3 C++语言模板部分符号表的建立
  • 3.3.1 模板头的处理
  • 3.3.2 函数模板符号表的建立
  • 3.3.3 类模板符号表的建立
  • 3.4 本章小结
  • 第四章 抽象语法树的生成
  • 4.1 ANTLR中的抽象语法树概述
  • 4.1.1 ANTLR中的抽象语法树的表示方法
  • 4.1.2 ANTLR中的抽象语法树的结构框架
  • 4.2 ANTLR中的抽象语法树的生成
  • 4.3 本章小结
  • 第五章 与内存资源相关的安全漏洞检查
  • 5.1 与内存资源相关的安全漏洞表现形式
  • 5.1.1 释放未指向堆空间的指针
  • 5.1.2 重复释放指针指向的空间
  • 5.1.3 申请与释放资源的操作未配对使用
  • 5.2 与内存资源相关的安全漏洞检查方法
  • 5.2.1 在抽象语法树规则中添加语义动作
  • 5.2.2 在语法分析规则中添加语义动作
  • 5.2.3 在符号表模块文件中的处理
  • 5.3 综合实例分析
  • 5.4 本章小结
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 在校期间研究成果
  • 相关论文文献

    • [1].试论计算机软件安全及防护对策[J]. 计算机产品与流通 2020(06)
    • [2].由工业控制系统构建浅谈开源软件安全[J]. 保密科学技术 2020(07)
    • [3].计算机软件安全检测相关问题研究[J]. 信息记录材料 2018(01)
    • [4].对计算机软件安全问题的分析及其防御策略[J]. 西部皮革 2016(24)
    • [5].软件安全开发关键技术的实现探讨[J]. 数字技术与应用 2017(01)
    • [6].计算机软件安全漏洞检测技术及应用[J]. 电子技术与软件工程 2017(13)
    • [7].计算机软件安全检测问题与方法[J]. 科学中国人 2017(14)
    • [8].计算机软件安全检测存在问题及应对措施分析[J]. 网络安全技术与应用 2020(10)
    • [9].嵌入式单片机系统软件安全漏洞自动检测仿真[J]. 计算机仿真 2018(08)
    • [10].软件安全漏洞分析与发展趋势探析[J]. 山东工业技术 2017(03)
    • [11].计算机软件安全问题及防御策略[J]. 电子技术与软件工程 2017(03)
    • [12].计算机软件安全及其防范探讨[J]. 数字技术与应用 2016(01)
    • [13].软件安全十诫[J]. 计算机与网络 2012(21)
    • [14].2008中国软件安全峰会在京召开[J]. 信息网络安全 2008(12)
    • [15].计算机软件安全问题的分析与防御策略[J]. 电脑编程技巧与维护 2016(06)
    • [16].云计算媒体平台下的软件安全体系构建[J]. 广播与电视技术 2013(09)
    • [17].计算机软件安全检测方法分析[J]. 科技资讯 2012(03)
    • [18].论计算机软件安全测评的方向及内容[J]. 黑龙江科技信息 2012(24)
    • [19].2009中国软件安全峰会在京成功举行[J]. 数字通信世界 2009(12)
    • [20].浅析软件安全构建过程方法[J]. 内蒙古科技与经济 2019(24)
    • [21].计算机软件安全及其防范的研究[J]. 信息记录材料 2018(04)
    • [22].计算机软件安全检测存在问题及解决对策[J]. 电子技术与软件工程 2017(01)
    • [23].计算机软件安全检测存在问题及方法分析[J]. 质量探索 2016(01)
    • [24].计算机软件安全问题的分析及其防御措施研究[J]. 中国新通信 2016(12)
    • [25].计算机软件安全检测方法研究[J]. 数码世界 2019(12)
    • [26].对计算机软件安全检测方法的一些分析[J]. 电子技术与软件工程 2013(22)
    • [27].计算机软件安全问题的防御措施[J]. 计算机产品与流通 2020(06)
    • [28].浅谈网络安全体系下的软件安全开发人才培养[J]. 网络空间安全 2020(01)
    • [29].浅谈计算机软件安全问题及其防护对策[J]. 计算机产品与流通 2018(12)
    • [30].计算机软件安全及防护对策[J]. 电子技术与软件工程 2019(18)

    标签:;  ;  ;  ;  

    软件安全检查工具前端的设计与实现
    下载Doc文档

    猜你喜欢