CN106961419A - WebShell检测方法、装置及系统 - Google Patents
WebShell检测方法、装置及系统 Download PDFInfo
- Publication number
- CN106961419A CN106961419A CN201710078106.7A CN201710078106A CN106961419A CN 106961419 A CN106961419 A CN 106961419A CN 201710078106 A CN201710078106 A CN 201710078106A CN 106961419 A CN106961419 A CN 106961419A
- Authority
- CN
- China
- Prior art keywords
- script file
- webshell
- analysis
- script
- 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
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
-
- 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/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
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)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种WebShell检测方法,应用于服务器,所述方法包括:接收终端上传的脚本文件;采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。本发明还公开了一种WebShell检测装置及系统。本发明由服务器采用静态数据流分析方式和统计及/或语义特征分析方式等高级检测方式对脚本文件进行分析检测,使得WebShell的检测更加准确。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种WebShell检测方法、装置及系统。
背景技术
WebShell是网络上最主要的安全威胁之一,黑客利用漏洞上传特定文件到Web站点目录,可以获取对目标主机的长期访问权限,从而造成系统破坏,以及盗取机密信息等一系列恶性入侵事件。
传统的WebShell检测方式主要有两种:1)由终端从规则角度去检测,若规则匹配已知WebShell以减少误报,就容易导致未知WebShell的检测能力下降,若规则匹配未知的WebShell以提升识别率,就容易导致误报增多。2)由服务器从流量内容的角度去检测,由于WebShell作为一种攻击手段,可以通过加密、混淆会话内容等手段增强隐蔽性。因此,由终端从规则的角度,或由服务器从流量内容的角度去判断,对WebShell检测的准确性都较低。
发明内容
本发明的主要目的在于提出一种WebShell检测方法、装置及系统,旨在解决传统的WebShell检测方式,准确性较低的技术问题。
为实现上述目的,本发明提供的一种WebShell检测方法,应用于服务器,所述WebShell检测方法包括:
接收终端上传的脚本文件;
采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
优选地,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析。
优选地,所述根据两个分析结果,确定所述脚本文件是否为WebShell文件的步骤包括:
在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
优选地,所述向所述特定访问URL发起访问请求以得到检测结果的步骤之后,所述WebShell检测方法还包括:
若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
此外,为实现上述目的,本发明还提出一种WebShell检测装置,应用于服务器,所述WebShell检测装置包括:
接收模块,用于接收终端上传的脚本文件;
分析模块,用于采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
处理模块,用于根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
优选地,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析。
优选地,所述处理模块包括:
通知单元,用于在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
提取输入单元,用于在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
构造访问单元,用于采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
第一确定单元,用于若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
优选地,所述处理模块还包括:
转移单元,用于若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
此外,为实现上述目的,本发明还提出一种WebShell检测系统,所述WebShell检测包括终端和服务器,所述服务器如上文所述的WebShell检测装置,所述终端包括:
预处理模块,用于对脚本文件进行预处理,以过滤掉非脚本标签内容;
计算筛选模块,用于采用模糊哈希算法计算出所述脚本文件的模糊哈希值,并将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件;
判断模块,用于采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的所述脚本文件是否为可疑的脚本文件;
上传模块,用于若筛选出的所述脚本文件为可疑的脚本文件,则将所述脚本文件上传至所述服务器。
优选地,所述判断模块包括:
比对单元,用于将所述规则中的各个预存字符串与筛选出的所述脚本文件进行比对;
处理单元,用于统计各个预存字符串与所述脚本文件的匹配次数,并结合各个预存字符串对应的权重计算所述脚本文件的总得分;
第二确定单元,还用于在所述总得分达到预设阈值时,确定所述脚本文件为可疑的脚本文件。
优选地,所述上传模块,还用于在接收到所述服务器基于所述脚本文件可疑所发送的通知信息时,上传所述脚本文件关联的Web访问日志和访问URL至所述服务器。
本发明提出的WebShell检测方法、装置及系统,服务器接收到终端上传的脚本文件,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果,最终根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。本发明由服务器采用静态数据流分析方式和统计及/或语义特征分析方式等高级检测方式对脚本文件进行分析检测,相对于终端中的规则检测,检测的方式更加复杂,并且不依赖可被加密、混淆的流量内容,从而提高了WebShell检测的准确性。
附图说明
图1为本发明WebShell检测方法较佳实施例的流程示意图;
图2为图1中步骤S30的细化流程示意图;
图3为本发明较佳实施场景示意图;
图4为本发明WebShell检测装置较佳实施例的功能模块示意图;
图5为图4中处理模块30的细化功能模块示意图;
图6为本发明WebShell检测系统较佳实施例的功能模块示意图;
图7为图6中判断模块60的细化功能模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:服务器接收终端上传的脚本文件,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果,最终根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。以解决传统的WebShell检测方式,仅从规则或流量内容的角度去判断,难以判定请求是否合法,导致WebShell的检测准确性较低的问题。
本发明中涉及的专业术语包括:
WebShell:通常指被上传到运行Web服务的主机的脚本文件,包括但不限于php(Hypertext Preprocessor,计算机编程语言),asp(Active Server Page,动态服务器页面),aspx(开发Web应用程序的类库),jsp(Java Server Pages,java服务器页面),perl(一种功能丰富的计算机程序语言),python(一种面向对象、解释型计算机程序设计语言)等,通过Web服务远程访问该脚本文件能够获取上传/下载/修改/删除文件,数据库以及执行任意命令等控制权限。WebShell通常被分为一句话木马/小马/大马。
一句话木马:通常指一行或几行代码构成的木马,配合中国菜刀等工具(黑客工具)可以实现对目标主机完全的控制。
小马:通常指代码量适中、功能单一并配有简单交互页面的小型木马,可执行例如上传文件/数据打包/拖库等单一操作,达到特定目的。
大马:通常指代码量较大、功能齐全,拥有交互页面的多功能木马。
正样本:在使用机器学习算法的过程中规定已标记的WebShell文件为正样本。
负样本:在使用机器学习算法的过程中规定已标记的非WebShell文件为负样本。
本发明提供一种WebShell检测方法。
参照图1,图1为本发明WebShell检测方法较佳实施例的流程示意图。
本实施例提出一种WebShell检测方法,应用于服务器,所述WebShell检测方法包括:
接收终端上传的脚本文件;采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
在本实施例中,服务器在接收到所述终端上传的脚本文件之前,所述终端先在本地对脚本文件进行检测分析,具体的检测分析过程包括:
步骤a、终端对脚本文件进行预处理,以过滤掉非脚本标签内容;
步骤b、采用模糊哈希算法计算出所述脚本文件的模糊哈希值,并将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件;
其中,指纹库中预存脚本文件的模糊哈希值都是终端事先存储的WebShell文件的模糊哈希值,将脚本文件模糊哈希值与指纹库中的预存模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件,由于与预存脚本文件匹配的脚本文件,是指与预存WebShell文件相同或相似的脚本文件,因此,本实施例中筛选出的是与预存脚本文件不匹配的脚本文件,相当于筛选出非预存WebShell文件。值得注意的是,所述指纹库会定时连接服务器进行预存脚本文件的模糊哈希值的更新,定时的更新可以使检测系统识别出新型的WebShell文件。
本实施例中,通过模糊哈希值比对,可以准确识别出与预存WebShell文件相同或相似的脚本文件,最终筛选出与预存脚本文件不匹配的脚本文件,以用于后续的分析过程。
步骤c、采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的所述脚本文件是否为可疑的脚本文件;
在筛选出脚本文件后,采用预置的规则对筛选的脚本文件进行分析,以判断筛选的脚本文件是否为可疑的脚本文件,其中。所述规则包括:是否调用某风险函数,或者是否存在特定字符等等。由于规则通常是由函数与参数组合而成,因此,本实施例中,规则具体用各个字符串分开表示,即每个字符串表示该规则的一部分,具体地,即所述步骤c包括:
步骤c1,将所述规则中的各个预存字符串与筛选出的所述脚本文件进行比对;
步骤c2,统计各个预存字符串与所述脚本文件的匹配次数,并结合各个预存字符串对应的权重计算所述脚本文件的总得分;
步骤c3,在所述总得分达到预设阈值时,确定所述脚本文件为可疑的脚本文件。
将预置的所述规则中的各个预存字符串与所述脚本文件进行比对,以统计各个预存字符串与所述脚本文件的匹配次数,在确定各个预存字符串与所述脚本文件的匹配次数之后,进一步结合各个预存字符串对应的权重计算所述脚本文件的总得分,最终将所述总得分与预设阈值进行比对,仅在所述总得分达到预设阈值时,确定所述脚本文件可疑,所述预设阈值不做限定,根据具体情况设置数值。
步骤d、若筛选的所述脚本文件为可疑的脚本文件,则将所述脚本文件上传至所述服务器。
通过上述的处理过程,所述终端即可上传可疑的脚本文件至所述服务器。
应当理解,通过模糊哈希值算法进行指纹特征检测,可以筛选出非预存WebShell文件,而通过预置的规则对筛选出的脚本文件进行分析,在脚本文件的总得分达到一定的条件时,认为该脚本文件是可疑文件,以供后续进一步检测,降低了WebShell文件的漏报。
以下是本实施例中服务器逐步实现WebShell检测的具体步骤:
步骤S10,接收终端上传的脚本文件;
步骤S20,采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
在本实施例中,先接收终端上传的脚本文件,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果。
其中,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述预设的风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;其中,预设的风险函数是预存的已知恶意函数,该风险函数中包含有恶意参数的位置,预设的风险变量是预存的已知恶意变量。
所述预设的风险函数对接收到的脚本文件的自定义函数进行推导得到推导信息,实质上就是确定所述风险函数与所述自定义函数间的调用关系,推导出每个脚本文件中的自定义函数是否属于风险函数;所述预设的风险变量对脚本文件的变量进行推导得到推导信息,实质上就是确定风险变量与所述脚本文件的变量间的依赖关系,推导出每个脚本文件的变量是否也属于风险变量。所述利用所述风险函数和风险变量以及所述推导信息对接收到的脚本文件进行分析,实质上就是确定风险函数在被调用时风险变量是否出现在恶意参数位置,若有,说明该脚本文件会产生风险操作,此时,认为该脚本文件是异常的脚本文件,即分析结果是脚本文件异常。
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析。其中,所述被标记脚本文件包括上文所述的正负样本,所述多维度特征即各个维度的特征,如:函数调用频次。在提取到多维度特征之后,通过多维度特征构造样本集合,然后采用机器学习算法对样本集合进行训练,以生成训练模型,所述机器学习算法不做限定,根据实际需要设定,最终根据所述训练模型对接收到的脚本文件对应的多维度特征进行分析,以得到分析结果。即,根据所述训练模型识别所述脚本文件是否存在异常的特征,若存在异常的特征,确定该脚本文件异常,即分析结果是脚本文件异常。
进一步地,为了提高WebShell检测的准确性,所述服务器接收到所述终端上传的脚本文件时,还可对接收到的所述脚本文件进行解析处理,以生成若干基本元素供后端分析使用,其中,所述解析处理包括但不限于:正则匹配特征和语法/词法解析,本实施例优选所述解析处理为语法/词法解析,通过所述语法/词法解析方式,将脚本文件拆分成各个语句/词语,即,所述服务器对脚本文件进行语法/词法解析,以产生特定数据结构的语句/词语,对脚本文件进行语法/词法解析后,再分别采用静态数据流分析方式和统计及/或语义特征分析方式对解析后的脚本文件进行进一步地分析,以得到分析结果,具体的分析方式上文已经详述,此处不做赘述。
应当理解,通过不同维度对可疑的脚本文件进行综合检测,可得到具有较高可信度的初步结论,一定程度上提高了WebShell检测的准确性。
步骤S30,根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
在根据静态数据流分析方式和统计及/或语义特征分析方式,对脚本文件进行分析之后,确定两个分析结果,本实施例中,若两个分析结果中均为脚本文件正常,则说明该脚本文件是非WebShell文件,此时停止后续的检测操作,并通知至所述终端。若两个分析结果均为脚本文件异常,可认为所述脚本文件是异常文件,并继续进行后续的检测操作,并执行相应的反馈操作至所述终端;其它的情况,包括两个分析结果均为脚本文件正常或者只有一个分析结果为脚本文件正常,都认为脚本文件是非WebShell文件,并停止后续的检测操作。也就是说,在两个分析结果皆为脚本文件异常时,才确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端,具体地,参照图2,所述步骤S30包括:
步骤S31,在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
步骤S32,在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
步骤S33,采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
步骤S34,若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
即在本实施例中,在两个分析结果皆是脚本文件异常时,所述服务器通知所述终端上传所述脚本文件关联的Web访问日志和访问URL,以供所述终端反馈脚本文件在预设时间间隔内的Web访问日志和访问URL。
在接收所述终端上传的所述Web访问日志和所述访问URL之前,所述服务器先针对正常的Web访问日志以及IP请求日志进行加工以提取出特征,例如访问时间、访问频率、访问页面数等特征,然后基于这些特征对正常请求进行学习并生成检测模型,以便后续对Web访问日志进行检测。
同理,所述服务器从上述的语法树中提取出的风险参数,以便对所述访问URL进行构造。
当所述服务器接收到所述终端上传的所述Web访问日志和所述访问URL时,从所述Web访问日志中进行特征提取,并将提取的特征输入到所述检测模型中进行检测,得到相应的检测结果,以确定是否脚本文件的分析是否存在误报;以及,采用所述语法树中提取的风险参数对所述访问URL进行修饰,以构造出特定访问URL,然后再向所述特定访问URL发起访问请求,以根据返回结果确定检测结果,当出现列出目录的行为或者出现“password(密码口令)”等关键字,则认为文件异常,否则认为该脚本文件正常。
在本实施例中,在两个检测结果都无误时,即两个检测结果都表示脚本文件异常时,确定所述脚本文件为WebShell文件,并将检测结果反馈至所述终端。
进一步地,所述步骤S33之后,所述WebShell检测方法还包括:
若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
应当理解,通过学习正常的Web访问日志构建检测模型,然后判定针对脚本文件的访问行为是否正常,最终通过对脚本文件发起外部请求并根据响应判定是否可疑,实现了对脚本文件进行综合误报评估,提高了WebShell检测的准确性。
本实施例提出的WebShell检测方法,服务器接收到终端上传的脚本文件,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果,最终根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。本发明由服务器采用静态数据流分析方式和统计及/或语义特征分析方式等高级检测方式对脚本文件进行分析检测,相对于终端中的规则检测,检测的方式更加复杂,并且不依赖可被加密、混淆的流量内容,从而提高了WebShell检测的准确性。
基于图1至图2所述实施例的具体描述,本实施例以具体的应用场景再次描述本发明WebShell检测方法的实现过程。
请参照图3,图3是本发明WebShell检测的具体场景示意图。
如图3所示,在终端本地中,由终端采用模糊哈希算法计算出所述脚本文件的模糊哈希值,然后将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件,即筛选出非预存WebShell文件,并采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的脚本文件是否为可疑的脚本文件,若筛选的脚本文件为可疑的脚本文件,则将可疑的脚本文件上传至所述服务器。
此后,由服务器进行脚本文件的WebShell检测,具体地,所述服务器对接收到的所述脚本文件进行语法/词法解析,以拆分成各个语句/词语,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对拆分成各个语句/词语的脚本文件进行分析,得到两个分析结果,在两个分析结果皆是脚本文件异常时,通知所述终端上传Web访问日志和访问URL,并根据接收到的所述Web访问日志和访问URL进行脚本文件的检测,在存在一个检测结果为误报时,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件,若两个检测结果都无误,则确定所述脚本文件为WebShell文件,并将检测结果下发至所述终端,以完成脚本文件的WebShell检测。
本方案,相当于是一种本地云端联动的多引擎检测架构,在终端本地执行高性能的指纹检测和规则检测,云端采用数据流分析和统计及/或语义特征分析等高级检测方法,然后结合Web日志分析和模拟请求响应分析进一步降低误报率,最终构成WebShell整体检测,双重检测方式,提高了WebShell检测的准确性。
本发明进一步提供一种WebShell检测装置。
参照图4,图4为本发明WebShell检测装置较佳实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图4所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图4所示的WebShell检测装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该WebShell检测装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
本实施例提出一种WebShell检测装置,应用于服务器,所述WebShell检测装置包括:
接收模块10,用于接收终端上传的脚本文件;
分析模块20,用于采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
处理模块30,用于根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
在本实施例中,WebShell检测装置在接收到所述终端上传的脚本文件之前,所述终端先在本地对脚本文件进行检测分析,具体的检测分析过程由终端的预设模块实现,所述预设模块以及具体功能如下:
预处理模块,用于对脚本文件进行预处理,以过滤掉非脚本标签内容;
计算筛选模块,用于采用模糊哈希算法计算出所述脚本文件的模糊哈希值,并将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件;
其中,指纹库中预存脚本文件的模糊哈希值都是终端事先存储的WebShell文件的模糊哈希值,计算筛选模块将脚本文件模糊哈希值与指纹库中的预存模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件,由于与预存脚本文件匹配的脚本文件,是指与预存WebShell文件相同或相似的脚本文件,因此,本实施例中筛选出的是与预存脚本文件不匹配的脚本文件,相当于筛选出非预存WebShell文件。值得注意的是,所述指纹库会定时连接服务器进行预存脚本文件的模糊哈希值的更新,定时的更新可以使检测系统识别出新型的WebShell文件。
本实施例中,通过模糊哈希值比对,可以准确识别出与预存WebShell文件相同或相似的脚本文件,最终筛选出预存WebShell文件不匹配的脚本文件,以用于后续的分析过程。
判断模块,用于采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的所述脚本文件是否为可疑的脚本文件;
在筛选出脚本文件后,判断模块采用预置的规则对筛选的脚本文件进行分析,以判断筛选的脚本文件是否为可疑的脚本文件,其中。所述规则包括:是否调用某风险函数,或者是否存在特定字符等等。由于规则通常是由函数与参数组合而成,因此,本实施例中,规则具体用各个字符串分开表示,即每个字符串表示该规则的一部分,具体地,所述判断模块包括:
比对单元,用于将所述规则中的各个预存字符串与筛选出的所述脚本文件进行比对;
处理单元,用于统计各个预存字符串与所述脚本文件的匹配次数,并结合各个预存字符串对应的权重计算所述脚本文件的总得分;
第二确定单元,还用于在所述总得分达到预设阈值时,确定所述脚本文件为可疑的脚本文件。
比对单元将预置的所述规则中的各个预存字符串与所述脚本文件进行比对,以便处理单元统计各个预存字符串与所述脚本文件的匹配次数,在确定各个预存字符串与所述脚本文件的匹配次数之后,进一步结合各个预存字符串对应的权重计算所述脚本文件的总得分,最终将所述总得分与预设阈值进行比对,仅在所述总得分达到预设阈值时,第二确定单元确定所述脚本文件可疑,所述预设阈值不做限定,根据具体情况设置数值。
上传模块,用于若筛选出的所述脚本文件为可疑的脚本文件,则将所述脚本文件上传至所述服务器。
通过上述的处理过程,上传模块即可上传可疑的脚本文件至所述服务器。
应当理解,通过模糊哈希值算法进行指纹特征检测,可以筛选出非预存WebShell文件,而通过预置的规则对筛选出的脚本文件进行分析,在脚本文件的总得分达到一定的条件时,认为该脚本文件是可疑文件,以供后续进一步检测,降低了WebShell文件的漏报。
以下是本实施例中服务器逐步实现WebShell检测的具体模块,以及模块的具体功能:
其中,所述接收模块10,用于接收终端上传的脚本文件;
其中,所述分析模块20,用于采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
在本实施例中,接收模块10先接收终端上传的脚本文件,然后分析模块20采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果。
其中,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;其中,预设的风险函数是预存的已知恶意函数,该风险函数中包含有恶意参数的位置,预设的风险变量是预存的已知恶意变量。
所述预设的风险函数对接收到的脚本文件的自定义函数进行推导得到推导信息,实质上就是确定所述风险函数与所述自定义函数间的调用关系,推导出每个脚本文件中的自定义函数是否属于风险函数;所述预设的风险变量对脚本文件的变量进行推导得到推导信息,实质上就是确定风险变量与所述脚本文件的变量间的依赖关系,推导出每个脚本文件的变量是否也属于风险变量。所述利用所述风险函数和风险变量以及所述推导信息对接收到的脚本文件进行分析,实质上就是确定风险函数在被调用时风险变量是否出现在恶意参数位置,若有,说明该脚本文件会产生风险操作,此时,认为该脚本文件是异常的脚本文件,即分析结果是脚本文件异常。
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析;其中,所述被标记脚本文件包括上文所述的正负样本,所述多维度特征即各个维度的特征,如:函数调用频次。在提取到多维度特征之后,通过多维度特征构造样本集合,然后采用机器学习算法对样本集合进行训练,以生成训练模型,所述机器学习算法不做限定,根据实际需要设定,最终根据所述训练模型对接收到的脚本文件对应的多维度特征进行分析,以得到分析结果。即,根据所述训练模型识别所述脚本文件是否存在异常的特征,若存在异常的特征,确定该脚本文件异常,即分析结果是脚本文件异常。
进一步地,为了提高WebShell检测的准确性,所述接收模块10接收到所述终端上传的脚本文件时,还可对接收到的所述脚本文件进行解析处理,以生成若干基本元素供后端分析使用,其中,所述解析处理包括但不限于:正则匹配特征和语法/词法解析,本实施例优选所述解析处理为语法/词法解析,通过所述语法/词法解析方式,将脚本文件拆分成各个语句/词语,即,对脚本文件进行语法/词法解析,以产生特定数据结构的语句/词语,对脚本文件进行语法/词法解析后,所述分析模块20再分别采用静态数据流分析方式和统计及/或语义特征分析方式对解析后的脚本文件进行进一步地分析,以得到分析结果,具体的分析方式上文已经详述,此处不做赘述。
应当理解,通过不同维度对可疑的脚本文件进行综合检测,可得到具有较高可信度的初步结论,一定程度上提高了WebShell检测的准确性。
其中,处理模块30,用于根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
在根据静态数据流分析方式和统计及/或语义特征分析方式,所述处理模块30对脚本文件进行分析之后,确定两个分析结果,本实施例中,若两个分析结果中均为脚本文件正常,则说明该脚本文件是非WebShell文件,此时停止后续的检测操作,并通知至所述终端。若两个分析结果均为脚本文件异常,可认为所述脚本文件是异常文件,并继续进行后续的检测操作,并执行相应的反馈操作至所述终端;其它的情况,包括两个分析结果均为脚本文件正常或者只有一个分析结果为脚本文件正常,都认为脚本文件是非WebShell文件,并停止后续的检测操作。也就是说,在两个分析结果皆为脚本文件异常时,所述处理模块30才确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端,具体地,参照图5,所述处理模块30包括:
通知单元31,用于在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
提取输入单元32,用于在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
构造访问单元33,用于采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
第一确定单元34,用于若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
即在本实施例中,在两个分析结果皆是脚本文件异常时,所述通知单元31通知所述终端上传所述脚本文件关联的Web访问日志和访问URL,,以供所述终端的上传模块反馈脚本文件在预设时间间隔内的Web访问日志和访问URL。
在接收所述终端的上传模块上传的所述Web访问日志和所述访问URL之前,所述提取输入单元32先针对正常的Web访问日志以及IP请求日志进行加工以提取出特征,例如访问时间、访问频率、访问页面数等特征,然后基于这些特征对正常请求进行学习并生成检测模型,以便后续对Web访问日志进行检测。
同理,所述构造访问单元33从上述的语法树中提取出的风险参数,以便对所述访问URL进行构造。
当接收到所述终端上传的所述Web访问日志和所述访问URL时,提取输入单元32从所述Web访问日志中进行特征提取,并将提取的特征输入到所述检测模型中进行检测,得到相应的检测结果,以确定是否脚本文件的分析是否存在误报;以及,构造访问单元33采用所述语法树中提取的风险参数对所述访问URL进行修饰,以构造出特定访问URL,然后再向所述特定访问URL发起访问请求,以根据返回结果确定检测结果,当出现列出目录的行为或者出现“password(密码口令)”等关键字,则认为文件异常,否则认为该脚本文件正常。
在本实施例中,在两个检测结果都无误时,即两个检测结果都表示脚本文件异常时,第一确定单元34确定所述脚本文件为WebShell文件,并将检测结果反馈至所述终端。
进一步地,所述处理模块30还包括:
转移单元,用于若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
应当理解,通过学习正常的Web访问日志构建检测模型,然后判定针对脚本文件的访问行为是否正常,最终通过对脚本文件发起外部请求并根据响应判定是否可疑,实现了对脚本文件进行综合误报评估,提高了WebShell检测的准确性。
本实施例提出的WebShell检测装置,接收到终端上传的脚本文件,然后采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果,最终根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。本发明由服务器采用静态数据流分析方式和统计及/或语义特征分析方式等高级检测方式对脚本文件进行分析检测,相对于终端中的规则检测,检测的方式更加复杂,并且不依赖可被加密、混淆的流量内容,从而提高了WebShell检测的准确性。
本发明进一步提供一种WebShell检测系统。
参照图6,图6为本发明WebShell检测系统较佳实施例的功能模块示意图。
本实施例提出一种WebShell检测系统,所述WebShell检测包括终端和服务器,所述服务器如上文所述的WebShell检测装置,所述终端包括:
预处理模块40,用于对脚本文件进行预处理,以过滤掉非脚本标签内容;
计算筛选模块50,用于采用模糊哈希算法计算出所述脚本文件的模糊哈希值,并将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件;
其中,指纹库中预存脚本文件的模糊哈希值都是终端事先存储的WebShell文件的模糊哈希值,计算筛选模块50将脚本文件模糊哈希值与指纹库中的预存模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件,由于与预存脚本文件匹配的脚本文件,是指与预存WebShell文件相同或相似的脚本文件,因此,本实施例中筛选出的是与预存脚本文件不匹配的脚本文件,相当于筛选出非预存WebShell文件。值得注意的是,所述指纹库会定时连接服务器进行预存脚本文件的模糊哈希值的更新,定时的更新可以使检测系统识别出新型的WebShell文件。
本实施例中,通过模糊哈希值比对,可以准确识别出与预存WebShell文件相同或相似的脚本文件,最终筛选出与预存脚本文件不匹配的脚本文件,以用于后续的分析过程。
判断模块60,用于采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的所述脚本文件是否为可疑的脚本文件;
在筛选出脚本文件后,判断模块60采用预置的规则对筛选的脚本文件进行分析,以判断筛选的脚本文件是否为可疑的脚本文件,其中,所述规则包括:是否调用某风险函数,或者是否存在特定字符等等。由于规则通常是由函数与参数组合而成,因此,本实施例中,规则具体用各个字符串分开表示,即每个字符串表示该规则的一部分,具体地,参照图7,所述判断模块60包括:
比对单元61,用于将所述规则中的各个预存字符串与筛选出的所述脚本文件进行比对;
处理单元62,用于统计各个预存字符串与所述脚本文件的匹配次数,并结合各个预存字符串对应的权重计算所述脚本文件的总得分;
第二确定单元63,还用于在所述总得分达到预设阈值时,确定所述脚本文件为可疑的脚本文件。
即,比对单元61将预置的所述规则中的各个预存字符串与所述脚本文件进行比对,以便处理单元62统计各个预存字符串与所述脚本文件的匹配次数,所述处理单元62在确定各个预存字符串与所述脚本文件的匹配次数之后,进一步结合各个预存字符串对应的权重计算所述脚本文件的总得分,最终将所述总得分与预设阈值进行比对,仅在所述总得分达到预设阈值时,第二确定单元63确定所述脚本文件可疑,所述预设阈值不做限定,根据具体情况设置数值。
应当理解,通过模糊哈希值算法进行指纹特征检测,可以筛选出非预存WebShell文件,而通过预置的规则对筛选出的脚本文件进行分析,在脚本文件的总得分达到一定的条件时,认为该脚本文件是可疑文件,以供后续进一步检测,降低了WebShell文件的漏报。
上传模块70,用于若筛选的所述脚本文件为可疑的脚本文件,则将所述脚本文件上传至所述服务器。
通过上述的处理过程,所述上传模块70即可上传可疑的脚本文件至所述服务器。
服务器端的具体检测过程可参照上文,不再一一赘述。
进一步地,所述上传模块70,还用于在接收到所述服务器基于所述脚本文件可疑所发送的通知信息时,上传所述脚本文件关联的Web访问日志和访问URL至所述服务器。
也就是说,当服务器分析出脚本文件异常时,由通知单元31发送通知信息至所述终端,此时,所述终端的上传模块70上传所述脚本文件关联的Web访问日志和访问URL至所述服务器,以由服务器进行进一步分析,具体的分析方式可参照上文,此处不做赘述。
本实施例提出的WebShell检测系统,相当于是一种本地云端联动的多引擎检测架构,在终端本地执行高性能的指纹检测和规则检测,云端采用数据流分析和统计及/或语义特征分析等高级检测方法,然后结合Web日志分析和模拟请求响应分析进一步降低误报率,最终构成WebShell整体检测,双重检测方式,提高了WebShell检测的准确性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种WebShell检测方法,其特征在于,应用于服务器,所述WebShell检测方法包括:
接收终端上传的脚本文件;
采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
2.如权利要求1所述的WebShell检测方法,其特征在于,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析。
3.如权利要求2所述的WebShell检测方法,其特征在于,所述根据两个分析结果,确定所述脚本文件是否为WebShell文件的步骤包括:
在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
4.如权利要求3所述的WebShell检测方法,其特征在于,所述向所述特定访问URL发起访问请求以得到检测结果的步骤之后,所述WebShell检测方法还包括:
若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
5.一种WebShell检测装置,其特征在于,应用于服务器,所述WebShell检测装置包括:
接收模块,用于接收终端上传的脚本文件;
分析模块,用于采用静态数据流分析方式和统计及/或语义特征分析方式,分别对接收到的脚本文件进行分析,得到两个分析结果;
处理模块,用于根据两个分析结果,确定所述脚本文件是否为WebShell文件,并执行相应的反馈操作至所述终端。
6.如权利要求5所述的WebShell检测装置,其特征在于,所述静态数据流分析方式为:采用预设的风险函数和风险变量,对接收到的脚本文件对应的自定义函数和变量进行推导得到推导信息,并利用所述风险函数和风险变量以及所述推导信息对所述脚本文件进行分析;
所述统计及/或语义特征分析方式为:预先从被标记脚本文件的语法树中提取多维度特征,并基于机器学习算法预先训练得到的训练模型对接收到的脚本文件对应的多维度特征进行分析。
7.如权利要求6所述的WebShell检测装置,其特征在于,所述处理模块包括:
通知单元,用于在两个分析结果皆是脚本文件异常时,通知所述终端上传所述脚本文件关联的Web访问日志和访问统一资源定位符URL;
提取输入单元,用于在接收到的所述Web访问日志中进行特征提取,并将提取的特征输入到预设的检测模型中,以得到检测结果;及
构造访问单元,用于采用所述语法树中提取的风险参数对接收到的所述访问URL进行修饰,以构造出特定访问URL,向所述特定访问URL发起访问请求以得到检测结果;
第一确定单元,用于若两个检测结果都无误,则确定所述脚本文件为WebShell文件。
8.如权利要求7所述的WebShell检测装置,其特征在于,所述处理模块还包括:
转移单元,用于若两个检测结果中存在误判,则转移至线下的人工审核,以由人工审核确定所述脚本文件是否为WebShell文件。
9.一种WebShell检测系统,其特征在于,所述WebShell检测系统包括终端和服务器,所述服务器包括权利要求5-8任一项所述的WebShell检测装置,所述终端包括:
预处理模块,用于对脚本文件进行预处理,以过滤掉非脚本标签内容;
计算筛选模块,用于采用模糊哈希算法计算出所述脚本文件的模糊哈希值,并将计算的所述模糊哈希值与指纹库中预存脚本文件的模糊哈希值进行比对,以筛选出与预存脚本文件不匹配的脚本文件;
判断模块,用于采用预置的规则对筛选出的脚本文件进行分析,以判断筛选出的所述脚本文件是否为可疑的脚本文件;
上传模块,用于若筛选出的所述脚本文件为可疑的脚本文件,则将所述脚本文件上传至所述服务器。
10.如权利要求9所述的系统,其特征在于,所述判断模块包括:
比对单元,用于将所述规则中的各个预存字符串与筛选出的所述脚本文件进行比对;
处理单元,用于统计各个预存字符串与所述脚本文件的匹配次数,并结合各个预存字符串对应的权重计算所述脚本文件的总得分;
第二确定单元,还用于在所述总得分达到预设阈值时,确定所述脚本文件为可疑的脚本文件。
11.如权利要求9所述的系统,其特征在于,所述上传模块,还用于在接收到所述服务器基于所述脚本文件可疑所发送的通知信息时,上传所述脚本文件关联的Web访问日志和访问URL至所述服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078106.7A CN106961419B (zh) | 2017-02-13 | 2017-02-13 | WebShell检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078106.7A CN106961419B (zh) | 2017-02-13 | 2017-02-13 | WebShell检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106961419A true CN106961419A (zh) | 2017-07-18 |
CN106961419B CN106961419B (zh) | 2020-04-14 |
Family
ID=59481168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078106.7A Active CN106961419B (zh) | 2017-02-13 | 2017-02-13 | WebShell检测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106961419B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107154950A (zh) * | 2017-07-24 | 2017-09-12 | 深信服科技股份有限公司 | 一种日志流异常检测的方法及系统 |
CN107451476A (zh) * | 2017-07-21 | 2017-12-08 | 上海携程商务有限公司 | 基于云平台的网页后门检测方法、系统、设备及存储介质 |
CN107508829A (zh) * | 2017-09-20 | 2017-12-22 | 杭州安恒信息技术有限公司 | 一种非侵入式的webshell检测方法 |
CN107888616A (zh) * | 2017-12-06 | 2018-04-06 | 北京知道创宇信息技术有限公司 | 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法 |
CN108040036A (zh) * | 2017-11-22 | 2018-05-15 | 江苏翼企云通信科技有限公司 | 一种行业云Webshell安全防护方法 |
CN109033815A (zh) * | 2018-06-15 | 2018-12-18 | 国网浙江省电力有限公司 | 基于矩阵分解的Webshell检测方法 |
CN109657459A (zh) * | 2018-10-11 | 2019-04-19 | 平安科技(深圳)有限公司 | 网页后门检测方法、设备、存储介质及装置 |
CN110210221A (zh) * | 2018-08-02 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种文件风险检测方法和装置 |
CN111800405A (zh) * | 2020-06-29 | 2020-10-20 | 深信服科技股份有限公司 | 检测方法及检测设备、存储介质 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
CN112765022A (zh) * | 2021-01-18 | 2021-05-07 | 北京长亭未来科技有限公司 | 一种基于数据流的Webshell静态检测方法及电子设备 |
CN113094706A (zh) * | 2020-01-08 | 2021-07-09 | 深信服科技股份有限公司 | 一种WebShell检测方法、装置、设备及可读存储介质 |
CN113110986A (zh) * | 2020-01-13 | 2021-07-13 | 深信服科技股份有限公司 | 一种WebShell脚本文件的检测方法及系统 |
CN113190847A (zh) * | 2021-04-14 | 2021-07-30 | 深信服科技股份有限公司 | 一种脚本文件的混淆检测方法、装置、设备及存储介质 |
CN113239352A (zh) * | 2021-04-06 | 2021-08-10 | 中国科学院信息工程研究所 | 一种Webshell检测方法及系统 |
CN114389891A (zh) * | 2022-01-21 | 2022-04-22 | 四川睿创风行科技有限公司 | 一种web数据流转追踪系统及方法 |
CN115828228A (zh) * | 2023-02-22 | 2023-03-21 | 北京知其安科技有限公司 | 一种验证内存马检测能力的方法、装置及电子设备 |
CN117792805A (zh) * | 2024-02-28 | 2024-03-29 | 北京长亭科技有限公司 | 一种基于内存马模拟仿真的网络安全检测方法以及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849509B2 (en) * | 2005-10-07 | 2010-12-07 | Microsoft Corporation | Detection of security vulnerabilities in computer programs |
CN102647421A (zh) * | 2012-04-09 | 2012-08-22 | 北京百度网讯科技有限公司 | 基于行为特征的web后门检测方法和装置 |
CN102664875A (zh) * | 2012-03-31 | 2012-09-12 | 华中科技大学 | 基于云模式的恶意代码类别检测方法 |
CN104184728A (zh) * | 2014-08-14 | 2014-12-03 | 电子科技大学 | 一种Web应用系统的安全检测方法及安全检测装置 |
-
2017
- 2017-02-13 CN CN201710078106.7A patent/CN106961419B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849509B2 (en) * | 2005-10-07 | 2010-12-07 | Microsoft Corporation | Detection of security vulnerabilities in computer programs |
CN102664875A (zh) * | 2012-03-31 | 2012-09-12 | 华中科技大学 | 基于云模式的恶意代码类别检测方法 |
CN102647421A (zh) * | 2012-04-09 | 2012-08-22 | 北京百度网讯科技有限公司 | 基于行为特征的web后门检测方法和装置 |
CN104184728A (zh) * | 2014-08-14 | 2014-12-03 | 电子科技大学 | 一种Web应用系统的安全检测方法及安全检测装置 |
Non-Patent Citations (2)
Title |
---|
张慧琳: "网页木马机理与防御技术", 《软件学报》 * |
王一岚: "基于静态分析的Java源代码后门检测技术研究", 《技术研究》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451476A (zh) * | 2017-07-21 | 2017-12-08 | 上海携程商务有限公司 | 基于云平台的网页后门检测方法、系统、设备及存储介质 |
CN107154950A (zh) * | 2017-07-24 | 2017-09-12 | 深信服科技股份有限公司 | 一种日志流异常检测的方法及系统 |
CN107508829B (zh) * | 2017-09-20 | 2019-11-29 | 杭州安恒信息技术股份有限公司 | 一种非侵入式的webshell检测方法 |
CN107508829A (zh) * | 2017-09-20 | 2017-12-22 | 杭州安恒信息技术有限公司 | 一种非侵入式的webshell检测方法 |
CN108040036A (zh) * | 2017-11-22 | 2018-05-15 | 江苏翼企云通信科技有限公司 | 一种行业云Webshell安全防护方法 |
CN107888616B (zh) * | 2017-12-06 | 2020-06-05 | 北京知道创宇信息技术股份有限公司 | 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法 |
CN107888616A (zh) * | 2017-12-06 | 2018-04-06 | 北京知道创宇信息技术有限公司 | 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法 |
CN109033815A (zh) * | 2018-06-15 | 2018-12-18 | 国网浙江省电力有限公司 | 基于矩阵分解的Webshell检测方法 |
CN110210221A (zh) * | 2018-08-02 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种文件风险检测方法和装置 |
CN110210221B (zh) * | 2018-08-02 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 一种文件风险检测方法和装置 |
CN109657459A (zh) * | 2018-10-11 | 2019-04-19 | 平安科技(深圳)有限公司 | 网页后门检测方法、设备、存储介质及装置 |
CN113094706A (zh) * | 2020-01-08 | 2021-07-09 | 深信服科技股份有限公司 | 一种WebShell检测方法、装置、设备及可读存储介质 |
CN113110986A (zh) * | 2020-01-13 | 2021-07-13 | 深信服科技股份有限公司 | 一种WebShell脚本文件的检测方法及系统 |
CN111800405A (zh) * | 2020-06-29 | 2020-10-20 | 深信服科技股份有限公司 | 检测方法及检测设备、存储介质 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
CN112765022A (zh) * | 2021-01-18 | 2021-05-07 | 北京长亭未来科技有限公司 | 一种基于数据流的Webshell静态检测方法及电子设备 |
CN112765022B (zh) * | 2021-01-18 | 2023-07-25 | 北京长亭未来科技有限公司 | 一种基于数据流的Webshell静态检测方法及电子设备 |
CN113239352A (zh) * | 2021-04-06 | 2021-08-10 | 中国科学院信息工程研究所 | 一种Webshell检测方法及系统 |
CN113190847A (zh) * | 2021-04-14 | 2021-07-30 | 深信服科技股份有限公司 | 一种脚本文件的混淆检测方法、装置、设备及存储介质 |
CN114389891A (zh) * | 2022-01-21 | 2022-04-22 | 四川睿创风行科技有限公司 | 一种web数据流转追踪系统及方法 |
CN115828228A (zh) * | 2023-02-22 | 2023-03-21 | 北京知其安科技有限公司 | 一种验证内存马检测能力的方法、装置及电子设备 |
CN115828228B (zh) * | 2023-02-22 | 2023-04-28 | 北京知其安科技有限公司 | 一种验证内存马检测能力的方法、装置及电子设备 |
CN117792805A (zh) * | 2024-02-28 | 2024-03-29 | 北京长亭科技有限公司 | 一种基于内存马模拟仿真的网络安全检测方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106961419B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106961419A (zh) | WebShell检测方法、装置及系统 | |
CN107888571B (zh) | 一种基于HTTP日志的多维度webshell入侵检测方法及检测系统 | |
CN110413908B (zh) | 基于网站内容对统一资源定位符进行分类的方法和装置 | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
CN101370008B (zh) | Sql注入web攻击的实时入侵检测系统 | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN109922052A (zh) | 一种结合多重特征的恶意url检测方法 | |
US10693901B1 (en) | Techniques for application security | |
CN103634317A (zh) | 基于云安全对恶意网址信息进行安全鉴定的方法及系统 | |
CN105933268A (zh) | 一种基于全量访问日志分析的网站后门检测方法及装置 | |
CN109922065B (zh) | 恶意网站快速识别方法 | |
CN104954372A (zh) | 一种钓鱼网站的取证与验证方法及系统 | |
CN112929390B (zh) | 一种基于多策略融合的网络智能监控方法 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN104967616A (zh) | 一种Web服务器中的WebShell文件的检测方法 | |
CN112199677A (zh) | 一种数据处理方法和装置 | |
WO2017063274A1 (zh) | 一种恶意跳转及恶意嵌套类不良网站的自动判定方法 | |
CN113704328B (zh) | 基于人工智能的用户行为大数据挖掘方法及系统 | |
CN114244564B (zh) | 攻击防御方法、装置、设备及可读存储介质 | |
Kirchner | A framework for detecting anomalies in http traffic using instance-based learning and k-nearest neighbor classification | |
CN109145585A (zh) | 一种检测网站存在弱口令的方法及装置 | |
Soleymani et al. | A novel approach for detecting DGA-based botnets in DNS queries using machine learning techniques | |
Djanali et al. | SQL injection detection and prevention system with raspberry Pi honeypot cluster for trapping attacker | |
CN113472791A (zh) | 一种攻击检测方法、装置、电子设备及可读存储介质 | |
CN110837646A (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 |