基于Javaagent的Web漏洞即时阻断方法、装置、设备和存储介质制造方法及图纸

技术编号:38631543 阅读:14 留言:0更新日期:2023-08-31 18:30
本申请涉及一种基于Javaagent的Web漏洞即时阻断方法、装置、计算机设备、存储介质和计算机程序产品。本申请通过在Java应用程序中内置Javaagent,配置简单,不需要时刻更新维护规则库,提高了Web渗透命令拦截的准确率。该方法包括:响应于Web请求,创建第一线程处理Web请求;其中,当前Java应用程序中包含javaagent模块;若Web请求中包含Linux命令参数,则利用预设的命令执行hook点将第一线程标记为请求线程;若请求线程中包含UNIXProcess方法,则通过CommandHook点进入UNIXProcess方法;利用UNIXProcess方法检测第一线程是否为请求线程;若是,则获取请求线程中的命令执行参数信息,判断命令执行参数信息与预设正则表达式是否匹配;若匹配,则拦截Web请求。则拦截Web请求。则拦截Web请求。

【技术实现步骤摘要】
基于Javaagent的Web漏洞即时阻断方法、装置、设备和存储介质


[0001]本申请涉及Web安全
,特别是涉及一种基于Javaagent的Web漏洞即时阻断方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着互联网技术的发展,基于Web环境的互联网应用越来越广泛。Web业务的迅速发展吸引了黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显。黑客利用网站操作系统的漏洞得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害,这使得越来越多的用户关注应用层的安全问题。
[0003]传统应用防护系统WAF(Web Application Firewall,Web应用防火墙)都是针对HTTP(Hyper Text Transfer Protocol,超文本传输协议)流量和HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)流量进行检测,传统应用防护系统需要独立的安全规则库支持,在对HTTP或HTTPS数据包进行分析的过程中,需要与预设的安全规则库进行比对,若安全规则库没有得到及时更新,拦截效果降低,会对当前Web系统的安全造成威胁。因此传统的Web应用防护系统配置复杂,总是需要及时更新,导致防护力度不够。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种基于Javaagent的Web漏洞即时阻断方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种基于Javaagent的Web漏洞即时阻断方法。所述方法包括:
[0006]在当前Java应用程序执行过程中,响应于Web请求,创建第一线程处理所述Web请求;其中,所述当前Java应用程序中包含javaagent模块;
[0007]若所述Web请求中包含Linux命令参数,则利用预设的命令执行hook点将所述第一线程标记为请求线程;
[0008]若所述请求线程中包含UNIXProcess方法,则通过CommandHook点进入所述UNIXProcess方法;利用所述UNIXProcess方法检测所述第一线程是否为所述请求线程;
[0009]若是,则获取所述请求线程中的命令执行参数信息,判断所述命令执行参数信息与预设正则表达式是否匹配;
[0010]若匹配,则拦截所述Web请求。
[0011]在其中一个实施例中,所述响应于Web请求,创建第一线程处理所述Web请求之前,所述方法还包括:
[0012]通过所述javaagent模块执行Premain函数;
[0013]通过所述Premain函数调用retransform类库;
[0014]通过所述retransform类库进行字节码操作,为所述当前Java应用程序添加命令执行hook点;
[0015]启动所述命令执行hook点,作为所述预设的命令执行hook点。
[0016]在其中一个实施例中,所述方法还包括:
[0017]JavaScript插件模块初始化;具体包括:插件文件初始化,JavaScript上下文类初始化。
[0018]在其中一个实施例中,所述JavaScript插件模块初始化之后,所述方法还包括:
[0019]通过预设引擎执行所述JavaScript插件模块,将JavaScript代码编译成字节码,加载至Java虚拟机中执行。
[0020]在其中一个实施例中,所述启动所述命令执行hook点之后,所述方法还包括:
[0021]通过类加载器将所述当前Java应用程序的所有类加载至内存中,并转换为字节码;
[0022]通过所述retransform类库判断各个所述类是否为命令执行需要hook的类;
[0023]若是,则通过javassit类库针对所述命令执行需要hook的类进行解析,并返回至所述retransform类库;
[0024]通过所述retransform类库将所述命令执行需要hook的类载入Java虚拟机。
[0025]在其中一个实施例中,所述javaagent模块与所述当前Java应用程序同时启动,并同时结束。
[0026]第二方面,本申请还提供了一种基于Javaagent的Web漏洞即时阻断装置。所述装置包括:
[0027]第一线程创建模块,用于在当前Java应用程序执行过程中,响应于Web请求,创建第一线程处理所述Web请求;其中,所述当前Java应用程序中包含javaagent模块;
[0028]请求线程标记模块,用于若所述Web请求中包含Linux命令参数,则利用预设的命令执行hook点将所述第一线程标记为请求线程;
[0029]第一线程检测模块,用于若所述请求线程中包含UNIXProcess方法,则通过CommandHook点进入所述UNIXProcess方法;利用所述UNIXProcess方法检测所述第一线程是否为所述请求线程;
[0030]命令执行参数匹配模块,用于若是,则获取所述请求线程中的命令执行参数信息,判断所述命令执行参数信息与预设正则表达式是否匹配;
[0031]Web请求拦截模块,用于若匹配,则拦截所述Web请求。
[0032]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于Javaagent的Web漏洞即时阻断方法实施例中的各步骤。
[0033]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于Javaagent的Web漏洞即时阻断方法实施例中的各步骤。
[0034]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述基于Javaagent的Web漏洞即时阻断方法实
施例中的各步骤。
[0035]上述基于Javaagent的Web漏洞即时阻断方法、装置、计算机设备、存储介质和计算机程序产品,通过在当前Java应用程序执行过程中,响应于Web请求,创建第一线程处理Web请求;其中,当前Java应用程序中包含javaagent模块;若Web请求中包含Linux命令参数,则利用预设的命令执行hook点将第一线程标记为请求线程;若请求线程中包含UNIXProcess方法,则通过CommandHook点进入UNIXProcess方法;利用UNIXProcess方法检测第一线程是否为请求线程;若是,则获取请求线程中的命令执行参数信息,判断命令执行参数信息与预设正则表达式是否匹配;若匹配,则拦截Web请求。本申请通过在Java应用程序中内置Javaagent,配本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Javaagent的Web漏洞即时阻断方法,其特征在于,所述方法包括:在当前Java应用程序执行过程中,响应于Web请求,创建第一线程处理所述Web请求;其中,所述当前Java应用程序中包含javaagent模块;若所述Web请求中包含Linux命令参数,则利用预设的命令执行hook点将所述第一线程标记为请求线程;若所述请求线程中包含UNIXProcess方法,则通过CommandHook点进入所述UNIXProcess方法;利用所述UNIXProcess方法检测所述第一线程是否为所述请求线程;若是,则获取所述请求线程中的命令执行参数信息,判断所述命令执行参数信息与预设正则表达式是否匹配;若匹配,则拦截所述Web请求。2.根据权利要求1所述的方法,其特征在于,所述响应于Web请求,创建第一线程处理所述Web请求之前,所述方法还包括:通过所述javaagent模块执行Premain函数;通过所述Premain函数调用retransform类库;通过所述retransform类库进行字节码操作,为所述当前Java应用程序添加命令执行hook点;启动所述命令执行hook点,作为所述预设的命令执行hook点。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:JavaScript插件模块初始化;具体包括:插件文件初始化,JavaScript上下文类初始化。4.根据权利要求3所述的方法,其特征在于,所述JavaScript插件模块初始化之后,所述方法还包括:通过预设引擎执行所述JavaScript插件模块,将JavaScript代码编译成字节码,加载至Java虚拟机中执行。5.根据权利要求2所述的方法,其特征在于,所述启动所述命令执行hook点之后,所述方法还包括:通过类加载器将所述当前Java应用程序的所有类加载至内存中,并转换为字节码;通过所述re...

【专利技术属性】
技术研发人员:李书亮于永超周力炜李洁玮王崛超李祥孙维康
申请(专利权)人:浙大网新科技股份有限公司
类型:发明
国别省市:

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

1