首页> 中文学位 >基于规则库的编译时代码安全检测方法研究
【6h】

基于规则库的编译时代码安全检测方法研究

代理获取

目录

声明

1 绪论

1.1 问题提出

1.2 国内外发展现状

1.3 论文工作概述

1.4 文章组织结构

2 基于规则库的编译时代码安全检测系统设计

2.1 基于规则库的编译时代码安全检测系统的设计动机

2.2 基于规则库的编译时代码安全检测系统的体系结构

2.3 基于规则库的编译时代码安全检测系统的工作流程

2.4 本章小结

3 基于规则库的编译时代码安全检测系统的关键技术

3.1 规则库的建立

3.2 基于LLVM的程序编译时信息获取

3.3 控制流分析与指针分析

3.4 冗余过滤机制

3.5 规则匹配中的漏洞分类原理

3.6 本章小结

4 系统测试与分析

4.1 测试环境及方法论证

4.2 缓冲区溢出基准程序特性

4.3 漏洞检测及漏洞分类测试

4.4 系统并行性能测试

4.5 本章小结

5 总结和展望

5.1 总结

5.2 展望

致谢

参考文献

附录1 攻读硕士期间发表论文目录

附录2 攻读硕士期间申请的国家发明专利

附录3 攻读硕士期间参与的项目

展开▼

摘要

程序安全漏洞对用户隐私和安全构成了巨大威胁。传统研究侧重于安全漏洞的检测,在运行时防御、动态检测和静态检测等方面做了大量工作。这些检测工作虽然发现了一大批未分类的安全漏洞,但较少为开发人员解决漏洞问题提供充分的调试信息。
  与之前的工作不同,检测系统致力于安全漏洞的自动分类,并为开发人员解决漏洞问题提供清晰的调试信息。现有的安全漏洞可以被描述为一系列的规则,进一步简化为数学断言问题。基于规则库的编译时代码安全检测系统,可以自动的把安全漏洞分为三类,包括确定性漏洞,内部不确定性漏洞以及外部不确定性漏洞。实现上述分类目标的核心技术主要包括:根据不同类型的安全漏洞的特点建立规则库(缓冲区溢出,空指针引用,除零);结合控制流分析以及指针分析,通过抽象语法树来获取规则中出现的必要信息;验证规则是否成立。如果成立,则判定为一个确定性漏洞;否则,运用一种新的逆向污点分析去区分剩下的两种漏洞为内部不确定性漏洞或外部不确定性漏洞。
  在 LLVM(3.5.0)的基础上实现了基于规则库的编译时代码安全检测系统,与标准的编译器处理流程完全并行,编译时的额外开销几乎可以忽略不计。基于微基准程序和14个真实程序的实验结果,证明了基于规则库的编译时代码安全检测系统在漏洞检测率和误报率上的显著提升,同时也证明了安全漏洞分类机制的准确性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号