检测注入TomcatUpgrade内存马的方法及装置制造方法及图纸

技术编号:38009713 阅读:13 留言:0更新日期:2023-06-30 10:29
本发明专利技术实施例涉及一种检测注入TomcatUpgrade内存马的方法及装置,所述方法包括:向Tomcat的Web应用加载软件包;采用软件包对Tomcat的容器类的调用方法的入口和出口进行挂钩;根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,并根据判断结果检测是否有恶意注入的内存马。本发明专利技术实施例的技术方案,利用注入TomcatUpgrade内存马特点,对Tomcat中Engine容器类的调用方法的入口和出口进行挂钩,能够快速查找到注入TomcatUpgrade的内存马,准确性较高。准确性较高。准确性较高。

【技术实现步骤摘要】
检测注入TomcatUpgrade内存马的方法及装置


[0001]本专利技术实施例涉及互联网计算机
,尤其涉及一种检测注入TomcatUpgrade内存马的方法及装置。

技术介绍

[0002]Java内存马是无文件攻击的一种常用手段,是在内存中写入恶意后门并执行,达到远程控制Web服务器的目的。随着攻防对抗越来越激烈,攻防双方的博弈,流量的分析、端点检测与响应(Endpoint Detection and Response,“EDR”)等专业安全产品被广泛使用,传统的文件上传的Webshell或以文件形式驻留的后门越来越容易被检测到,内存马使用越来越多。
[0003]现有的大部分安全主机产品,更多是检测落地的Webshell文件,无法检测注入Java内存马。少部分安全主机产品基于监控Java加载内存类进行特征扫描,需要Upgrade特征库,存在一定的滞后性和应对新变种能力不足。目前还没有专门针对Tomcat的Upgrade内存马进行注入检测的方法。

技术实现思路

[0004]基于现有技术的上述情况,本专利技术实施例的目的在于提供一种检测注入TomcatUpgrade内存马的方法及装置,能够有效检测到通过利用Tomcat的Upgrade机制注入的Java内存马。
[0005]为达到上述目的,根据本专利技术的第一个方面,提供了一种检测注入TomcatUpgrade内存马的方法,包括:
[0006]向Tomcat的Web应用加载软件包;
[0007]采用软件包对Tomcat的容器类的调用方法的入口和出口进行挂钩;
[0008]根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,并根据判断结果检测是否有恶意注入的内存马。
[0009]进一步的,所述对Tomcat的容器类的调用方法的入口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Upgrade协议变量中的Upgrade协议对象,并保存至线程本地存储变量中。
[0010]进一步的,所述对Tomcat的容器类的调用方法的出口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Upgrade协议变量中的Upgrade协议对象。
[0011]进一步的,根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,包括:
[0012]将对所述出口挂钩得到的Upgrade协议对象与线程本地存储变量中的Upgrade协议对象进行比较;
[0013]若比较结果有新增的Upgrade协议对象,则判断有恶意注入的内存马。
[0014]进一步的,所述方法还包括:
[0015]如果存在恶意注入的内存马,则取出Upgrade协议中的内存马对象的类信息和参数请求,并进行信息上报。
[0016]本专利技术的另一个方面,提供了一种检测注入TomcatUpgrade内存马的装置,包括:
[0017]加载模块,用于向Tomcat的Web应用加载软件包;
[0018]挂钩模块,用于采用软件包对Tomcat的容器类的调用方法的入口和出口进行挂钩;
[0019]内存马检测模块,用于根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,并根据判断结果检测是否有恶意注入的内存马。
[0020]进一步的,所述挂钩模块,对Tomcat的容器类的调用方法的入口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Upgrade协议变量中的Upgrade协议对象,并保存至线程本地存储变量中。
[0021]进一步的,所述挂钩模块,对Tomcat的容器类的调用方法的出口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Upgrade协议变量中的Upgrade协议对象。
[0022]进一步的,所述内存马检测模块,根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,包括:
[0023]将对所述出口挂钩得到的Upgrade协议对象与线程本地存储变量中的Upgrade协议对象进行比较;
[0024]若比较结果有新增的Upgrade协议对象,则判断有恶意注入的内存马。
[0025]进一步的,还包括:
[0026]信息上报模块,用于如果存在恶意注入的内存马,则取出Upgrade协议中的内存马对象的类信息和参数请求,并进行信息上报。
[0027]综上所述,本专利技术实施例提供了一种检测注入TomcatUpgrade内存马的方法及装置,所述方法包括:向Tomcat的Web应用加载软件包;采用软件包对Tomcat的容器类的调用方法的入口和出口进行挂钩;根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,并根据判断结果检测是否有恶意注入的内存马。本专利技术实施例的技术方案,利用注入TomcatUpgrade内存马特点,对Tomcat中Engine容器类的调用方法的入口和出口进行挂钩,能够快速并准确检测出利用TomcatUpgrade机制注入内存马的威胁攻击行为。
附图说明
[0028]图1是本专利技术一个实施例提供的检测注入TomcatUpgrade内存马的方法的流程图;
[0029]图2是本专利技术一个实施例提供的检测注入TomcatUpgrade内存马的装置的构成框图;
[0030]图3是本专利技术一个实施例提供的电子设备的结构示意图。
具体实施方式
[0031]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发
明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0032]需要说明的是,除非另外定义,本专利技术一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本专利技术一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0033]利用Tomcat的Upgrade机制,通过向httpUpgradeProtocols的Map结构中插入恶意构造的内存马,通过触发恶意构造的accept方法,达到控制Tomcat服务器,是一种新型的注入内存马利用技术。利用Java Tomcat的Upgrade机制注入内存马,往往需要构造恶意的UpgradeProt本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检测注入TomcatUpgrade内存马的方法,其特征在于,包括:向Tomcat的Web应用加载软件包;采用软件包对Tomcat的容器类的调用方法的入口和出口进行挂钩;根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,并根据判断结果检测是否有恶意注入的内存马。2.根据权利要求1所述的方法,其特征在于,所述对Tomcat的容器类的调用方法的入口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Map结构中的Upgrade协议对象,并保存至线程本地存储变量中。3.根据权利要求2所述的方法,其特征在于,所述对Tomcat的容器类的调用方法的出口进行挂钩,包括通过参数请求,反射找到协议类的Upgrade协议变量,遍历Upgrade协议变量的Map结构,寻找Upgrade协议变量中的Upgrade协议对象。4.根据权利要求3所述的方法,其特征在于,根据所述入口和出口的挂钩,判断是否有新增的Upgrade协议对象,包括:将对所述出口挂钩得到的Upgrade协议对象与线程本地存储变量中的Upgrade协议对象进行比较;若比较结果有新增的Upgrade协议对象,则判断有恶意注入的内存马。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果存在恶意注入的内存马,则取出Upgrade协议中的内存马对象的类信息和参数请求,并进行信息上报。6.一种检测注入TomcatUpgrade内存马的装置,其特征...

【专利技术属性】
技术研发人员:张晓瑞姜向前姚纪卫
申请(专利权)人:安芯网盾北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1