混合符号执行在二进制漏洞挖掘中的应用:样本生成技术

需积分: 39 98 下载量 163 浏览量 更新于2024-08-10 收藏 2.93MB PDF 举报
"基于混合符号执行的样本生成技术-基于matlab的一维条形码检测" 这篇博士学位论文探讨了软件安全漏洞挖掘技术,特别是在二进制程序中的应用。论文第五章聚焦于反馈式畸形样本生成技术和混合符号执行在提高测试覆盖率和定位安全相关数据方面的角色。 在传统的污点分析方法中,如Buzzfuzz,测试数据的生成依赖于目标程序的源代码,这在现代软件开发中往往受限于第三方库的使用,因为源代码植入技术无法跟踪在这些库中的数据传播,可能导致安全漏洞的漏报。类似地,Flayer虽基于Valgrind实现,但它仅跟踪数据的0/1污点属性,无法进行细粒度的污点分析,限制了其在确定安全关键数据位置的能力。 为了解决这些问题,论文提出了基于混合符号执行的样本生成技术。这种方法旨在弥补导向性模糊测试的不足,通过深度分析执行轨迹以实现更精确的安全分析,并且结合代码覆盖率指导生成高覆盖率的测试样本。论文通过一个Adobe Flash Player整数溢出漏洞(CVE-2010-2170)的示例,解释了这种方法的工作原理,其中变量x和y源自输入数据,通过混合符号执行技术,可以生成能够触发特定条件(如内存分配错误)的输入样本。 此外,论文还强调了面向二进制程序的漏洞挖掘挑战,包括静态分析的高误报率和动态模糊测试的测试数据生成问题。为了解决这些挑战,论文首次提出了校验和感知的模糊测试方法,这有助于克服含有完整性校验信息的数据格式测试中的难点。 这篇论文为二进制程序的安全漏洞挖掘提供了新的视角和解决方案,特别是在动态和静态分析的融合以及应对校验和检测机制方面。这些研究对提升软件安全性,尤其是对那些不提供源代码或编译后引入新漏洞的软件,具有重要意义。