一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

WebShell检测方法及装置

2022-07-01 22:03:07 来源:中国专利 TAG:

webshell检测方法及装置
技术领域
1.本技术涉及计算机网络领域,具体而言,涉及一种webshell检测方法及装置。


背景技术:

2.webshell是网站被成功入侵后安装的后门程序,入侵者通过控制被入侵的主机(或服务器),以盗取敏感数据或凭据或者作为攻击内网主机的跳板。
3.相关技术中,webshell常常被伪装成正常的网站程序,如果不能发现已经安装的webshell,那么即使修复了网站的漏洞,入侵者仍可以利用隐藏在网站程序中的webshell来继续控制被入侵的主机。进一步无法溯源到主要木马文件。
4.针对相关技术中无法满足在高速网络环境的数据包捕获以及检测的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术的主要目的在于提供一种webshell检测方法及装置,以解决无法满足在高速网络环境的数据包捕获以及检测的问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种webshell检测方法。
7.根据本技术的webshell检测方法包括:向dpdk应用服务器传输网络流量;通过dpdk对所述网络流量进行采集,得到待检测的数据包;在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警。从而在流量数据分析完成之后能确定流量中存在webshell,并进行溯源操作,不单能检测服务器中存在的webshell,还能保证webshell的路径,达到完全检测webshell的目的。
8.为了实现上述目的,根据本技术的另一方面,提供了一种webshell检测装置。
9.根据本技术的webshell检测装置包括:传输模块,用于向dpdk应用服务器传输网络流量;采集模块,用于通过dpdk对所述网络流量进行采集,得到待检测的数据包;检测模块,用于在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警。
10.在本技术实施例中webshell检测方法及装置,采用向dpdk应用服务器传输网络流量的方式,通过dpdk对所述网络流量进行采集,得到待检测的数据包,达到了在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警的目的,从而实现了基于高速网络的webshell综合检测溯源的技术效果,进而解决了无法满足在高速网络环境的数据包捕获以及检测的技术问题。
附图说明
11.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1是根据本技术实施例的系统架构示意图;
13.图2是根据本技术实施例的webshell检测方法流程示意图;
14.图3是根据本技术实施例的webshell检测装置结构示意图;
15.图4是根据本技术实施例的技术架构示意图;
16.图5是根据本技术实施例的电子设备的结构示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
18.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
19.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
20.如图1所示,本技术实施例的系统架构包括:客户端100、服务器端200,在所述客户端100与所述服务器端200之间建立链接,并通过http协议在基于高速网络环境中进行数据传输。
21.如图2所示,该方法包括如下的步骤s201至步骤s203:
22.步骤s201,向dpdk应用服务器传输网络流量;
23.步骤s202,通过dpdk对所述网络流量进行采集,得到待检测的数据包;
24.步骤s203,在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警。
25.从以上的描述中,可以看出,本技术实现了如下技术效果:
26.采用向dpdk应用服务器传输网络流量的方式,通过dpdk对所述网络流量进行采集,得到待检测的数据包,达到了在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警的目的,从而实现了基于高速网络的webshell综合检测溯源的技术效果,进而解决了无法满足在高速网络环境的数据包捕获以及检测的技术问题。
27.在一种具体实施例中,在所述步骤203中还包括,通过溯源技术找到主要木马文件,保证了webshell检测在高速网络环境下的效率。在所述步骤s202中实现了在高速网络环境的数据包捕获和检测webshell。
28.在上述步骤s201中将网络真实流量传输到dpdk应用服务器从而达到汇聚整个网络环境核心的流量保证流量的稳定传输和完整性。
29.在一种具体实施方式中,通过流量镜像的方式进行流量存储。
30.在另一种具体实施方式中,在真实网络出口通过部署分光器,将镜像出来的流量从核心交换机传输到所述dpdk应用服务器。
31.在一种较佳实施方式中,所述dpdk应用服务器接收网络流量,并进一步进行流量采集。
32.在上述步骤s202中流量采集模块通过数据包转发处理套件dpdk实现在高速环境中对数据包进行稳定采集,dpdk可以有效进行数据包的高速转发操作,降低丢包率。
33.在一种具体实施方式中,采用dpdk基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
34.在上述步骤s203中将通过dpdk接收的数据进行流量解析、流量分类、流量分析操作,之后如果检测出所述待检测的数据包中存在webshell,则对存在且有效的所述webshell进行预警。
35.在一种具体实施方式中,通过从存储的webshell流量中提取webshell的链接并使用批量脚本自动验证webshell的存活状态。
36.在另一种具体实施方式中,通过自动验证webshell的存活之后,得到有效的webshell链接最终进行相关网站的预警通告。
37.在一种较佳实施方式中,通过溯源技术找到webshell中主要的木马文件。
38.作为本技术可选的实施方式,所述检测出所述待检测的数据包中存在webshell,包括:对所述dpdk应用服务器接收的待检测的数据包进行流量检测,其中,所述流量检测至少包括如下之一:对数据包的流量解析、对数据包流量分类、对数据包的流量分析操作;在对所述数据包进行所述流量解析、所述流量分类、所述流量分析之后,检测出所述待检测的数据包中是否存在webshell的木马文件。通过所述流量解析、所述流量分类、所述流量分析的操作之后将数据进行相关webshell流量存储以待后续操作。
39.作为本技术可选的实施方式,所述对数据包的流量解析包括:通过dpdk的预置结构体指针偏移函数将所述数据包解析到相对应的协议头结构体变量中;其中,所述协议头结构体变量依次包括:dpdk数据包结构体、二层链路结构体头部、ip头部、tcp头部、http流量信息。
40.具体实施时,流量解析通过dpdk官方的结构体指针偏移函数可以直接将数据解析到相对应的协议头结构体变量中,其过程依次是dpdk数据包结构体,二层链路结构体头部,ip头部,tcp头部,http流量信息。
41.作为本技术可选的实施方式,所述对数据包流量分类包括:将数据包中提取的字符形成http数据包前置变量;根据所述http数据包前置变量与http数据包中的关键字进行匹配,解析得到http流量、分类出post报文、get报文、http响应报文,其中,所述关键字至少包括如下之一:post、get、http1.1/200ok。
42.具体实施时,流量分类通过将已经数据帧进行剥离到至应用层的数据提取出若干字符形成http数据包前置变量,再与http数据包关键字进行匹配从而成功解析出http流量和分类出post报文、get报文、http响应报文。
43.在一种具体实施方式中,关键字包括但不限于post、get、http1.1/200ok。
44.作为本技术可选的实施方式,对所述对数据包的流量分析包括:使用webshell的动态检测策略和静态检测策略进行,对所述数据包中预设分类的报文进行webshell检测。
45.具体实施时,流量分析通过对三种不同分类的报文(post报文、get报文、http响应报文)进行深度包检测,使用webshell动态和静态检测机制进行webshell检测。
46.作为本技术可选的实施方式,所述静态检测策略包括:kmp匹配算法,通过所述kmp匹配算法对已知模式的攻击进行检测;和/或,所述动态检测包括:正则匹配算法,通过所述正则匹配算法对特征库中敏感行为特征以及文件的运行状态进行检测。
47.具体实施时,动态检测使用正则匹配算法,具体实现为调用正则匹配函数对特征库中敏感行为特征以及文件的运行状态进行监控并与http流量进行正则匹配,匹配成功,则将相关信息写入记录文件。
48.具体实施时,静态检测使用kmp匹配算法只对已知模式的攻击进行检测,通过循环读取特征库中静态文本特征,如关键字、特征码、危险函数等,并与http流量中关键字或者函数进行匹配,如果匹配成功,就将相关命中信息写入记录文件。
49.作为本技术可选的实施方式,所述检测出所述待检测的数据包中存在webshell,还包括:在所述待检测的数据包通过加密传输webshell的情况下,获取webshell中预设特征对应的密文并对密文解密;在所述待检测的数据包中匹配经过解密之后的恶意命令,并判断在所述数据包中是否存在webshell的传输行为。
50.具体实施时,对于在加密流量中传输的webshell,首先可以通过特定函数或正则表达式获取webshell中相关特征的base64密文,如y21k就是cmd的base64加密密文。然后,再通过kmp以及正则表达式在http流量数据包中匹配解密之后恶意命令,来判断该数据包中是否存在webshell传输行为。
51.作为本技术可选的实施方式,所述向dpdk应用服务器传输网络流量,之前还包括:在预设网络出口通过分光器镜像得到网络环境中交换机的流量镜像并储存;和/或,通过dpdk在网络环境中对数据包进行稳定采集和转发。
52.作为本技术可选的实施方式,所述在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警,包括:从存储有webshell的网络流量中提取若干webshell的链接;使用批量脚本验证webshell中存在且有效的webshell链接;根据所述webshell链接对目标网站的进行预警警通告。
53.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
54.根据本技术实施例,还提供了一种用于实施上述方法的webshell检测装置,如图3所示,该装置包括:
55.传输模块31,用于向dpdk应用服务器传输网络流量;
56.采集模块32,用于通过dpdk对所述网络流量进行采集,得到待检测的数据包;
57.检测模块33,用于在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警。
58.本技术实施例中的传输模块31中将网络真实流量传输到dpdk应用服务器从而达到汇聚整个网络环境核心的流量保证流量的稳定传输和完整性。
59.在一种具体实施方式中,通过流量镜像的方式进行流量存储。
60.在另一种具体实施方式中,在真实网络出口通过部署分光器,将镜像出来的流量从核心交换机传输到所述dpdk应用服务器。
61.在一种较佳实施方式中,所述dpdk应用服务器接收网络流量,并进一步进行流量采集。
62.本技术实施例中的采集模块32中流量采集模块通过数据包转发处理套件dpdk实现在高速环境中对数据包进行稳定采集,dpdk可以有效进行数据包的转发操作,降低丢包率。
63.在一种具体实施方式中,采用dpdk基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
64.本技术实施例中的检测模块33中将通过dpdk接收的数据进行流量解析、流量分类、流量分析操作,之后如果检测检测出所述待检测的数据包中存在webshell,则对存在且有效的所述webshell进行预警。
65.在一种具体实施方式中,通过从存储的webshell流量中提取webshell的链接并使用批量脚本自动验证webshell的存活得。
66.在另一种具体实施方式中,通过自动验证webshell的存活之后,得到有效的webshell链接最终进行相关网站的预警通告。
67.在一种较佳实施方式中,通过溯源技术找到webshell中主要的木马文件。
68.为了更好的理解上述webshell检测方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本发明实施例的技术方案。
69.本技术优选实施例提供了基于高速网络的webshell综合检测溯源方案以及基于dpdk的webshell综合检测溯源方案。此外,本技术还提供了http数据包的提取方案。
70.图4根据本技术实施例的技术架构示意图,主要包括:流量存储模块50、流量采集模块40、流量检测模块30、数据存储模块20、安全预警模块10。
71.所述流量存储模块50,用于在网络出口通过分光器镜像出来的流量从核心交换机传输到dpdk应用服务器从而达到汇聚整个网络环境核心的流量保证流量的稳定传输和完整性。
72.所述流量采集模块40,用于通过数据包转发处理套件dpdk实现在高速环境中对数据包进行稳定采集,dpdk可以有效进行数据包的转发操作,降低丢包率。
73.所述流量检测模块30,用于将dpdk接收的数据进行流量解析、流量分类、流量分析操作,流量解析通过dpdk官方的结构体指针偏移函数可以直接将数据解析到相对应的协议头结构体变量中,其过程依次是dpdk数据包结构体,二层链路结构体头部,ip头部,tcp头部,http流量信息。流量分类通过将已经数据帧进行剥离到至应用层的数据提取几个字符形成http数据包前置变量,再与http数据包关键字进行匹配从而成功解析出http流量和分类出post报文、get报文、http响应报文。
74.所述流量检测模块30中的流量分析模块,通过对三种不同分类的报文进行深度包检测,使用webshell动态和静态检测机制进行webshell检测。
75.静态检测使用kmp匹配算法只对已知模式的攻击进行检测,通过循环读取特征库
中静态文本特征,如关键字、特征码、危险函数等,并与http流量中关键字或者函数进行匹配,如果匹配成功,就将相关命中信息写入记录文件。
76.动态检测使用正则匹配算法,具体实现为调用正则匹配函数对特征库中敏感行为特征以及文件的运行状态进行监控并与http流量进行正则匹配,匹配成功,则将相关信息写入记录文件。
77.对于在加密流量中传输的webshell,首先通过特定函数或正则表达式获取webshell中相关特征的base64密文,如y21k就是cmd的base64加密密文。然后,再通过kmp以及正则表达式在http流量数据包中匹配解密之后恶意命令,来判断该数据包中是否存在webshell传输行为。
78.所述数据存储模块20,用于进行相关命中的webshell流量存储以待后续操作。
79.所述安全预警模块10,通过从存储的webshell流量中提取webshell的链接并使用批量脚本自动验证webshell的存活得到有效的webshell链接最终进行相关网站的预警通告。
80.本技术实施例还提供了一种计算机设备。如图5所示,计算机设备60可以包括:至少一个处理器601,例如cpu,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602,可选地,还可以包括显示屏606。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括触摸屏、键盘或鼠标等等。网络接口604可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通过网络接口604可以与服务器建立通信连接。存储器605可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,存储器605包括本发明实施例中的flash。存储器605可选的还可以是至少一个位于远离前述处理器601的存储系统。如图5所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
81.需要说明的是,网络接口604可以连接接收器、发射器或其他通信模块,其他通信模块可以包括但不限于wifi模块、蓝牙模块等,可以理解,本发明实施例中计算机设备也可以包括接收器、发射器和其他通信模块等。
82.处理器601可以用于调用存储器605中存储的程序指令,并使计算机设备60执行以下操作:
83.向dpdk应用服务器传输网络流量;
84.通过dpdk对所述网络流量进行采集,得到待检测的数据包;
85.在检测出所述待检测的数据包中存在webshell的情况下,对存在且有效的所述webshell进行预警。
86.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
87.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献