节点文献
基于彩色污点传播的黑盒测试方法
Black-box testing based on colorful taint analysis
【摘要】 软件漏洞检测是确保软件安全的重要方法之一.现有可执行程序漏洞检测方法主要分为白盒测试和黑盒测试两类:前者需要完整构造程序漏洞产生表达式,因此存在路径爆炸以及表达式难以求解等问题;后者通过尝试各种输入以检测程序漏洞,针对性不强且存在过多重复计算.本文通过确定程序输入中直接影响程序检测点的部分,结合种子输入产生能够直接到达检测点的输入数据,提高黑盒测试过程的针对性.分析检测点间守护条件和检测条件的相关性,去除检测过程中冗余的检测点,提高整体检测效率.提出了彩色污点传播的方法,快速确定程序检测点与外部输入及约束条件间的依赖关系.通过对4款现有应用软件的分析试验,结果表明本方法提高了黑盒测试的针对性和分析效率.
【Abstract】 Software vulnerability detection is one of the most important methods for guaranteeing software security. Two main classes of methods can detect vulnerabilities in binary files: white-box testing and black-box testing. The former needs to construct and solve path constraints to detect vulnerabilities. It has two main drawbacks: path exploding and complexity of constraints. The latter often aimlessly exhausts various inputs to test binary files. This paper combines both testing methods to detect vulnerabilities in binary files. By analyzing the input elements that affect check condition corresponding to a certain check point, we can generate one class of inputs that get to the check point to increase fuzzing efficiency. By analyzing the relationship between guard conditions and check condition, the redundant check points are removed. Colorful taint analysis method (CTAM) is proposed to compute guard conditions, which is more efficient than traditional taint analysis method (TTAM). We implemented a prototype and made several experiments on it. The results showed that our method could increase the efficiency of black-box testing.
【Key words】 software testing; vulnerability detection; dynamic testing; black-box testing; colorful taint analysis;
- 【文献出处】 中国科学:信息科学 ,Scientia Sinica(Informationis) , 编辑部邮箱 ,2011年05期
- 【分类号】TP311.53
- 【被引频次】7
- 【下载频次】259