污点分析是安全领域一种重要的动态分析技术。传统二进制代码级的污点分析存在两个主要问题:a)指令级的污点传播规则不准确;b)无法进入内核函数,造成分析不准确,同时大量插桩函数内部指令影响系统效率。为此提出两种方法解决上述问题。首先,按照污点传播语义制定准确的指令级传播规则;其次,设计函数调用与退出的污点处理规则,并利用函数摘要快速传播污点。采用动态插桩工具实现原型系统TaintIce,并对真实漏洞攻击进行了测试。实验结果表明,TaintIce能检测到传统污点分析无法检测到的攻击,并且性能得到提升。因此提出的技术可有效提高污点分析的检测效果与性能。
1