关键词:
无文件攻击
Webshell检测
RASP监控
污点分析
摘要:
近年来,随着互联网技术的飞速发展,Web应用被广泛开发使用,针对Web应用的网络攻击也越来越多,Webshell作为最为常见的攻击手段之一,给Web应用的安全性造成严重威胁。现有常用的防护检测技术,虽然能够有效识别并删除传统文件上传型Webshell,在一定程度上保障Web应用安全,但是,却对无文件攻击方式的新型Webshell攻击无能为力。Java内存Webshell作为一种无文件落地的Webshell技术,它将可执行代码留在内存当中,隐蔽性更高,给检测带来极大的难度。目前,专门针对Java内存Webshell检测技术的研究较少,处于起步阶段。少部分开源工具提供了 Java内存Webshell检测功能,但是仅支持检测个别类型的Java内存Webshell,漏报率较高,检测效果不佳。基于此,本文展开基于程序分析的Java内存Webshell检测技术研究与实现,主要工作和创新点如下:1)提出基于类调用信息的动态Java内存Webshell检测方法。该方法通过动态RASP监控获取敏感方法被触发时的类调用信息,基于类调用信息从Java虚拟机中有效筛选可疑类,并通过检测可疑类对应字节码加载路径是否异常判定Java内存Webshell。2)提出基于污点分析的静态Java内存Webshell检测方法。该方法通过定义污点源、污点汇聚点以及污点传播规则,从代码层对可疑类做进一步分析,跟踪污点变量的传播过程以检测代码中存在的安全问题。3)搭建面向Java内存Webshell的原型检测系统。测试实验表明,该原型系统能够有效检测被恶意注入到内存中的Java内存型Webshell,与其他工具对比,该系统具有更高的检测率。