1.一种基于辅助程序执行反馈的控制流构建系统,其特征在于:至少包括静态分析与插桩模块、模糊测试循环模块和检测模块:
2.一种基于辅助程序执行反馈的控制流构建方法,其特征在于:至少包括如下步骤:
3.如权利要求2所述的一种基于辅助程序执行反馈的控制流构建方法,其特征在于:所述步骤s1中,静态分析使用随机函数,为待测程序中每个基本块分配一个固定位的唯一编号,并按照对程序由模块到函数再到基本块级别的遍历顺序记录基本块索引与基本块唯一编号的对应关系,通过基本块之间静态分析得到的调用关系获得的控制流,结合基本块唯一编号预先计算所有程序中的跳转边,作为程序的静态分析控制流信息。
4.如权利要求2所述的一种基于辅助程序执行反馈的控制流构建方法,其特征在于:所述步骤s3中,模糊测试器不断执行不同的输入文件并在每次执行结束后查询共享内存,如果发现了所述共享内存中新的哈希值则说明当前输入文件发掘了新的边覆盖,开启辅助程序使用当前输入执行辅助二进制文件;如果没有捕获新的边覆盖,则使用模糊测试当前种子作为测试辅助二进制文件的替代。
5.如权利要求4所述的一种基于辅助程序执行反馈的控制流构建方法,其特征在于:所述步骤s1中边插桩以哈希函数hash1(bbidcurrent,bbidprevious)进行计算:
6.如权利要求5所述的一种基于辅助程序执行反馈的控制流构建方法,其特征在于:所述步骤s1中路径插桩以哈希函数hash2(bbidcurrent,pathhash)进行计算: