基于自动机的安全漏洞分析器的设计与实现

基于自动机的安全漏洞分析器的设计与实现

论文摘要

本文针对一个C/C++程序静态安全检查工具,设计并实现了基于自动机的安全检查机制,该机制可以使工具的使用者在外部自定义安全规则,动态地解析安全规则来检查源代码中存在的安全漏洞。论文中首先阐述了与安全漏洞相关的基础理论,在此基础上,讨论了基于自动机的安全检查机制并针对安全检查机制设计了以模式和语义结构为主的自动机描述语言文法。为了提高分析的准确性,设计并实现了模式匹配、指针语义、跨过程分析机制。模式匹配采用了抽象语法树同构判断算法;指针语义则是通过语义约束来确定程序唯一语义以达到检查安全漏洞的目的;跨过程分析采用基于总结的上下文敏感分析方法。最后,通过实例验证了基于自动机的安全检查机制可以有效检查出源代码中的安全漏洞。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 C/C++程序安全
  • 1.1.2 软件安全的相关检查方法
  • 1.2 项目概述
  • 1.2.1 项目总体设计
  • 1.2.2 自动机检查模块
  • 1.3 本文工作及内容组织
  • 1.3.1 本文的工作
  • 1.3.2 本文的内容组织
  • 第二章 相关技术和整体设计
  • 2.1 相关技术与工具
  • 2.1.1 ANTLR
  • 2.1.2 符号表
  • 2.1.3 抽象语法树
  • 2.1.4 抽象语法树的遍历
  • 2.1.5 控制流图
  • 2.1.6 别名分析
  • 2.2 自动机检查机制
  • 2.2.1 自动机检查机制整体框架
  • 2.2.2 自动机相关概念
  • 第三章 自动机描述语言的文法的设计与实现
  • 3.1 已有检查工具的原理
  • 3.2 自动机文法框架
  • 3.3 自动机模式文法
  • 3.4 自动机语义文法
  • 3.4.1 指针语义文法
  • 3.4.2 指针语义的设计
  • 3.5 自动机数据结构
  • 3.5.1 自动机状态
  • 3.5.2 自动机模式
  • 3.5.3 自动机安全规则
  • 3.5.4 程序状态管理
  • 3.5.5 自动机语义值
  • 3.6 本章小结
  • 第四章 自动机安全检查的设计与实现
  • 4.1 自动机安全检查引擎
  • 4.2 自动机的状态控制器
  • 4.3 模式匹配算法
  • 4.3.1 模式和源代码的抽象语法树
  • 4.3.2 模式匹配算法框架
  • 4.3.3 表达式结构的匹配算法
  • 4.4 自动机的语义分析器
  • 4.4.1 语义分析器的基本框架
  • 4.4.2 语义分析算法
  • 4.5 基于自动机的跨过程分析
  • 4.5.1 跨过程分析的总体流程
  • 4.5.2 跨过程分析算法
  • 4.6 本章小结
  • 第五章 基于自动机安全检查的实例分析
  • 5.1 认证不充分的检查
  • 5.2 下标边界检查
  • 5.3 内存资源泄漏的检查
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 相关论文文献

    • [1].基于网络无记名投票系统的安全设计和部署[J]. 时代农机 2017(08)
    • [2].漏洞库现状分析及质量评价[J]. 电信网技术 2018(02)
    • [3].基于Fuzzing的软件漏洞发掘技术[J]. 价值工程 2014(03)
    • [4].智能合约安全综述:漏洞分析[J]. 广州大学学报(自然科学版) 2019(03)
    • [5].浅谈网站入侵与防御[J]. 硅谷 2010(09)
    • [6].Linux服务器安全防范[J]. 电子技术与软件工程 2018(15)
    • [7].基于Web应用的SQL注入攻击与防范技术的研究[J]. 电脑知识与技术 2015(28)
    • [8].一种基于代码静态分析的缓冲区溢出检测算法[J]. 计算机研究与发展 2012(04)
    • [9].信息安全领域的研究[J]. 科技与企业 2015(08)
    • [10].缓冲区溢出攻击与防御措施[J]. 计算机时代 2008(01)
    • [11].基于动态污点分析的二进制程序导向性模糊测试方法[J]. 现代电子技术 2014(19)
    • [12].4G网络安全性研究[J]. 科学之友 2013(04)
    • [13].计算机网络安全技术的研究[J]. 电子技术与软件工程 2015(08)
    • [14].前沿技术保障业务系统信息安全[J]. 山西焦煤科技 2011(07)
    • [15].网络信息安全保障的应用探索[J]. 制造业自动化 2010(09)
    • [16].浅谈Web服务的安全配置[J]. 北京宣武红旗业余大学学报 2009(02)
    • [17].数字图书馆安全问题及防护措施探析[J]. 科技情报开发与经济 2015(06)
    • [18].医院信息系统网络安全问题探究[J]. 信息与电脑(理论版) 2015(17)
    • [19].探究微信技术架构及安全漏洞和防范技术[J]. 数码世界 2018(10)
    • [20].工业控制系统漏洞扫描与挖掘技术研究[J]. 网络空间安全 2017(01)
    • [21].基于计算机安全漏洞检测问题的思考探讨[J]. 军民两用技术与产品 2014(07)
    • [22].基于双策略的WAPI协议改进[J]. 计算机应用 2009(02)
    • [23].WEB系统防SQL注入的具体实现[J]. 今日科苑 2008(14)
    • [24].软件设计中安全漏洞动态检测技术的探究[J]. 农家参谋 2018(11)
    • [25].计算机数据库的安全防范措施及具体方案研究[J]. 通讯世界 2015(13)
    • [26].基于校园网络的安全评估系统[J]. 微计算机信息 2010(18)
    • [27].Web前端常见安全问题及对策[J]. 电脑编程技巧与维护 2016(19)
    • [28].智能手机在普适计算中的作用及安全研究[J]. 计算机时代 2015(08)
    • [29].试论计算机安全漏洞的动态检测[J]. 科技致富向导 2013(05)
    • [30].Ajax应用安全研究[J]. 信息安全与通信保密 2012(01)

    标签:;  ;  ;  ;  

    基于自动机的安全漏洞分析器的设计与实现
    下载Doc文档

    猜你喜欢