内存型Webshell扫描检测方法、系统、电子设备及存储介质与流程

文档序号:36328738发布日期:2023-12-09 23:42阅读:48来源:国知局
内存型的制作方法

本发明涉及网络安全,尤其涉及一种基于操作码(opcode)的内存型webshell扫描检测方法、装置、电子设备及存储介质。


背景技术:

1、webshell是一种利用web服务器的漏洞或者上传功能,将恶意代码植入到服务器上的一种攻击手段或脚本工具。通过webshell,攻击者可以远程控制服务器,执行各种恶意操作,如窃取敏感信息、篡改网页、传播恶意软件等。webshell的危害性非常大,因此检测和防御webshell是网络安全领域的重要课题。

2、根据webshell是否在硬盘上留有文件,可以将webshell分为文件型webshell和内存型webshell。文件型webshell是指将恶意代码保存为一个文件,上传到服务器上,并通过访问该文件来执行恶意代码。内存型webshell是指将恶意代码直接注入到服务器的内存中,并通过访问某个触发点来执行恶意代码。相比于文件型webshell,内存型webshell更难被检测,因为它不在硬盘上留有痕迹,且可以绕过流量设备、节点探针、终端检测等防御手段。


技术实现思路

1、有鉴于此,本发明实施例提供一种基于操作码的内存型webshell扫描检测方法、系统、电子设备及存储介质,便于实现对内存型webshell的安全检测。

2、为达到上述发明目的,采用如下技术方案:

3、第一方面,本发明实施例提供一种基于操作码的内存型webshell扫描检测方法,所述方法包括:

4、对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存中的区段;

5、根据所述操作码所在的内存区段,利用webshell对应的操作码检测规则库进行匹配扫描;其中,所述操作码检测规则库中存储有不同类型的webshell对应的操作码所在的内存区段;

6、若扫描结果存在匹配项,则生成安全告警信息。

7、可选地,所述在对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存区段之前,所述方法还包括:获取多个不同版本的语言解释器或虚拟机上运行的webshell;

8、针对各个版本,分析对应的webshell的执行流程,确定出webshell对应的操作码;

9、利用内存转储和地址扫描定位出不同版本对应的所述操作码所在内存中的位置信息;

10、将各版本的操作码所在内存中的位置信息记录在数据库中;

11、以及,将所述操作码与对应的webshell建立映射关系,形成操作码检测规则库。

12、可选地,所述在确定所述操作码所在的内存区段之后,所述方法还包括:

13、判断所述操作码所在的内存区段大小;

14、设置时间间隔,根据所述内存区段的大小,每隔预定时间间隔对定位的操作码所在内存区段进行转储;

15、所述根据所述操作码所在的内存区段,利用webshell对应的操作码检测规则库进行匹配扫描包括:

16、利用提取的操作码规则库对转储的内存区段进行匹配扫描。

17、可选地,所述利用提取的操作码规则库对转储的内存区段进行匹配扫描包括:读取转储的内存区段;

18、利用操作码规则库逐个与所述内存区段进行匹配。

19、可选地,所述操作码包括php脚本的操作码、asp脚本的操作码、jsp脚本的操作码和/或java语言编译后的字节码。

20、可选地,所述时间间隔根据所述内存区段大小的变化能够动态调整。

21、第二方面,本发明实施例还提供一种基于操作码的内存型webshell扫描检测系统,包括:

22、定位程序单元,用于对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存中的区段;

23、匹配程序单元,用于根据所述操作码所在的内存区段,利用webshell对应的操作码检测规则库进行匹配扫描;其中,所述操作码检测规则库中存储有不同类型的webshell对应的操作码所在的内存区段;

24、告警程序单元,用于若扫描结果存在匹配项,则生成安全告警信息。

25、可选地,所述系统还包括:

26、获取程序单元,用于在对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存区段之前,获取多个不同版本的语言解释器或虚拟机上运行的webshell;

27、分析程序单元,用于针对各个版本,分析对应的webshell的执行流程,确定出webshell对应的操作码;

28、扫描程序单元,用于利用内存转储和地址扫描定位出不同版本对应的所述操作码所在内存中的位置信息;

29、规则库构建程序单元,用于将各版本的操作码所在内存中的位置信息记录在数据库中;

30、以及,将所述操作码与对应的webshell建立映射关系,形成操作码检测规则库。

31、第三方面,本发明实施例提供一种电子设备,包括:一个或者多个处理器;存储器;所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,以用于执行第一方面任一所述的内存型webshell扫描检测方法。

32、第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述第一方面任一所述的内存型webshell扫描检测方法。

33、本发明实施例提供的内存型webshell扫描检测方法、系统、电子设备及存储介质,利用解释器(一般是php解释器)或虚拟机生成的操作码来进行检测,由于操作码是各种webshell脚本被解释器或虚拟机解析时生成的中间代码,可以反映webshell脚本工具中的敏感函数和参数的调用,此外,操作码是存储在内存中,而不是硬盘上的,即使硬盘上未留下痕迹也对基于操作码检测webshell不会产生影响,这种方法不需要对硬盘上的文件进行扫描,只需要对内存中的操作码进行处理,因此,利用预先形成的操作码规则库对内存中的操作码进行定位和匹配,便于实现对内存型webshell的有效检测。



技术特征:

1.一种基于操作码的内存型webshell扫描检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的内存型webshell扫描检测方法,其特征在于,所述在对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存区段之前,所述方法还包括:获取多个不同版本的语言解释器或虚拟机上运行的webshell;

3.根据权利要求1所述的内存型webshell扫描检测方法,其特征在于,所述在确定所述操作码所在的内存区段之后,所述方法还包括:

4.根据权利要求1所述的内存型webshell扫描检测方法,其特征在于,所述利用提取的操作码规则库对转储的内存区段进行匹配扫描包括:读取转储的内存区段;

5.根据权利要求1所述的内存型webshell扫描检测方法,其特征在于,所述操作码包括php脚本的操作码、asp脚本的操作码、jsp脚本的操作码和/或java语言编译后的字节码。

6.根据权利要求3所述的内存型webshell扫描检测方法,其特征在于,所述时间间隔根据所述内存区段大小的变化能够动态调整。

7.一种基于操作码的内存型webshell扫描检测系统,其特征在于,包括:

8.根据权利要求7所述的内存型webshell扫描检测系统,其特征在于,所述系统还包括:

9.一种电子设备,其特征在于,包括:一个或者多个处理器;存储器;所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,以用于执行权利要求1至6任一所述的内存型webshell扫描检测方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1至6任一所述的内存型webshell扫描检测方法。


技术总结
本发明实施例公开一种内存型Webshell扫描检测方法、系统、电子设备及存储介质,涉及网络安全技术领域。所述方法包括:对解释器或虚拟机中的操作码进行定位,确定所述操作码所在的内存中的区段;根据所述操作码所在的内存区段,利用Webshell对应的操作码检测规则库进行匹配扫描;其中,所述操作码检测规则库中存储有不同类型的webshell对应的操作码所在的内存区段;若扫描结果存在匹配项,则生成安全告警信息。本发明便于实现对内存型Webshell的安全检测;适用于网络安全分析场景中。

技术研发人员:卢殿君,白淳升,肖新光
受保护的技术使用者:安天科技集团股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1