论文部分内容阅读
近年来互联网恶意攻击事件频发,各大安全平台捕获的攻击样本数量不断增多,样本分析成为了互联网安全研究领域的重点。样本分析中的一个核心环节就是漏洞验证。漏洞验证即验证样本是否利用了软件漏洞进行攻击,具体的验证内容包括漏洞类型和攻击手段。传统的漏洞验证通常采用人工分析的方式,然而人工分析存在效率低下和成本较高的问题,因此研究一种漏洞自动化验证的新方法来缓解这些问题就显得很有意义。针对此需求,本文从动态分析技术出发,提出了对大量样本进行漏洞自动化验证的新方法,并设计和实现了验证系统原型。漏洞自动化验证方法分为环境搭建和验证规则设计两个方面,对此,本文进行了如下研究:1.本文研究了环境搭建所面临两个主要问题。一是单一样本进行漏洞验证,所需的环境有什么特征;二是在样本类型复杂的情况下,如何构建方案来满足所需环境复杂的需求。本文归纳出单一样本所需环境的特征,并对其做出形式化描述。在此基础上,提出了漏洞自动化验证的环境搭建方案。该方案采取将样本分发至环境集群的方法,提高环境匹配的成功率。进一步,针对环境集群搭建成本高的问题,本文提出了软件环境集合划分算法,在不降低漏洞验证的准确率前提下,减少了环境搭建的成本。2.本文研究了缓冲区溢出漏洞和ROP攻击的自动化验证规则。通过分析缓冲区溢出漏洞触发时函数返回地址特征,提出了基于函数返回地址匹配的规则来验证样本是否触发了缓冲区溢出漏洞。通过构造大量的ROP攻击链,分析链中Gadget的长度特征,以及Gadget中Ret指令之前两条指令的行为特征,构建出了基于统计规则和行为规则的ROP攻击混合检测方案。3.针对不同平台下动态分析技术的优劣,选择基于调试器和动态插桩的技术,搭建环境集群,实现了漏洞自动化验证原型系统。采用实际的攻击样本对系统进行了功能和性能测试,测试结果表明,本验证系统误报率更低性能更好。