咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >MIPS平台栈溢出的边界检测方法研究 收藏
MIPS平台栈溢出的边界检测方法研究

MIPS平台栈溢出的边界检测方法研究

作     者:黄宸昊 

作者单位:西安理工大学 

学位级别:硕士

导师姓名:张彤

授予年度:2024年

学科分类:08[工学] 0839[工学-网络空间安全] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:栈溢出 漏洞检测 MIPS 嵌入式安全 二进制分析 

摘      要:栈溢出漏洞是指当程序向栈内填充数据位数时,由于边界检查不严格超过了缓冲区本身的容量,溢出的数据覆盖在栈上。无互锁流水线级微处理器(Microprocessor Without Interlocked Pipeline Stages,MIPS)平台广泛应用于工业系统和其他小型设备上。由于其缺少完善的保护机制往往在栈空间上存在较高的执行权限,导致MIPS架构更容易发生栈溢出错误。近年来黑客频繁攻击互联网基础设施和工业设备,威胁生产进度和安全。因此,基于MIPS平台的栈溢出的边界检测方法研究对于保障工业生产控制系统及设备的安全和稳定运行具有重要的意义。本文聚焦于MIPS平台下栈溢出边界检测方法研究,主要开展的工作和取得的研究成果如下: (1)基于函数级数据依赖图的栈溢出静态污点分析方法 针对传统检测方法定位困难且效率低等问题,本文提出了一种函数级数据依赖图的栈溢出静态污点分析方法。为了降低二进制文件静态分析过程的复杂性,提高定位漏洞代码的精度,该方法首先在预处理阶段将二进制机器码转换为中间语言,梳理出栈溢出的静态特征。随后,本方法利用中间语言和其对应的传统控制流图构建了单静态赋值形式的控制流图,获得清晰的数据间关系和分支控制流路径。最后,为了进一步精确定位栈溢出的触发路径,本文引入了污点分析方法有效定位栈溢出漏洞的触发路径。此外为了解决静态分析开销大的问题,本文在污点分析的数据依赖关系上提出一种函数级数据依赖图,有效简化传统数据依赖图。实验验证了本方法提出的基于函数级数据依赖图的栈溢出静态污点分析方法在同等代码覆盖率下拥有更高的运行效率和准确性。 (2)基于欠约束符号执行的边界检测方法 针对当前符号执行方法覆盖率和分析精度难以兼顾,运行效率低的问题,本文提出了一种基于欠约束符号执行的边界检测方法。该方法首先构建拥有符号分析上下文信息的控制流图用于简化符号分析时获取约束条件的过程。其次,为了解决符号分析时约束条件不足导致分析精度下降和覆盖率降低的问题,本文提出了欠约束符号分析方法。该方法在DCFG上将未确定的输入符号化,动态求解路径条件。此外,为了进一步完善约束条件,提高分析精度,本研究使用值集分析方法基于DCFG为条件分支路径丰富约束条件。最后,为了实现覆盖率和分析精度的同时提高,本文提出使用污点分析结合欠约束符号执行的方法对栈溢出下边界检测不严格路径进行检测。该方法利用污点分析筛选出发生栈溢出的可疑路径并结合欠约束符号执行方法在路径上对边界检测条件进行推理,并筛选出可以绕过边界检测的路径报告漏洞。实验表明,本方法提出的基于欠约束符号执行的栈溢出边界检测方法可以有效检出栈溢出中边界检测不严格的漏洞。相较于其他动态分析技术,本方法在保证高覆盖率的前提下,获得了较高精度和分析效率。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分