CN116506195A - 一种webshell文件检测方法、电子设备及介质 - Google Patents
一种webshell文件检测方法、电子设备及介质 Download PDFInfo
- Publication number
- CN116506195A CN116506195A CN202310511502.XA CN202310511502A CN116506195A CN 116506195 A CN116506195 A CN 116506195A CN 202310511502 A CN202310511502 A CN 202310511502A CN 116506195 A CN116506195 A CN 116506195A
- Authority
- CN
- China
- Prior art keywords
- data
- detected
- webshell
- source
- webshell file
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000011144 upstream manufacturing Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 abstract description 20
- 230000000875 corresponding effect Effects 0.000 description 42
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 28
- 230000003068 static effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种webshell文件检测方法、电子设备及介质,该方法包括:获取待检测访问流量数据,得到待检测访问流量数据集Q;获取Qj的来源IP地址Mj的数据信息Yj;确定目标来源IP地址,得到目标来源IP地址集R;获取Rz的数据信息Tz;将Yj与Tz进行匹配度比较,得到匹配度值Hjz;若Hjz≥H0,则将Qj确定为正常访问流量数据。本发明通过对待检测访问流量数据的来源IP地址的数据信息进行处理,确定待检测访问流量数据是否为异常访问流量数据,继而实现对待检测webshell文件的检测,与现有的静态特征检测和动态特征检测相比,简化了数据处理的过程,进一步降低了算力要求。
Description
技术领域
本发明涉及数据检测领域,特别是涉及一种webshell文件检测方法、电子设备及介质。
背景技术
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。攻击者在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。所以,就需要时常对webshell文件进行木马检测,来保证webshell文件的健康运行。
目前的webshell文件的木马检测方法是通过构建检测模型来实现的,通过静态特征检测和动态特征检测对其进行木马检测,但目前的静态特征检测和动态特征检测都是基于检测模型的搭建而实现的,需要用到的工具较为复杂,且如果webshell文件中包含有加密数据,在进行木马检测时,需要先对其进行解密,再进行木马检测验证其是否存在异常,此种特征检测的方式较为繁琐,且需要的算力较大。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本申请的一个方面,提供一种webshell文件检测方法,所述方法包括如下步骤:
S100、响应于待检测webshell文件发生了数据更新,获取待检测webshell文件在发生数据更新后的m个待检测访问流量数据,得到待检测访问流量数据集Q=(Q1,Q2,...,Qj,...,Qm);其中,j=1,2,...,m;Qj为待检测webshell文件在发生数据更新后的第j个待检测访问流量数据;待检测webshell文件为存储有可访问网址的webshell文件;
S200、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前存在包含有加密数据的历史访问流量数据,则执行步骤S300;
S300、获取待检测webshell文件在发生数据更新前包含有加密数据的n个历史访问流量数据,得到历史加密流量数据集U=(U1,U2,...,Ui,...,Un);其中,i=1,2,...,n;Ui为待检测webshell文件在发生数据更新前第i个包含有加密数据的历史访问流量数据;
S400、获取Qj对应的来源IP地址Mj对应的数据信息Yj=(P1j,L1j,L2j);L1j=(L11j,L12j,...,L1wj,...,L1sj);L2j=(L21j,L22j,...,L2xj,...,L2vj);其中,w=1,2,...,s;x=1,2,...,v;s为Mj在t0内接收的上行数据包的数量;v为Mj在t0内发送的下行数据包的数量;P1j为Mj在U的来源IP地址中所占的比例;L1j为Mj在t0内接收的上行加密数据列表;L1wj为Mj在t0内接收的第w个上行数据包中的加密数据长度;L2j为Mj在t0内发送的下行加密数据列表;L2xj为Mj在t0内发送的第x个下行数据包中的加密数据长度;t0为预设的时间阈值;
S500、在U对应的所有来源IP地址中,确定出k个目标来源IP地址,得到目标来源IP地址集R=(R1,R2,...,Rz,...,Rk);其中,z=1,2,...,k;Rz为第z个目标来源IP地址;且任意两个目标来源IP地址相互不同;
S600、获取Rz对应的数据信息Tz=(P2z,F1z,F2z);F1z=(F11z,F12z,...,F1dz,...,F1gz);F2z=(F21z,F22z,...,F2cz,...,F2hz);其中,d=1,2,...,g;c=1,2,...,h;g为Rz在t0内接收的上行数据包的数量;h为Rz在t0内发送的下行数据包的数量;P2z为Rz在U的来源IP地址中所占的比例;F1z为Rz在t0内接收的上行加密数据列表;F2z为Rz在t0内发送的下行加密数据列表;F1dz为Rz在t0内接收的第d个上行数据包中的加密数据长度;F2cz为Rz在t0内发送的第c个下行数据包中的加密数据长度;
S700、将Yj与Tz进行匹配度比较,得到对应的匹配度值Hjz;若Hjz≥H0,则将Qj确定为正常访问流量数据;其中,H0为预设的匹配度阈值。
在本申请的一种示例性实施例中,步骤S600之后,webshell文件检测方法还包括:
S610、若s=g,则执行步骤S700;否则,执行步骤S620;
S620、若s<E0,则执行步骤S621;若s=E0,则执行步骤S622;其中,E0为预设的上行数据包的数量阈值;
S621、在L1sj之后增加E0-s个空字符,以使L1j中存在E0个数据,并执行步骤S622;
S622、将F11z,F12z,...,F1dz,...,F1gz替换为Rz距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S700。
在本申请的一种示例性实施例中,步骤S620还包括:
S630、若s>E0,则将t0均分为D个时间窗口;
S631、获取Mj在第一个时间窗口内接收的上行数据包的数量Aj;若Aj<E0,则执行步骤S632;否则,执行步骤S634;
S632、对Mj在第二个时间窗口至第D个时间窗口内接收的上行数据包进行线性差值处理,得到E0-1个上行数据包;
S633、将L11j,L12j,...,L1wj,...,L1sj替换为Aj对应的上行数据包中的加密数据长度与E0-1个上行数据包中的加密数据长度;并执行步骤S622;
S634、将L11j,L12j,...,L1wj,...,L1sj替换为Mj距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S622。
在本申请的一种示例性实施例中,步骤S600之后,webshell文件检测方法还包括:
S640、若v=h,则执行步骤S700;否则,执行步骤S650;
S650、若v<E1,则执行步骤S651;若v=E1,则执行步骤S652;其中,E1为预设的下行数据包的数量阈值;
S651、在L2vj之后增加E1-v个空字符,以使L2vj中存在E1个数据,并执行步骤S652;
S652、将F21z,F22z,...,F2cz,...,F2hz替换为Rz距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S700。
在本申请的一种示例性实施例中,步骤S650还包括:
S660、若v>E1,则将t0均分为D个时间窗口;
S661、获取Mj在第一个时间窗口内发送的下行数据包的数量Bj;若Bj<E1,则执行步骤S662;否则,执行步骤S664;
S662、对Mj在第二个时间窗口至第D个时间窗口内发送的下行数据包进行线性差值处理,得到E1-1个下行数据包;
S663、将L21j,L22j,...,L2xj,...,L2vj替换为Bj对应的下行数据包中的加密数据长度与E1-1个下行数据包中的加密数据长度;并执行步骤S652;
S664、将L21j,L22j,...,L2xj,...,L2vj替换为Mj距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S652。
在本申请的一种示例性实施例中,步骤S700还包括:
S710、将Yj与T1,T2,...,Tz,...,Tk依次进行匹配度比较,若Hjz≥H0,则将Qj确定为正常访问流量数据;否则,则继续比较Hj(z+1)与H0,直至Hjk与H0的比较完成,若Hjk<H0,则将Qj确定为异常访问流量数据。
在本申请的一种示例性实施例中,步骤S200还包括:
S210、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前不存在包含有加密数据的历史访问流量数据,则将Qj确定为异常访问流量数据。
在本申请的一种示例性实施例中,待检测webshell文件存储在目标webshell文件夹中,若目标webshell文件夹中存在新增的webshell文件,则将其确定为待检测webshell文件。
根据本申请的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现所述webshell文件检测方法。
根据本申请的一个方面,提供一种电子设备,包括处理器和所述的非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明以待检测webshell文件的数据更新的时间为数据处理节点,获取待检测webshell文件在发生数据更新后的待检测访问流量数据,若其中包含加密数据,且待检测webshell文件在发生数据更新前存在包含有加密数据的历史访问流量数据,则获取包含有加密数据的历史访问流量数据,并将待检测访问流量数据的来源IP地址的数据信息和包含有加密数据的历史访问流量数据的来源IP地址的数据信息进行匹配度比较,得到相应的匹配度值,若其小于预设的匹配度阈值,则将待检测访问流量数据确定为异常访问流量数据。通过对待检测访问流量数据的来源IP地址的数据信息进行处理,确定待检测访问流量数据是否为异常访问流量数据,继而实现对待检测webshell文件的检测,与现有的静态特征检测和动态特征检测相比,简化了数据处理的过程,进一步降低了算力要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的webshell文件检测方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
webshell文件为一种用于网络和服务器管理的可访问的文件,在网络安全中,攻击者会通过在webshell文件中植入木马代码,来实现对其访问网站的数据窃取的目的,如在webshell文件中植入一句话木马,所以,就需要时常对webshell文件进行木马检测,来保证webshell文件的健康运行,目前的webshell文件的木马检测方法是通过构建检测模型而实现的,攻击者通过浏览器以HTTP协议访问Web Server上的一个CGI文件。但由于webshell就是一个合法的TCP连接,在TCP/IP的应用层之下几乎没有任何特征,只有在应用层进行检测。攻击者入侵服务器,使用webshell时,无论是传文件还是改文件,必然有一个文件会包含webshell代码,所以这时采用静态特征检测;另外,在webshell运行后,B/S数据通过HTTP交互,HTTP请求/响应中可以找到相应的动作记录,所以也可以采用动态特征检测。
但目前的静态特征检测和动态特征检测都是基于检测模型的搭建而实现的,需要用到的工具较为复杂,且如果webshell文件中包含有加密数据,在进行木马检测时,需要先对其进行解密,再进行木马检测验证其是否存在异常,此种特征检测的方式较为繁琐,且需要的算力较大,所以,为了弥补现有的webshell文件木马检测方法中存在的问题,就需提出一种检测流程更为简便且所需算力较小的webshell文件检测方法。
所述的一种webshell文件检测方法,如图1所示,包括如下步骤:
S100、响应于待检测webshell文件发生了数据更新,获取待检测webshell文件在发生数据更新后的m个待检测访问流量数据,得到待检测访问流量数据集Q=(Q1,Q2,...,Qj,...,Qm);其中,j=1,2,...,m;Qj为待检测webshell文件在发生数据更新后的第j个待检测访问流量数据;
待检测webshell文件为存储有可访问网址的webshell文件,待检测webshell文件存储在目标webshell文件夹中,目标webshell文件夹为存储有目标webshell文件的文件夹,目标webshell文件为正常的webshell文件,由于攻击者在对webshell文件植入木马时,需要对webshell文件进行数据更改,所以,当目标webshell文件发生了数据更新,即数据更改时,就认为其有被植入木马的可能,则将其确定为待检测webshell文件,此外,若目标webshell文件夹中存在新增的webshell文件,由于其为新增的文件,不能确定其安全性,所以也将其确定为待检测webshell文件,即实时监控目标webshell文件夹中的所有目标webshell文件,只要其发生了数据更新,或在目标webshell文件夹中新增了一个webshell文件,就将发生了数据更新的目标webshell文件和新增的webshell文件确定为待检测webshell文件。
在确定了待检测webshell文件后,通过待检测webshell文件的访问流量数据对其进行木马检测,所以,以待检测webshell文件的数据更新为时间节点,认为发生数据更新前的待检测webshell文件为正常的不带有木马的文件,就只需要对发生了数据更新后的访问流量进行验证,但由于无法确定待检测webshell文件在发生数据更新后的哪个访问流量为正常流量数据,所以获取待检测webshell文件发生数据更新后的所有访问流量数据,并将其全部确定为待检测访问流量数据。
S200、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前存在包含有加密数据的历史访问流量数据,则执行步骤S300;
S210、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前不存在包含有加密数据的历史访问流量数据,则将Qj确定为异常访问流量数据;
先判断Qj中是否包含加密数据,若其不包含加密数据,则认为其携带木马的可能性较小,可以通过现有的检测模型或检测方法对待检测webshell文件进行木马检测,若Qj中包含加密数据,则认为其携带木马的可能性较大,再对待检测webshell文件在发生数据更新前的历史访问流量数据进行检测,看历史访问流量数据中是否包含有加密数据,若其中有包含加密数据的历史访问流量数据,则继续执行步骤S300,若所有的历史访问流量数据中都不包含加密数据,而Qj中却包含有加密数据,则认为其携带木马的可能性非常大,此时,直接将Qj确定为异常访问流量数据,无需执行以下步骤,确定异常访问流量数据后,可以将其进行记录,也可进行警告,以通知网络维护人员,网络维护人员再对异常访问流量数据进行木马检测,若其属于误报,则将其从异常访问流量数据的列表中移出,转入正常访问流量数据列表中,若其确实为携带木马的流量数据,则对其进行溯源,找到对应的来源IP,并将此来源IP拉进黑名单,并对待检测webshell文件进行查杀。
S300、获取待检测webshell文件在发生数据更新前包含有加密数据的n个历史访问流量数据,得到历史加密流量数据集U=(U1,U2,...,Ui,...,Un);其中,i=1,2,...,n;Ui为待检测webshell文件在发生数据更新前第i个包含有加密数据的历史访问流量数据;
在确定Qj和历史访问流量数据中都包含有加密数据时,为了验证Qj和历史访问流量的相似性,提高检测精度,就需要将Qj与包含了加密数据的历史访问流量数据进行比较,所以,获取待检测webshell文件在发生数据更新前包含有加密数据的所有历史访问流量数据。
S400、获取Qj对应的来源IP地址Mj对应的数据信息Yj=(P1j,L1j,L2j);L1j=(L11j,L12j,...,L1wj,...,L1sj);L2j=(L21j,L22j,...,L2xj,...,L2vj);其中,w=1,2,...,s;x=1,2,...,v;s为Mj在t0内接收的上行数据包的数量;v为Mj在t0内发送的下行数据包的数量;P1j为Mj在U的来源IP地址中所占的比例;L1j为Mj在t0内接收的上行加密数据列表;L1wj为Mj在t0内接收的第w个上行数据包中的加密数据长度;L2j为Mj在t0内发送的下行加密数据列表;L2xj为Mj在t0内发送的第x个下行数据包中的加密数据长度;t0为预设的时间阈值;
Qj为待检测访问流量数据,其对应的来源IP地址为Mj,获取Mj对应的数据信息Yj,Yj中包含有P1j、L1j、L2j,P1j为Mj在所有包含加密数据的历史访问流量数据的来源IP地址中所占的比例,如Mj为111.33.205.178,从所有包含加密数据的历史访问流量数据的来源IP地址中找出与此来源IP地址相同的数量,再与所有包含加密数据的历史访问流量数据的来源IP地址的数量做比值,将其确定为P1j,L1j、L2j分别为Mj在t0内接收的上行加密数据列表和下行加密数据列表,其中包含了每个上行数据包中的加密数据的长度和每个下行数据包中的加密数据的长度。
S500、在U对应的所有来源IP地址中,确定出k个目标来源IP地址,得到目标来源IP地址集R=(R1,R2,...,Rz,...,Rk);其中,z=1,2,...,k;Rz为第z个目标来源IP地址;且任意两个目标来源IP地址相互不同;
由于要通过对来源IP的数据信息对待检测webshell文件进行检测,所以,就需要对所有包含加密数据的历史访问流量数据的来源IP地址做统计,得到每个来源IP地址的重复次数,将属于同一个来源IP地址的确定为目标来源IP地址。
S600、获取Rz对应的数据信息Tz=(P2z,F1z,F2z);F1z=(F11z,F12z,...,F1dz,...,F1gz);F2z=(F21z,F22z,...,F2cz,...,F2hz);其中,d=1,2,...,g;c=1,2,...,h;g为Rz在t0内接收的上行数据包的数量;h为Rz在t0内发送的下行数据包的数量;P2z为Rz在U的来源IP地址中所占的比例;F1z为Rz在t0内接收的上行加密数据列表;F2z为Rz在t0内发送的下行加密数据列表;F1dz为Rz在t0内接收的第d个上行数据包中的加密数据长度;F2cz为Rz在t0内发送的第c个下行数据包中的加密数据长度;
与Mj相同,获取Rz对应的数据信息Tz,Tz中包含有P2z、F1z、F2z,P2z为Rz在所有包含加密数据的历史访问流量数据的来源IP地址中所占的比例,F1z、F2z分别为Rz在t0内接收的上行加密数据列表和下行加密数据列表,其中包含了每个上行数据包中的加密数据的长度和每个下行数据包中的加密数据的长度。
S700、将Yj与Tz进行匹配度比较,得到对应的匹配度值Hjz;若Hjz≥H0,则将Qj确定为正常访问流量数据;其中,H0为预设的匹配度阈值。
得到Yj、Tz后,将Yj与Tz进行匹配度比较,得到对应的匹配度值,再将得到的匹配度值与预设的匹配度阈值进行比较,若小于匹配度阈值,则表示Mj在历史访问流量数据中出现的次数较少,认为其存在侵入的风险,则将Qj确定为异常访问流量数据,若大于或等于匹配度阈值,则表示Mj在历史访问流量数据中出现的次数较多,认为其为安全的IP地址,则将Qj确定为正常访问流量数据,通过验证所有待检测访问流量数据的是否异常,来实现对待检测webshell文件的检测目的,即若其中一个待检测访问流量数据存在异常,则认为待检测webshell文件中存在木马,其数据更新为木马植入,则进行警告,通知网络维护人员对其进行木马检测,若所有的待检测访问流量数据都为正常,则认为待检测webshell文件也为正常文件,其数据更新为正常更新。
此外,步骤S700中,是将Yj与每个目标来源IP地址的数据信息进行匹配度比较,得到所有的匹配度值后,再去对每一个匹配度值与匹配度阈值进行比较,继而确定出所有的待检测访问流量数据的安全性,此种比较方式过于繁杂,需要计算的步骤和数据较多,当待检测访问流量数据的数量过多时,需要计算的匹配度值和阈值比较的步骤也会随之增多,也加大了服务器的算力,所以,为了进一步简化数据处理步骤,提出步骤S700的又一实施例:
进一步,步骤S700还包括:
S710、将Yj与T1,T2,...,Tz,...,Tk依次进行匹配度比较,若Hjz≥H0,则将Qj确定为正常访问流量数据;否则,则继续比较Hj(z+1)与H0,直至Hjk与H0的比较完成,若Hjk<H0,则将Qj确定为异常访问流量数据。
步骤S710为步骤S700的另一实施例,只需要将Yj依次与每一目标来源IP地址的数据信息进行匹配度比较,得到一个匹配度值后,就与匹配度阈值进行比较,若其小于匹配度阈值,则将其确定为异常访问流量数据,无需再对其后的目标来源IP地址进行匹配度比较,直接退出检测方法,若其大于或等于匹配度阈值,则将其确定为正常访问流量数据,继续与下一个目标来源IP地址的数据信息进行匹配度比较,得到对应的匹配度值后,进行阈值比较,直至比较完所有的目标来源IP地址,即依次做匹配度比较和阈值比较,若发现其中一个为异常访问流量数据,则退出,否则,就继续做数据处理,此种方法简化了数据处理的过程,进一步降低了算力要求。
步骤S700和步骤S710中的匹配度比较方法采用现有的匹配度比较方法即可,匹配度比较即相似度比较,是看两者的相似程度,即先对两者的IP地址占比进行比较,得到一个匹配度,再对两者的上行数据包的加密数据长度进行匹配度比较,得到相应的匹配度,对两者的下行数据包的加密数据长度进行匹配度比较,得到相应的匹配度,再将得到的所有匹配度进行相加,得到最终的待检测访问流量数据的匹配度。
但在步骤S700和步骤S710中,对Yj与Tz进行匹配度比较时,若Yj的上行数据包的数量和Tz的上行数据包的数量不等时,对其两者进行匹配度比较时,会由于数量不等,而造成比较误差,如Yj的上行数据包的数量为100个,Tz的上行数据包的数量为200个,在进行匹配度比较时,会存在100个数据包的差值,影响匹配度比较的结果,所以,为了解决在匹配度比较时存在的数据包不等的问题,提出进一步实施例:
在步骤S600之后,webshell文件检测方法还包括:
S610、若s=g,则执行步骤S700;否则,执行步骤S620;
S620、若s<E0,则执行步骤S621;若s=E0,则执行步骤S622;其中,E0为预设的上行数据包的数量阈值;
S630、若s>E0,则将t0均分为D个时间窗口;
S631、获取Mj在第一个时间窗口内接收的上行数据包的数量Aj;若Aj<E0,则执行步骤S632;否则,执行步骤S634;
S632、对Mj在第二个时间窗口至第D个时间窗口内接收的上行数据包进行线性差值处理,得到E0-1个上行数据包;
S633、将L11j,L12j,...,L1wj,...,L1sj替换为Aj对应的上行数据包中的加密数据长度与E0-1个上行数据包中的加密数据长度;并执行步骤S622;
S634、将L11j,L12j,...,L1wj,...,L1sj替换为Mj距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S622;
S621、在L1sj之后增加E0-s个空字符,以使L1j中存在E0个数据,并执行步骤S622;
S622、将F11z,F12z,...,F1dz,...,F1gz替换为Rz距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S700。
若Yj的上行数据包的数量和Tz的上行数据包的数量不等,则设置一个上行数据包的数量阈值,将Yj的上行数据包的数量与此阈值进行比较,若比阈值小,则在Yj中补空字符或固定字符,表示填充的字符无数据,用以进行匹配度比较,若比阈值大,则将t0均分为若干个时间窗口,再比较第一个时间窗口中的上行数据包的数量与阈值的大小,若小于阈值,则对第一个时间窗口之后的所有时间窗口中的上行数据包进行线性差值处理,即平均从此部分时间窗口中取出对应的上行数据包,使其与第一个时间窗口中的上行数据包之和等于预设的上行数据包的数量阈值,若第一个时间窗口中的上行数据包的数量大于阈值,则直接取距离当前时间最近的上行数据包,此种方法可以保证Yj的上行数据包的获取精确度,减小后续的匹配度比较造成的误差。
相应的,Yj与Tz进行匹配度比较时,Yj的下行数据包的数量和Tz的下行数据包的数量不等时也会造成匹配度比较的误差,所以,就需要对Yj与Tz的下行数据包进行数量对齐操作,具体如下:
步骤S600之后,webshell文件检测方法还包括:
S640、若v=h,则执行步骤S700;否则,执行步骤S650;
S650、若v<E1,则执行步骤S651;若v=E1,则执行步骤S652;其中,E1为预设的下行数据包的数量阈值;
S660、若v>E1,则将t0均分为D个时间窗口;
S661、获取Mj在第一个时间窗口内发送的下行数据包的数量Bj;若Bj<E1,则执行步骤S662;否则,执行步骤S664;
S662、对Mj在第二个时间窗口至第D个时间窗口内发送的下行数据包进行线性差值处理,得到E1-1个下行数据包;
S663、将L21j,L22j,...,L2xj,...,L2vj替换为Bj对应的下行数据包中的加密数据长度与E1-1个下行数据包中的加密数据长度;并执行步骤S652;
S664、将L21j,L22j,...,L2xj,...,L2vj替换为Mj距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S652;
S651、在L2vj之后增加E1-v个空字符,以使L2vj中存在E1个数据,并执行步骤S652;
S652、将F21z,F22z,...,F2cz,...,F2hz替换为Rz距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S700。
Yj与Tz的下行数据包的数量对齐操作与上行数据包的原理和方法相同,故在此不再赘述。
此外,P1j的确定方法还包括:
在步骤S400之后,所述webshell文件检测方法还包括:
S410、获取待检测webshell文件在距离当前时间t1内的所有历史访问流量数据对应的来源IP地址的数量G;其中,t1为预设的IP获取时间;
S420、若G≤G0,则将Mj在U的来源IP地址中所占的比例确定为P1j;其中,G0为预设的来源IP地址的数量阈值;
S430、若G>G0,则将P1j确定为1。
P1j由两种判断方法进行确定,设置一个来源IP地址的数量阈值,获取待检测webshell文件在一段时间内的所有历史访问流量数据对应的来源IP地址的数量,将其与预设的来源IP地址的数量阈值进行比较,若小于或等于预设的数量阈值,则表示待检测webshell文件中的可访问网址为内网或设置有访问权限的网站,此时,可以通过计算Mj在U的来源IP地址中所占的比例来确定为P1j,并通过来源IP地址作为匹配度比较的一个比较因素,若待检测webshell文件在一段时间内的所有历史访问流量数据对应的来源IP地址的数量大于预设的数量阈值,则表示待检测webshell文件中的可访问网址为外网或没有访问权限的公共网,由于公共都可以进行访问,所以,在一段时间内的待检测webshell文件的访问流量会很多,且访问的来源IP也会很多,此时,再用Mj在U的来源IP地址中所占的比例作为P1j已经没有意义,就直接将其确定为1,或固定字符,表示在后续的匹配度比较中不考虑来源IP地址这一比较因素,只比较上行数据包和下行数据包中的加密数据长度即可,通过此确定方法,也缩短了数据处理的流程,精简了算法。
此外,webshell文件的流量检测方法应用于流量检测系统,流量检测系统连接有来源IP地址存储库,来源IP地址存储库用于存储待检测webshell文件的访问流量数据对应的来源IP地址;其中,来源IP地址存储库的数据存储方法为:
S110、获取距离当前时间最近的访问待检测webshell文件的G1个历史来源IP地址,并将其存储在来源IP地址存储库中;且任意两个历史来源IP地址相互不同;
S120、当待检测webshell文件被访问时,获取对应的访问来源IP地址;
S130、若访问来源IP地址存在于来源IP地址存储库中,则执行步骤S140;否则,执行步骤S150;
S140、将存在于来源IP地址存储库中与访问来源IP地址相同的历史来源IP地址的访问次数加一;
S150、将来源IP地址存储库中访问待检测webshell文件的次数最少的历史来源IP地址删除,并将访问来源IP地址存储至来源IP地址存储库中。
此为来源IP地址存储库的数据存储方法,可以有效保证了来源IP地址存储库中的存储的来源IP地址的数量,当有新的来源IP地址存储至来源IP地址存储库中时,会在来源IP地址存储库中进行查询,若在来源IP地址存储库中有对应的来源IP地址,则在对应的来源IP地址的访问次数记录加一,若在来源IP地址存储库中不存在对应的来源IP地址,则将来源IP地址存储库中访问次数最少的来源IP地址删除,将新的来源IP地址存储至来源IP地址存储库中,通过访问次数对来源IP地址存储库中的来源IP地址进行数据更新,保证来源IP地址存储库中的来源IP地址为最新数据或访问次数较多的数据,便于后续的匹配度比较。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
Claims (10)
1.一种webshell文件检测方法,其特征在于,所述方法包括如下步骤:
S100、响应于待检测webshell文件发生了数据更新,获取待检测webshell文件在发生数据更新后的m个待检测访问流量数据,得到待检测访问流量数据集Q=(Q1,Q2,...,Qj,...,Qm);其中,j=1,2,...,m;Qj为待检测webshell文件在发生数据更新后的第j个待检测访问流量数据;所述待检测webshell文件为存储有可访问网址的webshell文件;
S200、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前存在包含有加密数据的历史访问流量数据,则执行步骤S300;
S300、获取待检测webshell文件在发生数据更新前包含有加密数据的n个历史访问流量数据,得到历史加密流量数据集U=(U1,U2,...,Ui,...,Un);其中,i=1,2,...,n;Ui为待检测webshell文件在发生数据更新前第i个包含有加密数据的历史访问流量数据;
S400、获取Qj对应的来源IP地址Mj对应的数据信息Yj=(P1j,L1j,L2j);L1j=(L11j,L12j,...,L1wj,...,L1sj);L2j=(L21j,L22j,...,L2xj,...,L2vj);其中,w=1,2,...,s;x=1,2,...,v;s为Mj在t0内接收的上行数据包的数量;v为Mj在t0内发送的下行数据包的数量;P1j为Mj在U的来源IP地址中所占的比例;L1j为Mj在t0内接收的上行加密数据列表;L1wj为Mj在t0内接收的第w个上行数据包中的加密数据长度;L2j为Mj在t0内发送的下行加密数据列表;L2xj为Mj在t0内发送的第x个下行数据包中的加密数据长度;t0为预设的时间阈值;
S500、在U对应的所有来源IP地址中,确定出k个目标来源IP地址,得到目标来源IP地址集R=(R1,R2,...,Rz,...,Rk);其中,z=1,2,...,k;Rz为第z个目标来源IP地址;且任意两个目标来源IP地址相互不同;
S600、获取Rz对应的数据信息Tz=(P2z,F1z,F2z);F1z=(F11z,F12z,...,F1dz,...,F1gz);F2z=(F21z,F22z,...,F2cz,...,F2hz);其中,d=1,2,...,g;c=1,2,...,h;g为Rz在t0内接收的上行数据包的数量;h为Rz在t0内发送的下行数据包的数量;P2z为Rz在U的来源IP地址中所占的比例;F1z为Rz在t0内接收的上行加密数据列表;F2z为Rz在t0内发送的下行加密数据列表;F1dz为Rz在t0内接收的第d个上行数据包中的加密数据长度;F2cz为Rz在t0内发送的第c个下行数据包中的加密数据长度;
S700、将Yj与Tz进行匹配度比较,得到对应的匹配度值Hjz;若Hjz≥H0,则将Qj确定为正常访问流量数据;其中,H0为预设的匹配度阈值。
2.根据权利要求1所述的方法,其特征在于,所述步骤S600之后,所述webshell文件检测方法还包括:
S610、若s=g,则执行步骤S700;否则,执行步骤S620;
S620、若s<E0,则执行步骤S621;若s=E0,则执行步骤S622;其中,E0为预设的上行数据包的数量阈值;
S621、在L1sj之后增加E0-s个空字符,以使L1j中存在E0个数据,并执行步骤S622;
S622、将F11z,F12z,...,F1dz,...,F1gz替换为Rz距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S700。
3.根据权利要求2所述的方法,其特征在于,所述步骤S620还包括:
S630、若s>E0,则将t0均分为D个时间窗口;
S631、获取Mj在第一个时间窗口内接收的上行数据包的数量Aj;若Aj<E0,则执行步骤S632;否则,执行步骤S634;
S632、对Mj在第二个时间窗口至第D个时间窗口内接收的上行数据包进行线性差值处理,得到E0-1个上行数据包;
S633、将L11j,L12j,...,L1wj,...,L1sj替换为Aj对应的上行数据包中的加密数据长度与E0-1个上行数据包中的加密数据长度;并执行步骤S622;
S634、将L11j,L12j,...,L1wj,...,L1sj替换为Mj距离当前时间最近的E0个上行数据包对应的加密数据长度;并执行步骤S622。
4.根据权利要求1所述的方法,其特征在于,所述步骤S600之后,所述webshell文件检测方法还包括:
S640、若v=h,则执行步骤S700;否则,执行步骤S650;
S650、若v<E1,则执行步骤S651;若v=E1,则执行步骤S652;其中,E1为预设的下行数据包的数量阈值;
S651、在L2vj之后增加E1-v个空字符,以使L2vj中存在E1个数据,并执行步骤S652;
S652、将F21z,F22z,...,F2cz,...,F2hz替换为Rz距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S700。
5.根据权利要求4所述的方法,其特征在于,所述步骤S650还包括:
S660、若v>E1,则将t0均分为D个时间窗口;
S661、获取Mj在第一个时间窗口内发送的下行数据包的数量Bj;若Bj<E1,则执行步骤S662;否则,执行步骤S664;
S662、对Mj在第二个时间窗口至第D个时间窗口内发送的下行数据包进行线性差值处理,得到E1-1个下行数据包;
S663、将L21j,L22j,...,L2xj,...,L2vj替换为Bj对应的下行数据包中的加密数据长度与E1-1个下行数据包中的加密数据长度;并执行步骤S652;
S664、将L21j,L22j,...,L2xj,...,L2vj替换为Mj距离当前时间最近的E1个下行数据包对应的加密数据长度;并执行步骤S652。
6.根据权利要求1所述的方法,其特征在于,所述步骤S700还包括:
S710、将Yj与T1,T2,...,Tz,...,Tk依次进行匹配度比较,若Hjz≥H0,则将Qj确定为正常访问流量数据;否则,则继续比较Hj(z+1)与H0,直至Hjk与H0的比较完成,若Hjk<H0,则将Qj确定为异常访问流量数据。
7.根据权利要求1所述的方法,其特征在于,所述步骤S200还包括:
S210、若Qj中包含加密数据,且待检测webshell文件在发生数据更新前不存在包含有加密数据的历史访问流量数据,则将Qj确定为异常访问流量数据。
8.根据权利要求1所述的方法,其特征在于,所述待检测webshell文件存储在目标webshell文件夹中,若目标webshell文件夹中存在新增的webshell文件,则将其确定为待检测webshell文件。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项的所述方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310511502.XA CN116506195B (zh) | 2023-05-09 | 2023-05-09 | 一种webshell文件检测方法、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310511502.XA CN116506195B (zh) | 2023-05-09 | 2023-05-09 | 一种webshell文件检测方法、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116506195A true CN116506195A (zh) | 2023-07-28 |
CN116506195B CN116506195B (zh) | 2023-10-27 |
Family
ID=87321392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310511502.XA Active CN116506195B (zh) | 2023-05-09 | 2023-05-09 | 一种webshell文件检测方法、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116506195B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201014135D0 (en) * | 2010-08-24 | 2010-10-06 | Qazaq Gmbh | Accessing a web site |
CN107888571A (zh) * | 2017-10-26 | 2018-04-06 | 江苏省互联网行业管理服务中心 | 一种基于HTTP日志的多维度webshell入侵检测方法及检测系统 |
WO2018107784A1 (zh) * | 2016-12-16 | 2018-06-21 | 华为技术有限公司 | 检测网页后门的方法和装置 |
CN110995714A (zh) * | 2019-12-06 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种检测对Web站点的团伙攻击的方法、装置及介质 |
US20220131844A1 (en) * | 2020-10-22 | 2022-04-28 | Acuant, Inc. | Identity access management using access attempts and profile updates |
CN116016365A (zh) * | 2023-01-06 | 2023-04-25 | 哈尔滨工业大学 | 一种加密流量下基于数据包长度信息的网页识别方法 |
-
2023
- 2023-05-09 CN CN202310511502.XA patent/CN116506195B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201014135D0 (en) * | 2010-08-24 | 2010-10-06 | Qazaq Gmbh | Accessing a web site |
WO2018107784A1 (zh) * | 2016-12-16 | 2018-06-21 | 华为技术有限公司 | 检测网页后门的方法和装置 |
US20190334948A1 (en) * | 2016-12-16 | 2019-10-31 | Huawei Technologies Co., Ltd. | Webshell detection method and apparatus |
CN107888571A (zh) * | 2017-10-26 | 2018-04-06 | 江苏省互联网行业管理服务中心 | 一种基于HTTP日志的多维度webshell入侵检测方法及检测系统 |
CN110995714A (zh) * | 2019-12-06 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种检测对Web站点的团伙攻击的方法、装置及介质 |
US20220131844A1 (en) * | 2020-10-22 | 2022-04-28 | Acuant, Inc. | Identity access management using access attempts and profile updates |
CN116016365A (zh) * | 2023-01-06 | 2023-04-25 | 哈尔滨工业大学 | 一种加密流量下基于数据包长度信息的网页识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116506195B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073389B (zh) | 云主机安全态势感知系统、方法、设备及存储介质 | |
CN111064745B (zh) | 一种基于异常行为探测的自适应反爬方法和系统 | |
KR102024142B1 (ko) | 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템 | |
CN103748853A (zh) | 用于对数据通信网络中的协议消息进行分类的方法和系统 | |
CN107508809B (zh) | 识别网址类型的方法及装置 | |
CN111125718A (zh) | 越权漏洞的检测方法、装置、设备及存储介质 | |
CN113704328B (zh) | 基于人工智能的用户行为大数据挖掘方法及系统 | |
CN113704772B (zh) | 基于用户行为大数据挖掘的安全防护处理方法及系统 | |
CN107426136B (zh) | 一种网络攻击的识别方法和装置 | |
JP2018073140A (ja) | ネットワーク監視装置、プログラム及び方法 | |
EP3647982B1 (en) | Cyber attack evaluation method and cyber attack evaluation device | |
US20240236133A1 (en) | Detecting Data Exfiltration and Compromised User Accounts in a Computing Network | |
CN115426154A (zh) | 一种挖矿行为监测方法、装置、设备及存储介质 | |
CN116506195B (zh) | 一种webshell文件检测方法、电子设备及介质 | |
CN116846644A (zh) | 一种越权访问的检测方法及装置 | |
CN112583789A (zh) | 被非法登录的登录接口确定方法、装置及设备 | |
CN109218461B (zh) | 一种检测隧道域名的方法及装置 | |
CN114499917B (zh) | Cc攻击检测方法及cc攻击检测装置 | |
CN117391214A (zh) | 模型训练方法、装置及相关设备 | |
US11438348B2 (en) | Efficient determination of expected maximum for anomaly detection | |
CN116248413B (zh) | 一种webshell文件的流量检测方法、设备及介质 | |
CN112507270A (zh) | 基于云防护中标题逃逸的网站篡改告警方法及相关装置 | |
CN117195273B (zh) | 基于时序数据异常检测的数据泄露检测方法及装置 | |
CN118018264B (zh) | 网络恶意攻击的检测阻断方法及系统 | |
CN117579385B (zh) | 一种快速筛查新型WebShell流量的方法、系统及设备 |
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 |