C程序格式串缺陷检测技术

C程序格式串缺陷检测技术

论文摘要

C语言是功能最强大、使用范围最广的高级程序语言之一。但是,C语言存在着很多安全性方面的问题,格式串缺陷就是一种典型的C程序缺陷。虽然出现较晚,但它的危害性却一点也不亚于诸如缓冲区溢出等广为人知的C程序缺陷。例如,有经验的攻击者能够通过发掘格式串缺陷来修改函数的返回地址,使之跳转到恶意代码段,从而取得root权限,随心所欲地从事非法操作。CQual是一个轻量级的静态程序分析工具,和其他静态分析工具一样,在某些情况下,CQual会存在一些误报。本文通过一个实例,分析了CQual关于结构体方面的误报。为了消除这类误报,论文通过向一个类函数式语言中引入模拟C语言结构体的记录类型,对C语言中结构成员之间的关系进行了建模,并在此基础上扩充了CQual的类型推断规则、类型检查规则和约束求解规则。理论上,它可以提高CQual在格式串缺陷分析、const推断和死锁检测方面的分析精确性。为了检验对CQual的扩展工作,基于CQual,我们构建了新的程序分析工具ECQual,并进行了实验。在实验中,我们使用ECQual对一些网络程序进行了格式串缺陷的检查。与CQual的分析结果相比,它有效地消除了与结构成员相关的一类误报。基于已有的格式串缺陷检测思想,我们提出了一种新的格式串缺陷检查和处理方法LibFmtGrd。该方法结合了动态拦截库函数和参数个数比较方法来检测格式串缺陷攻击。在Linux平台下,我们对它进行了实现。实验发现,与目前的绝大多数工具相比,它可以发现的格式串缺陷种类更多,并且运行时开销也有所下降,与FormatGuard和FormatShield相比,其运行时开销分别下降了0.17%和2.29%。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 格式串缺陷
  • 1.2 格式串缺陷检测方法
  • 1.2.1 程序静态分析
  • 1.2.2 动态分析
  • 1.2.3 综合静态和动态分析
  • 1.2.4 总结
  • 1.3 论文的研究内容和取得的主要成果
  • 1.4 本文的结构
  • 第二章 扩展CQUAL 支持结构体成员多态的研究
  • 2.1 CQUAL 背景
  • 2.1.1 类型限定子
  • 2.1.2 CQual 分析原理
  • 2.1.3 CQual 存在的问题
  • 2.2 类型限定子与子类型
  • 2.3 限定子标注和断言
  • 2.4 带限定子的类型推断系统
  • 2.5 带限定子的类型检查系统
  • 2.6 约束生成和求解
  • 2.7 多态
  • 第三章 开发ECQUAL 来检查格式串缺陷
  • 3.1 ECQUAL 的实现
  • 3.2 针对示例程序的改进效果
  • 3.3 针对应用程序的实验
  • 3.3.1 度量目标
  • 3.3.2 建立测试
  • 3.3.3 实验结果和结果分析
  • 3.4 相关工作与比较
  • 第四章 使用LIBFMTGRD 检查格式串缺陷
  • 4.1 背景
  • 4.1.1 FormatGuard 方法及其不足
  • 4.1.2 LibFormat 方法及其不足
  • 4.1.3 分析与总结
  • 4.2 LIBFMTGRD 方法
  • 4.2.1 插入终止符
  • 4.2.2 动态拦截
  • 4.2.3 参数计数和比较
  • 4.3 LIBFMTGRD 实现
  • 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 下一步的工作
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 作者在学期间参加的科研项目
  • 相关论文文献

    • [1].石英腕表表盘缺陷检测机器视觉整机解决方案[J]. 电子技术与软件工程 2020(02)
    • [2].金属增材制造缺陷检测技术[J]. 哈尔滨工业大学学报 2020(05)
    • [3].基于深度学习的车辆零件缺陷检测方法[J]. 辽宁科技大学学报 2020(01)
    • [4].基于探地雷达的工程竹缺陷检测研究[J]. 施工技术 2020(15)
    • [5].基于钻入阻抗法的胶合竹缺陷检测研究[J]. 施工技术 2020(15)
    • [6].图像识别技术在食品包装缺陷检测中的应用[J]. 食品与机械 2020(08)
    • [7].基于机器视觉的印刷品缺陷检测方法综述[J]. 上海包装 2020(10)
    • [8].基于数据挖掘技术的牙刷包装缺陷检测方法研究[J]. 佳木斯大学学报(自然科学版) 2020(03)
    • [9].服务器外观缺陷检测系统[J]. 电子世界 2020(17)
    • [10].基于深度学习的点胶缺陷检测[J]. 电子技术与软件工程 2019(13)
    • [11].基于涡流检测的电力线夹缺陷检测与分类方法[J]. 中国科技论文 2017(04)
    • [12].基于敲击信号的刹车片内部缺陷检测[J]. 组合机床与自动化加工技术 2017(10)
    • [13].有关阀门缺陷检测方法的分析[J]. 科技创业家 2013(22)
    • [14].复杂受力状态下船体加筋板结构缺陷检测[J]. 舰船科学技术 2020(18)
    • [15].用于产品高速运动下缺陷检测的演示装置[J]. 安徽电子信息职业技术学院学报 2020(05)
    • [16].公路桥梁内外缺陷与几何力学特性检测研究[J]. 山东农业工程学院学报 2020(06)
    • [17].基于多视角卡牌模型的需求缺陷检测[J]. 计算机科学 2018(10)
    • [18].机器视觉在TFT-LCD暗画面缺陷检测中的应用[J]. 光学仪器 2017(03)
    • [19].超声相控阵缺陷检测聚焦技术仿真分析[J]. 测控技术 2016(07)
    • [20].机器视觉在木材缺陷检测领域应用研究进展[J]. 世界林业研究 2020(03)
    • [21].面向输电线路的锈蚀缺陷检测[J]. 电工技术 2020(17)
    • [22].一种铝塑泡罩药品包装缺陷检测方法[J]. 包装工程 2019(01)
    • [23].基于深度学习的工业零件缺陷检测算法研究[J]. 信息与电脑(理论版) 2019(18)
    • [24].多电极传感器复合材料缺陷检测系统设计(英文)[J]. 机床与液压 2017(24)
    • [25].基于视觉的绝缘子定位与自爆缺陷检测[J]. 电子测量与仪器学报 2017(06)
    • [26].应用深度卷积的涂布缺陷检测方法[J]. 传感器与微系统 2020(03)
    • [27].基于机器视觉的胶囊缺陷检测装置设计[J]. 贵州大学学报(自然科学版) 2020(03)
    • [28].基于热成像的埋地热力管道缺陷检测试验研究[J]. 仪器仪表学报 2020(06)
    • [29].面向二进制程序的开源软件缺陷检测方法[J]. 华北电力大学学报(自然科学版) 2019(04)
    • [30].基于机器视觉的食品包装缺陷检测研究[J]. 食品研究与开发 2016(24)

    标签:;  ;  

    C程序格式串缺陷检测技术
    下载Doc文档

    猜你喜欢