CN110855661B - 一种WebShell检测方法、装置、设备及介质 - Google Patents
一种WebShell检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110855661B CN110855661B CN201911094291.4A CN201911094291A CN110855661B CN 110855661 B CN110855661 B CN 110855661B CN 201911094291 A CN201911094291 A CN 201911094291A CN 110855661 B CN110855661 B CN 110855661B
- Authority
- CN
- China
- Prior art keywords
- detected
- webshell
- flow data
- training sample
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种WebShell检测方法、装置、设备及介质,包括:实时获取待检测的流量数据;将待检测的流量数据输入至预先获取的训练后模型;训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,第一训练样本包括webshell文件以及对应的标签信息,第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,能够保证webshell检测的实时性,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
Description
技术领域
本申请涉及WebShell检测技术领域,特别涉及一种WebShell检测方法、装置、设备及介质。
背景技术
目前黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。Webshell植入后,黑客就拥有进入网站的钥匙,进入网站就像自己的家一样,可以查看、拿走、破坏网站里的任何东西。根据数据分析,出现***、暗链、黑页事件的99%的网站存在后门,而Webshell由于隐蔽性强,很难被发现。
在现有技术中,一般通过在服务器部署终端工具进行查杀,但实施难度大,且检测主要依赖于规则,误报和漏报率很高,无法实时发现与拦截。
发明内容
有鉴于此,本申请的目的在于提供一种WebShell检测方法、装置、设备及介质,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。其具体方案如下:
第一方面,本申请公开了一种WebShell检测方法,包括:
实时获取待检测的流量数据;
将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;
获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
可选的,所述实时获取待检测的流量数据,包括:
实时获取用户终端发起的访问流量;
将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据。
可选的,将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据,包括:
判断所述访问流量的数据类型;
若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;
若所述数据类型为访问URL,则利用所述访问URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
可选的,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将对应的访问URL进行屏蔽,并生成对应的事件告警通知管理人员;
若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。
可选的,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;
若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
可选的,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
第二方面,本申请公开了一种WebShell检测装置,包括:
流量数据获取模块,用于实时获取待检测的流量数据;
流量数据检测模块,用于将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;
检测结果输出模块,用于获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
可选的,所述WebShell检测装置,还包括:
访问IP屏蔽模块,用于若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
第三方面,本申请公开了一种WebShell检测设备,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的WebShell检测方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的WebShell检测方法。
可见,本申请先实时获取待检测的流量数据,然后将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型,最后获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,通过利用webshell文件和非webshell文件的上下关系得到的训练后模型检测实时流量数据,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种WebShell检测方法流程图;
图2为本申请公开的一种具体的模型训练过程图;
图3为本申请公开的一种具体的WebShell检测方法流程图;
图4为本申请公开的一种具体的WebShell检测方法流程图;
图5为本申请公开的一种WebShell检测装置结构示意图;
图6为本申请公开的一种WebShell检测设备结构图;
图7为本申请公开的一种服务器结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例公开了一种WebShell检测方法,包括:
步骤S11:实时获取待检测的流量数据。
在具体的实施方式中,本实施例可以在Web服务器前端,实时获取用户终端发起的访问流量,可以理解的是,这样可以将客户端发起的所有访问流量纳入检测范围。然后将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据。具体的,先判断所述访问流量的数据类型,若所述数据类型为上传的文件,比如,上传的文档、图片等,则将所述上传的文件确定为所述待检测的流量数据,也即,当客户端发起文件上传行为,本实施例可以将上传的文件确定为待检测的流量数据,然后对上传的文件进行缓存;若所述数据类型为访问URL(即Uniform Resource Locator,统一资源定位符),则利用所述访问URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,具体的,若访问URL的文件后缀为asp、aspx、jsp、jspx、php、cgi、asa等,并且缺少Referer字段的则将该访问URL的返回内容确定为待检测的流量数据,然后进行缓存,并将该访问会话进行延迟处理。这样,针对上传的文件进行检测可以实时发现上传webshell的行为,针对符合第二预设条件的访问URL进行检测,可以实时发现已存在的webshell的访问。
步骤S12:将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型。
步骤S13:获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
在具体的实施方式中,将所述待检测的流量数据输入至预先获取的训练后模型,然后便可以获取对应的检测结果,并且,训练后模型为基于深度学习技术,根据各程序源码的上下文关系以及正常文档的上下文关系的异同,也即根据webshell文件以及非webshell文件的上下文关系的异同,进行训练得到的,从而避免了只触发了一个关键字就识别为Webshell的问题,并且在训练过程中采用了jieba分词技术对训练样本进行处理提取特征,并通过长短期记忆卷积神经网络算法进行训练。其中,第一训练样本为利用APT(即Advanced Persistent Threat,高级可持续威胁攻击)设备捕获的webshell数据以及Github上相关项目的开源代码和流行的开源代码,如PHPCMS、phpMyAdmin、WordPress等,第二训练样本为捕获的非webshell URL。参见图2所示,图2为本申请公开的一种具体的模型训练过程图。利用循环神经网络的LSTM(即Long Short-Term Memory,长短期记忆网络)结合上下文逻辑进行训练。使用嵌入层Embedding降维,使500维的one-hot词向量,降到64维的空间进行运算。使用卷积层Conv1D对输入信号上进行邻域滤波,使用池化层MaxPooling1D对数据进行最大值池化。递归层使用循环卷积网络中,长短时记忆神经网络进行训练。为防止过拟合,Dropout参数设置为0.1,全连接层激活函数采用SoftMax。
可见,本申请实施例先实时获取待检测的流量数据,然后将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型,最后获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,通过利用webshell文件和非webshell文件的上下关系得到的训练后模型检测实时流量数据,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
参见图3所示,图3为本申请公开的一种具体的WebShell检测方法,包括:
步骤S21:实时获取待检测的流量数据。
步骤S22:将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型。
步骤S23:获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
步骤S24:针对所述检测结果进行对应的处理。
在具体的实施方式中,若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则生成URL访问控制规则,将对应的访问URL进行屏蔽,从而防止了攻击者下一次访问成功,并生成对应的事件告警通知管理人员;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
另外,若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。也即,无论是针对上传webshell文件的IP,还是通过访问URL确定的已存在的webshell对应的IP均进行临时屏蔽,具体的时间可以根据需要预先设定,比如,临时屏蔽时间为1小时。
参见图4所示,图4为本申请实施例公开的一种具体的WebShell检测方法流程图,可见,本实施例可以实时监控访问流量,针对上传的文件进行检测可以实时发现上传webshell的行为,针对符合第二预设条件的访问URL进行检测,可以实时发现已存在的webshell的访问,并在检测出webshell文件时,相应的进行访问URL和访问IP的屏蔽处理,由此实现了webshell的实时检测和隔离防护。并且,本实施例实施方便,防护实时性高,可在1秒内检测出webshell文件,并及时进行屏蔽。
参见图5所示,本申请实施例公开了一种WebShell检测装置,包括:
流量数据获取模块11,用于实时获取待检测的流量数据;
流量数据检测模块12,用于将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;
检测结果获取模块13,用于获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
可见,本申请实施例先实时获取待检测的流量数据,然后将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型,最后获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,通过利用webshell文件和非webshell文件的上下关系得到的训练后模型检测实时流量数据,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
其中,所述流量数据获取模块11具体可以包括:
访问流量获取模块,用于实时获取用户终端发起的访问流量;
待检测流量确定模块,用于将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据。
并且,所述待检测流量确定模块,具体用于判断所述访问流量的数据类型;若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;若所述数据类型为访问URL,则利用所述URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
所述WebShell检测装置还包括URL屏蔽模块,用于若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将对应的访问URL进行屏蔽,并生成对应的事件告警通知管理人员。
所述WebShell检测装置还包括URL放行模块,用于若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。
所述WebShell检测装置还包括上传文件拦截模块,用于若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;
所述WebShell检测装置还包括上传文件放行模块,用于若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
所述WebShell检测装置还包括访问IP屏蔽模块,若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
参见图6所示,本申请公开了一种WebShell检测设备,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现以下步骤:
实时获取待检测的流量数据;将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
可见,本申请实施例先实时获取待检测的流量数据,然后将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型,最后获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,通过利用webshell文件和非webshell文件的上下关系得到的训练后模型检测实时流量数据,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:实时获取用户终端发起的访问流量;将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:判断所述访问流量的数据类型;若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;若所述数据类型为访问URL,则利用所述URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将对应的访问URL进行屏蔽,并生成对应的事件告警通知管理人员;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
参见图7所示,本申请实施例公开了一种服务器20,包括前述实施例中公开的包括处理器21和存储器22的WebShell检测设备。关于上述处理器21具体可以执行的步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本实施例中的服务器20,还可以具体包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述终端20上的各硬件设备提供工作电压;所述通信接口24能够为所述终端20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
实时获取待检测的流量数据;将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。
可见,本申请实施例先实时获取待检测的流量数据,然后将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型,最后获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果。这样,通过利用webshell文件和非webshell文件的上下关系得到的训练后模型检测实时流量数据,能够保证webshell检测的实时性,并且,避免了流量数据只包括预设的关键字就被识别为Webshell的问题,从而降低了webshell检测的误报率。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:实时获取用户终端发起的访问流量;将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:判断所述访问流量的数据类型;若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;若所述数据类型为访问URL,则利用所述URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将对应的访问URL进行屏蔽,并生成对应的事件告警通知管理人员;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种WebShell检测方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种WebShell检测方法,其特征在于,包括:
实时获取待检测的流量数据;
将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;
获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果;
所述实时获取待检测的流量数据,包括:
在Web服务器前端,实时获取用户终端发起的访问流量;
将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据;
其中,将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据,包括:
判断所述访问流量的数据类型;
若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;
若所述数据类型为访问URL,则利用所述访问URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
2.根据权利要求1所述的WebShell检测方法,其特征在于,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将对应的访问URL进行屏蔽,并生成对应的事件告警通知管理人员;
若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述访问URL的返回内容,则将该访问URL的返回内容发送至对应的访问终端。
3.根据权利要求1所述的WebShell检测方法,其特征在于,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则拦截该上传的文件;
若所述检测结果为所述待检测的流量数据为非Webshell文件,并且,所述待检测的流量数据为所述上传的文件,则允许该上传的文件上传。
4.根据权利要求1至3任一项所述的WebShell检测方法,其特征在于,所述获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果之后,还包括:
若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
5.一种WebShell检测装置,其特征在于,包括:
流量数据获取模块,用于实时获取待检测的流量数据;
流量数据检测模块,用于将所述待检测的流量数据输入至预先获取的训练后模型;其中,所述训练后模型为利用预设的训练样本对长短期记忆神经网络模型进行训练后得到的,所述训练样本包括第一训练样本和第二训练样本,所述第一训练样本包括webshell文件以及对应的标签信息,所述第二训练样本包括非webshell文件以及对应的标签信息,并且,在训练过程中,对所述训练样本的上下文关系进行特征提取,然后利用所述上下文关系得到所述训练后模型;
检测结果输出模块,用于获取所述训练后模型输出的与所述待检测的流量数据对应的检测结果;
流量数据获取模块具体包括:
访问流量获取模块,用于在Web服务器前端,实时获取用户终端发起的访问流量;
待检测流量确定模块,用于将所述访问流量中符合第一预设条件的流量数据确定为所述待检测的流量数据;
所述待检测流量确定模块,具体用于判断所述访问流量的数据类型;若所述数据类型为上传的文件,则将所述上传的文件确定为所述待检测的流量数据;若所述数据类型为访问URL,则利用所述URL的后缀以及HTTP头部的Referer状态判断所述访问URL是否符合第二预设条件,若所述访问URL符合所述第二预设条件,则将所述访问URL的返回内容确定为所述待检测的流量数据,否则,将所述访问URL的返回内容发送至对应的访问终端。
6.根据权利要求5所述的WebShell检测装置,其特征在于,还包括:
访问IP屏蔽模块,用于若所述检测结果为所述待检测的流量数据为Webshell文件,则将该Webshell文件对应的访问IP在预设时间内进行屏蔽。
7.一种WebShell检测设备,其特征在于,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至4任一项所述的WebShell检测方法。
8.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的WebShell检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094291.4A CN110855661B (zh) | 2019-11-11 | 2019-11-11 | 一种WebShell检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094291.4A CN110855661B (zh) | 2019-11-11 | 2019-11-11 | 一种WebShell检测方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855661A CN110855661A (zh) | 2020-02-28 |
CN110855661B true CN110855661B (zh) | 2022-05-13 |
Family
ID=69601260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911094291.4A Active CN110855661B (zh) | 2019-11-11 | 2019-11-11 | 一种WebShell检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855661B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021223177A1 (zh) * | 2020-05-07 | 2021-11-11 | 深圳市欢太科技有限公司 | 异常文件检测方法及相关产品 |
CN111740946B (zh) * | 2020-05-09 | 2023-04-25 | 郑州启明星辰信息安全技术有限公司 | Webshell报文的检测方法及装置 |
CN112118225B (zh) * | 2020-08-13 | 2021-09-03 | 紫光云(南京)数字技术有限公司 | 一种基于RNN的Webshell检测方法及装置 |
CN114465741B (zh) * | 2020-11-09 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 一种异常检测方法、装置、计算机设备及存储介质 |
CN112651025A (zh) * | 2021-01-20 | 2021-04-13 | 广东工业大学 | 一种基于字符级嵌入编码的webshell检测方法 |
CN113591074A (zh) * | 2021-06-21 | 2021-11-02 | 北京邮电大学 | 一种webshell检测方法及装置 |
CN113761522A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种webshell流量的检测方法、装置、设备和存储介质 |
CN114462033A (zh) * | 2021-12-21 | 2022-05-10 | 天翼云科技有限公司 | 一种脚本文件检测模型的构建方法、装置及存储介质 |
CN115344859A (zh) * | 2022-10-18 | 2022-11-15 | 北京华云安信息技术有限公司 | 计算机入侵行为检测模型的训练方法、检测方法 |
CN116248413B (zh) * | 2023-05-09 | 2023-07-28 | 山东云天安全技术有限公司 | 一种webshell文件的流量检测方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170140049A (ko) * | 2016-06-10 | 2017-12-20 | 주식회사 케이티 | 웹쉘을 탐지하는 방법, 서버 및 컴퓨터 판독가능 매체 |
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其*** |
CN108337269A (zh) * | 2018-03-28 | 2018-07-27 | 杭州安恒信息技术股份有限公司 | 一种WebShell检测方法 |
CN108985061A (zh) * | 2018-07-05 | 2018-12-11 | 北京大学 | 一种基于模型融合的webshell检测方法 |
CN109743311A (zh) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种WebShell检测方法、装置及存储介质 |
CN110086788A (zh) * | 2019-04-17 | 2019-08-02 | 杭州安恒信息技术股份有限公司 | 基于云WAF的深度学习WebShell防护方法 |
-
2019
- 2019-11-11 CN CN201911094291.4A patent/CN110855661B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170140049A (ko) * | 2016-06-10 | 2017-12-20 | 주식회사 케이티 | 웹쉘을 탐지하는 방법, 서버 및 컴퓨터 판독가능 매체 |
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其*** |
CN108337269A (zh) * | 2018-03-28 | 2018-07-27 | 杭州安恒信息技术股份有限公司 | 一种WebShell检测方法 |
CN108985061A (zh) * | 2018-07-05 | 2018-12-11 | 北京大学 | 一种基于模型融合的webshell检测方法 |
CN109743311A (zh) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种WebShell检测方法、装置及存储介质 |
CN110086788A (zh) * | 2019-04-17 | 2019-08-02 | 杭州安恒信息技术股份有限公司 | 基于云WAF的深度学习WebShell防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110855661A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855661B (zh) | 一种WebShell检测方法、装置、设备及介质 | |
US11727114B2 (en) | Systems and methods for remote detection of software through browser webinjects | |
CN104767775B (zh) | 网页应用消息推送方法及*** | |
CN105553917B (zh) | 一种网页漏洞的检测方法和*** | |
US8819819B1 (en) | Method and system for automatically obtaining webpage content in the presence of javascript | |
US9248068B2 (en) | Security threat detection of newly registered domains | |
US20170132669A1 (en) | Resource Downloading Method and Device | |
CN111835777B (zh) | 一种异常流量检测方法、装置、设备及介质 | |
CN104956372A (zh) | 使用运行时和静态代码分析来确定动态安全扫描的覆盖率 | |
CN107463844B (zh) | Web木马检测方法及*** | |
CN112822147B (zh) | 一种用于分析攻击链的方法、***及设备 | |
CN114024728B (zh) | 一种蜜罐搭建方法以及应用方法 | |
CN113810381B (zh) | 一种爬虫检测方法、web应用云防火墙、装置和存储介质 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN107562426B (zh) | 无埋点式云端收集分析浏览器Trace的方法及*** | |
CN105635064A (zh) | Csrf攻击检测方法及装置 | |
CN104834588A (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
CN103401861B (zh) | 代理上网识别方法及装置 | |
CN111143722A (zh) | 一种网页暗链检测方法、装置、设备及介质 | |
EP3789890A1 (en) | Fully qualified domain name (fqdn) determination | |
CN112351009B (zh) | 一种网络安全防护方法、装置、电子设备及可读存储介质 | |
CN112615713B (zh) | 隐蔽信道的检测方法、装置、可读存储介质及电子设备 | |
CN103986616A (zh) | 识别代理上网的机器数的方法及装置 | |
CN111400721A (zh) | Api接口检测方法及装置 | |
CN114826959B (zh) | 一种针对音频数据反爬虫技术脆弱性分析方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |