CN106203095A - 一种webshell的检测方法和检测*** - Google Patents

一种webshell的检测方法和检测*** Download PDF

Info

Publication number
CN106203095A
CN106203095A CN201610531622.6A CN201610531622A CN106203095A CN 106203095 A CN106203095 A CN 106203095A CN 201610531622 A CN201610531622 A CN 201610531622A CN 106203095 A CN106203095 A CN 106203095A
Authority
CN
China
Prior art keywords
file
webshell
detection
feature
attribute
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.)
Pending
Application number
CN201610531622.6A
Other languages
English (en)
Inventor
王明博
李雪峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongan Online Property Insurance Co Ltd
Original Assignee
Zhongan Online Property Insurance Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongan Online Property Insurance Co Ltd filed Critical Zhongan Online Property Insurance Co Ltd
Priority to CN201610531622.6A priority Critical patent/CN106203095A/zh
Publication of CN106203095A publication Critical patent/CN106203095A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种webshell的检测方法,其包括步骤:对文件的特征进行检测,获得N种特征属性;构建特征属性集合X={a1,a2,a3,……an};构建类别集合C={y1,y2};分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell。此外,本发明公开了一种应用上述检测方法的检测***。本发明公开的方法和***采用朴素贝叶斯分类算法综合文件的多个特征属性进行判断,从而具有更高的准确度,有效降低了webshell的误报率和漏报率,提升了web应用服务器的安全性。

Description

一种webshell的检测方法和检测***
技术领域
本发明涉及网络安全检测技术,尤其涉及一种webshell的检测方法和检测***。
背景技术
webshell是以asp,php,jsp,python或者cgi等网页脚本文件存在的一种命令执行环境,也可以称作为一种网页后门。黑客在入侵了网站服务器后,通常会将webshell后门文件与网站服务器web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问webshell后门文件,得到webshell命令执行环境,从而取得对网站服务器的某种程度上的操作权限,以达到控制网站服务器的目的。因此,为了维护网站服务器的安全性,需要对webshell进行检测。
webshell具有很强的隐蔽性,一般和正常的文件混在一起,甚至隐藏在正常的文件以及图片中,因此检测难度很大。常见的webshell的检测方式有多种,有的基于HTTP访问日志分析,有的对web脚本文件进行特征库匹配进行分析等,但是由于webshell实现方式多样,使用单一的方式进行检测很容易出现误报和漏报,且黑客很容易绕过检测机制实现免杀。
发明内容
本发明的目的之一是提供一种webshell的检测方法,其能够基于被检测文件的多个特征属性筛选出web应用服务器上的web目录中的文件中为webshell的文件,从而防止web应用服务器被黑客控制,提升web应用服务器的安全性。
根据上述目的,本发明提出了一种webshell的检测方法,其包括步骤:
遍历web应用服务器上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
P ( X | y i ) P ( y i ) = P ( a 1 | y i ) P ( a 2 | y i ) ... P ( a n | y i ) P ( y i ) = P ( y i ) Π j = 1 n P ( a j | y i ) ,
其中,i为1或2,P(yi|X)表示文件出现特征属性集合为X时文件为yi的概率,P(X|yi)表示文件为yi时文件出现特征属性集合为X的概率,P(X)表示所有所述样本中一个文件出现特征属性集合为X的概率,P(yi)表示所有所述样本中类别为yi的概率。
本发明所述的webshell的检测方法的构思主要是:现有技术通常是通过单一检测方法检测webshell,但无论哪种方法都会存在较高的误报率和漏报率。发明人考虑将各种单一检测方法进行整合,在综合多个检测结果的基础上判断被检测文件是否为webshell,从而提高判断准确度,降低webshell的误报率和漏报率。进一步考虑,通过检测获取文件的多个特征属性,然后使用朴素贝叶斯分类算法进行分类,以判断文件是正常文件还是webshell。
本发明方法通过所述步骤,基于样本分析统计文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率,然后基于该概率用朴素贝叶斯分类算法计算当文件特征属性分别是a1,a2,a3,……an时,其类别为y1和y2的概率P(y1|X)和P(y2|X),根据P(y1|X)是否大于P(y2|X)判断文件是否不是webshell,以筛选出web应用服务器上的web目录中的文件中为webshell的文件,通过对该文件加以处理,可以防止web应用服务器被黑客控制,提升web应用服务器的安全性。
需要说明的是,本发明方法中,由于P(X)不变,比较P(y1|X)和P(y2|X)时只需要比较P(X|y1)P(y1)和P(X|y2)P(y2)。而根据公式
可以得出,比较P(X|y1)P(y1)和P(X|y2)P(y2)时只需要比较与。
进一步地,本发明所述的webshell的检测方法中,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
文本重合指数是一种判断文本是否被加密的指标,使用该指标可以检测代码被混淆的webshell,因为很多webshell混淆都采用了加密的方式。由于一个完全随机的字符串其文本重合指数为0.0385,因此文件的文本重合指数越接近0.0385,则越说明其有加密的特征,文本文件为webshell的可能性也就越高。文本重合指数的计算方法是:
设文本B={b1,b2,……bk},是一个包含了K个字符的字符串,文本B的文本重合指数记为lc(B),定义为文本B中两个随机字符相同的概率。
文本B的文本重合指数lc(B)的计算公式如下:
l c ( B ) = Σ k = 1 K ( f k * ( f k - 1 ) ) / K ( K - 1 ) ,
其中fk代表文本B中字母bk出现的比率。
文本信息熵可以理解为信息的复杂度,如果一个信息越有序和简单,则其信息熵越低,而一个信息越混乱且复杂,则其信息熵越高。对于功能比较复杂,且做了混淆的webshell,其信息熵也越高,是webshell的可能性也越高。计算文本的信息熵,通常是通过过滤掉文本中的空格,中文等信息,然后解析出文本中的所有ASCII编码,使用ASCII码计算文本的熵值。文本信息熵Info(A)计算公式如下:
I n f o ( A ) = - ↑ n = 1 255 p n log 2 p n ( n ≠ 127 ) = - ↑ n = 1 255 x n s log 2 x n s ( n ≠ 127 ) ,
其中n为ASCII码,不过对于n=127(空格)的情况无意义,将其去除;pn为第n位ASCII码在当前文本出现的概率,xn为第n位ASCII码在当前文本出现的次数,s为当前文本的总字符数。文本信息熵Info(A)越大,文本文件为webshell的可能性越大。
最长单词或字符串需要被检测的原因是:由于webshell中有些代码逻辑为了躲避查杀,需要将关键代码进行加密,执行时再解密,因此就会出现很长的单词或者字符串,如果文本中出现了极长的字符串,文本文件是webshell的可能性也很高。
特征库匹配检测是检测webshell的最直接的方式,也是最必不可少的方式,可以包括检测以下几种与webshell具有高度相关性的特征:
危险函数,例如:eval、exec、system、passthru、shell_exec、assert、base64_decode等。
危险文件后缀,例如php4、php5、asa、cer、jspx、cfm、war、asp、php等。
敏感的文件名,例如cmd、websell、shell、backdoor、chopper等。
内容关键字,很多家族性的webshell都会包含一些关键字,或者特殊指令,可以使用正则表达式来识别这些特征。
文件属性需要被检测的原因是:一般情况下,webshell是黑客通过使用其他漏洞上传到web目录中来的,因此文件的创建时间,修改时间,所有者,文件类型权限都与其他正常的文件有很大区别,因此一个目录中,文件属性与其他文件存在明显差异的文件也很可能是一个webshell。
更进一步地,上述webshell的检测方法中,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
更进一步地,上述webshell的检测方法中,所述特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
本发明的另一目的是提供一种webshell的检测***,其能够基于被检测文件的多个特征属性筛选出web应用服务器上的web目录中的文件中为webshell的文件,从而防止web应用服务器被黑客控制,提升web应用服务器的安全性。
根据上述目的,本发明提出了一种webshell的检测***,其包括:
设置在web应用服务器上的代理单元,以及;
服务器;
其中代理单元根据服务器的指令采用下述步骤对webshell进行检测:
遍历web应用服务器上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
,其中,i为1或2,P(yi|X)表示文件出现特征属性集合为X时文件为yi的概率,P(X|yi)表示文件为yi时文件出现特征属性集合为X的概率,P(X)表示所有所述样本中一个文件出现特征属性集合为X的概率,P(yi)表示所有所述样本中类别为yi的概率;
其中,代理单元将检测到webshell的检测结果传输至服务器。
需要说明的是,本发明***中,由于P(X)不变,比较P(y1|X)和P(y2|X)时只需要比较P(X|y1)P(y1)和P(X|y2)P(y2)。而根据公式
可以得出,比较P(X|y1)P(y1)和P(X|y2)P(y2)时只需要比较与。
本发明所述的webshell的检测***中,所述检测结果可以包括被判断为webshell的文件的属性以及样本。服务器可以根据该检测结果进行报警,为用户提供分析、展示以及删除等管理界面。
进一步地,本发明所述的webshell的检测***中,所述服务器在接收到代理单元传输的检测结果后发出报警。
进一步地,本发明所述的webshell的检测***中,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
更进一步地,上述webshell的检测***中,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
更进一步地,上述webshell的检测***中,所述特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
进一步地,本发明所述的webshell的检测***中,所述代理单元还将检测到webshell的文件传输至服务器。
本发明所述的webshell的检测方法,其与现有技术中通过单一检测方法检测webshell相比,采用朴素贝叶斯分类算法综合文件的多个特征属性进行判断,从而具有更高的准确度,有效降低了webshell的误报率和漏报率,提升了web应用服务器的安全性。
本发明所述的webshell的检测***,其同样具有上述效果。
附图说明
图1为本发明所述的webshell的检测方法在一种实施方式下的流程示意图。
图2为本发明所述的webshell的检测***在一种实施方式下的结构示意图。
具体实施方式
下面将结合说明书附图和具体的实施例来对本发明所述的webshell的检测方法和检测***进行进一步地详细说明,但是该详细说明不构成对本发明的限制。
图1示意了本发明所述的webshell的检测方法在一种实施方式下的流程。如图1所示,该webshell的检测方法包括步骤:
遍历web应用服务器上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
P ( X | y i ) P ( y i ) = P ( a 1 | y i ) P ( a 2 | y i ) ... P ( a n | y i ) P ( y i ) = P ( y i ) Π j = 1 n P ( a j | y i ) ,
其中,i为1或2,P(yi|X)表示文件出现特征属性集合为X时文件为yi的概率,P(X|yi)表示文件为yi时文件出现特征属性集合为X的概率,P(X)表示所有所述样本中一个文件出现特征属性集合为X的概率,P(yi)表示所有所述样本中类别为yi的概率。
上述方案中,由于P(X)不变,比较P(y1|X)和P(y2|X)时只需要比较P(X|y1)P(y1)和P(X|y2)P(y2)。而根据公式
可以得出,比较P(X|y1)P(y1)和P(X|y2)P(y2)时只需要比较与。
在某些实施方式下,对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
在某些实施方式下,对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
在某些实施方式下,特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
上述各实施方式中:
文本重合指数的计算方法是:
设文本B={b1,b2,……bk},是一个包含了K个字符的字符串,文本B的文本重合指数记为lc(B),定义为文本B中两个随机字符相同的概率。
文本B的文本重合指数lc(B)的计算公式如下:
l c ( B ) = Σ k = 1 K ( f k * ( f k - 1 ) ) / K ( K - 1 ) ,
其中fk代表文本B中字母bk出现的比率。
文本信息熵Info(A)计算公式如下:
I n f o ( A ) = - ↑ n = 1 255 p n log 2 p n ( n ≠ 127 ) = - ↑ n = 1 255 x n s log 2 x n s ( n ≠ 127 ) ,
其中n为ASCII码,不过对于n=127(空格)的情况无意义,将其去除;pn为第n位ASCII码在当前文本出现的概率,xn为第n位ASCII码在当前文本出现的次数,s为当前文本的总字符数。文本信息熵Info(A)越大,文本文件为webshell的可能性越大。
特征库匹配检测包括检测以下几种与webshell具有高度相关性的特征:
危险函数,例如:eval、exec、system、passthru、shell_exec、assert、base64_decode等。
危险文件后缀,例如php4、php5、asa、cer、jspx、cfm、war、asp、php等。
敏感的文件名,例如cmd、websell、shell、backdoor、chopper等。
内容关键字,很多家族性的webshell都会包含一些关键字,或者特殊指令,可以使用正则表达式来识别这些特征。
文件属性检测的项目包括但不限于文件的创建时间,修改时间,所有者,文件类型权限等,判断在一个目录中与其他文件的差异性。
图2示意了本发明所述的webshell的检测***在一种实施方式下的结构。如图2所示,该webshell的检测***包括:设置在web应用服务器1上的代理单元2,以及服务器3。
上述webshell的检测***中,代理单元2根据服务器3发出的指令负责对web目录进行webshell检测,上传样本,删除样本等操作。服务器3作为代理单元2的控制端,负责任务调度,检测结果分析,结果报警,web管理界面等功能。该webshell的检测***的工作流程包括步骤:
代理单元2根据服务器3的指令采用下述步骤对webshell进行检测(由于该检测***基于上述检测方法实现,该步骤流程可直接参考图1):
遍历web应用服务器1上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
,其中,i为1或2,P(yi|X)表示文件出现特征属性集合为X时文件为yi的概率,P(X|yi)表示文件为yi时文件出现特征属性集合为X的概率,P(X)表示所有所述样本中一个文件出现特征属性集合为X的概率,P(yi)表示所有所述样本中类别为yi的概率;
其中,代理单元2将检测到webshell的检测结果传输至服务器3。该检测结果包括被判断为webshell的文件的属性以及样本。服务器3根据该检测结果进行报警,为用户提供分析、展示以及删除等管理界面。
上述方案中,由于P(X)不变,比较P(y1|X)和P(y2|X)时只需要比较P(X|y1)P(y1)和P(X|y2)P(y2)。而根据公式
可以得出,比较P(X|y1)P(y1)和P(X|y2)P(y2)时只需要比较与。
在某些实施方式下,服务器3在接收到代理单元2传输的检测结果后发出报警。
在某些实施方式下,对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
在某些实施方式下,对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
在某些实施方式下,特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
在某些实施方式下,代理单元2还将检测到webshell的文件传输至服务器3。
上述各实施方式中:
文本重合指数的计算方法是:
设文本B={b1,b2,……bk},是一个包含了K个字符的字符串,文本B的文本重合指数记为lc(B),定义为文本B中两个随机字符相同的概率。
文本B的文本重合指数lc(B)的计算公式如下:
l c ( B ) = Σ k = 1 K ( f k * ( f k - 1 ) ) / K ( K - 1 ) ,
其中fk代表文本B中字母bk出现的比率。
文本信息熵Info(A)计算公式如下:
I n f o ( A ) = - ↑ n = 1 255 p n log 2 p n ( n ≠ 127 ) = - ↑ n = 1 255 x n s log 2 x n s ( n ≠ 127 ) ,
其中n为ASCII码,不过对于n=127(空格)的情况无意义,将其去除;pn为第n位ASCII码在当前文本出现的概率,xn为第n位ASCII码在当前文本出现的次数,s为当前文本的总字符数。文本信息熵Info(A)越大,文本文件为webshell的可能性越大。
特征库匹配检测包括检测以下几种与webshell具有高度相关性的特征:
危险函数,例如:eval、exec、system、passthru、shell_exec、assert、base64_decode等。
危险文件后缀,例如php4、php5、asa、cer、jspx、cfm、war、asp、php等。
敏感的文件名,例如cmd、websell、shell、backdoor、chopper等。
内容关键字,很多家族性的webshell都会包含一些关键字,或者特殊指令,可以使用正则表达式来识别这些特征。
文件属性检测的项目包括但不限于文件的创建时间,修改时间,所有者,文件类型权限等,判断在一个目录中与其他文件的差异性。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。

Claims (10)

1.一种webshell的检测方法,其特征在于,包括步骤:
遍历web应用服务器上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
P ( X | y i ) P ( y i ) = P ( a 1 | y i ) P ( a 2 | y i ) ... P ( a n | y i ) P ( y i ) = P ( y i ) Π j = 1 n P ( a j | y i ) ,
其中,i为1或2。
2.如权利要求1所述的webshell的检测方法,其特征在于,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
3.如权利要求2所述的webshell的检测方法,其特征在于,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
4.如权利要求2或3所述的webshell的检测方法,其特征在于,所述特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
5.一种webshell的检测***,其特征在于,包括:
设置在web应用服务器上的代理单元,以及;
服务器;
其中代理单元根据服务器的指令采用下述步骤对webshell进行检测:
遍历web应用服务器上的web目录中的文件,对文件的特征进行检测,获得N种特征属性;
构建特征属性集合X={a1,a2,a3,……an},其中a1,a2,a3,……an分别对应表示N种特征属性;
构建类别集合C={y1,y2},其中y1表示文件不是webshell,y2表示文件是webshell;
分别计算P(y1|X)和P(y2|X),并根据计算结果进行判断:如果P(y1|X)>P(y2|X),则判断文件不是webshell,反之则判断文件是webshell;
其中,计算P(y1|X)和P(y2|X)的步骤为:
(1)获取足够的webshell样本以及正常文件样本,训练统计出文件分别为y1和y2时,其特征属性分别是a1,a2,a3,……an的概率P(a1|y1),P(a1|y2),P(a2|y1),P(a2|y2),……,P(an|y1),P(an|y2);
(2)根据下述模型公式计算出P(y1|X)和P(y2|X):
P ( y i | X ) = P ( X | y i ) P ( y i ) P ( X ) ,
P ( X | y i ) P ( y i ) = P ( a 1 | y i ) P ( a 2 | y i ) ... P ( a n | y i ) P ( y i ) = P ( y i ) Π j = 1 n P ( a j | y i ) ,
其中,i为1或2;
其中,代理单元将检测到webshell的检测结果传输至服务器。
6.如权利要求5所述的webshell的检测***,其特征在于,所述服务器在接收到代理单元传输的检测结果后发出报警。
7.如权利要求5所述的webshell的检测***,其特征在于,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测的至少其中两项,以获得与其对应的5种特征属性的至少其中两种特征属性。
8.如权利要求7所述的webshell的检测***,其特征在于,所述对文件的特征进行检测至少包括:计算文本重合指数、计算文本信息熵、检测最长单词或字符串、特征库匹配检测和文件属性检测,以获得与其对应的5种特征属性。
9.如权利要求7或8所述的webshell的检测***,其特征在于,所述特征库匹配检测包括:危险函数检测、危险文件后缀检测、敏感文件名检测和内容关键字检测的至少其中之一。
10.如权利要求5所述的webshell的检测***,其特征在于,所述代理单元还将检测到webshell的文件传输至服务器。
CN201610531622.6A 2016-07-07 2016-07-07 一种webshell的检测方法和检测*** Pending CN106203095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610531622.6A CN106203095A (zh) 2016-07-07 2016-07-07 一种webshell的检测方法和检测***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610531622.6A CN106203095A (zh) 2016-07-07 2016-07-07 一种webshell的检测方法和检测***

Publications (1)

Publication Number Publication Date
CN106203095A true CN106203095A (zh) 2016-12-07

Family

ID=57472712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610531622.6A Pending CN106203095A (zh) 2016-07-07 2016-07-07 一种webshell的检测方法和检测***

Country Status (1)

Country Link
CN (1) CN106203095A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133501A (zh) * 2017-03-20 2017-09-05 福建天晴数码有限公司 一种apk文件的安全检测方法及***
CN107493278A (zh) * 2017-08-10 2017-12-19 杭州迪普科技股份有限公司 一种双向加密webshell的访问方法及装置
CN107577944A (zh) * 2017-09-08 2018-01-12 杭州安恒信息技术有限公司 基于代码语法分析器的网站恶意代码检测方法及装置
CN108171060A (zh) * 2017-12-29 2018-06-15 哈尔滨安天科技股份有限公司 基于信息熵识别加密变形脚本的方法、***及存储介质
CN108920959A (zh) * 2018-07-21 2018-11-30 杭州安恒信息技术股份有限公司 一种基于贝叶斯模型优化的webshell检测方法
CN109598124A (zh) * 2018-12-11 2019-04-09 厦门服云信息科技有限公司 一种webshell检测方法以及装置
CN112052453A (zh) * 2020-09-04 2020-12-08 四川长虹电器股份有限公司 基于Relief算法的webshell检测方法及装置
CN115438342A (zh) * 2022-09-13 2022-12-06 武汉思普崚技术有限公司 一种webshell检测方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468477A (zh) * 2013-09-16 2015-03-25 杭州迪普科技有限公司 一种WebShell的检测方法及***
CN104967616A (zh) * 2015-06-05 2015-10-07 北京安普诺信息技术有限公司 一种Web服务器中的WebShell文件的检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468477A (zh) * 2013-09-16 2015-03-25 杭州迪普科技有限公司 一种WebShell的检测方法及***
CN104967616A (zh) * 2015-06-05 2015-10-07 北京安普诺信息技术有限公司 一种Web服务器中的WebShell文件的检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡必伟: "《基于贝叶斯理论的Webshell检测方法研究》", 《科技广场》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133501A (zh) * 2017-03-20 2017-09-05 福建天晴数码有限公司 一种apk文件的安全检测方法及***
CN107493278A (zh) * 2017-08-10 2017-12-19 杭州迪普科技股份有限公司 一种双向加密webshell的访问方法及装置
CN107577944A (zh) * 2017-09-08 2018-01-12 杭州安恒信息技术有限公司 基于代码语法分析器的网站恶意代码检测方法及装置
CN108171060A (zh) * 2017-12-29 2018-06-15 哈尔滨安天科技股份有限公司 基于信息熵识别加密变形脚本的方法、***及存储介质
CN108920959A (zh) * 2018-07-21 2018-11-30 杭州安恒信息技术股份有限公司 一种基于贝叶斯模型优化的webshell检测方法
CN108920959B (zh) * 2018-07-21 2020-12-01 杭州安恒信息技术股份有限公司 一种基于贝叶斯模型优化的webshell检测方法
CN109598124A (zh) * 2018-12-11 2019-04-09 厦门服云信息科技有限公司 一种webshell检测方法以及装置
CN112052453A (zh) * 2020-09-04 2020-12-08 四川长虹电器股份有限公司 基于Relief算法的webshell检测方法及装置
CN115438342A (zh) * 2022-09-13 2022-12-06 武汉思普崚技术有限公司 一种webshell检测方法及相关设备

Similar Documents

Publication Publication Date Title
CN106203095A (zh) 一种webshell的检测方法和检测***
US10268840B2 (en) Systems and methods of determining compromised identity information
CN108259494B (zh) 一种网络攻击检测方法及装置
US11630918B2 (en) Systems and methods of determining compromised identity information
US10599872B2 (en) Systems and methods of determining compromised identity information
Wang et al. Jsdc: A hybrid approach for javascript malware detection and classification
CN106685936B (zh) 网页篡改的检测方法及装置
CN103430504B (zh) 用于保护指定数据组合的***和方法
CN110233849A (zh) 网络安全态势分析的方法及***
US11841950B2 (en) Real-time javascript classifier
CN105491053A (zh) 一种Web恶意代码检测方法及***
CN102833269B (zh) 跨站攻击的检测方法、装置和具有该装置的防火墙
CN102833270A (zh) Sql注入攻击的检测方法、装置和具有该装置的防火墙
CN105138907B (zh) 一种主动探测被攻击网站的方法和***
KR100912794B1 (ko) 실시간 웹 서버 해킹 분석 및 홈페이지 위변조 감시를 위한 웹 위협관리 시스템 및 그 방법
CN105956180A (zh) 一种敏感词过滤方法
CN109829304B (zh) 一种病毒检测方法及装置
CN112199677A (zh) 一种数据处理方法和装置
CN109922065A (zh) 恶意网站快速识别方法
CN109344661A (zh) 一种基于机器学习的微代理的网页防篡改方法
CN106060038B (zh) 基于客户端程序行为分析的钓鱼网站检测方法
CN110830489A (zh) 基于内容抽象表示的对抗式欺诈网站检测方法及***
Ardi et al. Auntietuna: Personalized content-based phishing detection
Gorji et al. Detecting obfuscated JavaScript malware using sequences of internal function calls
CN109344614A (zh) 一种Android恶意应用在线检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207

RJ01 Rejection of invention patent application after publication