论文部分内容阅读
互联网技术的蓬勃发展极大地提高了社会的运行效率,但Web系统的安全问题也日渐严重。Webshell恶意代码攻击成为针对Web最常用的攻击手段之一。攻击者利用Web漏洞,将Webshell恶意代码植入到服务器中,并利用其执行数据窃取、内网探测等攻击行为。面对Webshell攻击在连续入侵过程中对网站安全的威胁,提升Webshell检测能力,具有重要意义。Webshell小马以其体积小,隐蔽性高等优势在连续入侵过程中被广泛使用。因此,本文主要对Webshell小马进行了研究,通过分析现有单一维度检测方法的不足,以PHP动态特性为检测核心,提出了恶意代码检测与入侵后的行为检测结合的多维度检测模式,实现针对Webshell攻击全流程的跟踪。其中恶意代码检测采用了静态检测与动态沙箱检测模型,行为检测主要根据代码检测的结果,精准关联其产生的流量数据,进而完整还原攻击行为,便于针对攻击威胁进行深度溯源。主要工作内容与创新性如下:(1)通过分析一句话Webshell的代码特点,进行归纳与研究,总结了常用于构造该类Webshell的五种PHP语法特性:即PHP语法的动态特性。基于此,结合污点追踪技术,将存在动态特性的语法树节点作为静态污点追踪的汇聚点,实现了静态检测方案。(2)面对利用变量函数加密或混淆一句话Webshell的情况,单纯的静态检测仍存在缺陷。因此,本文设计了动态检测方案,通过在沙箱中执行恶意代码,在脚本运行时还原变量函数的函数名,结合静态检测的结果,进一步判断代码风险属性。(3)针对攻击者与恶意代码建立的命令与控制信道进行监控,结合恶意代码检测的结果,关联特定异常流量,并对双向流量进行检测,既能够对攻击行为进行还原,同时也能够感知攻击的结果,为安全防御人员提供应急响应的依据。(4)基于上述方案,完成了 Webshell检测系统的构建,并对其进行了全面的对比验证与功能测试,最终的结果表明该系统具有一定的优势。