一种基于流量的webshell的检测方法技术

技术编号:22820170 阅读:18 留言:0更新日期:2019-12-14 14:15
本发明专利技术涉及一种基于流量的webshell的检测方法,所述检测方法是对同一网站产生的流量进行webshell检测,包括以下步骤:建立训练模型,按照url+参数的模式对训练流量进行分组,分析出每组url+参数的属性,以得到每组训练流量的url+参数实体及其模式画像;进行检测,检测已建立训练模型的网站,按照url+参数的模式对待检测流量进行分组,将所有待检测流量的url+参数与所有训练流量的url+参数进行比较,若有url相同参数不同的待检测流量,则分别判断该情况下各条待检测流量的统计分值、相似度分值和可疑度,以检测出含有webshell的异常流量,并对异常流量进行降低误报处理。本发明专利技术实现了建立基于流量的webshell训练模型,能根据训练模型进行检测,并准确有效的检测出误报较低的待移除流量。

A detection method of Web shell based on traffic

【技术实现步骤摘要】
一种基于流量的webshell的检测方法
本专利技术涉及网络安全
,特别涉及一种基于流量的webshell的检测方法。
技术介绍
随着因特网技术飞速发展和日益普及,服务器安全问题也日益严峻,甚至严重威胁到网络服务的正常运行。因此检测服务器的漏洞和后门以保证服务器安全至关重要。webshell常被入侵者用作对网站服务器操作的后门工具,webshell大多由网页脚本语言编写,和其他正常的网页运行环境相同,服务端口相同,因此很容易穿透防火墙和逃避杀毒软件的检测,相对于二进制编码的程序,webshell是纯文本文件,变形简单,脚本使用灵活,很容易将特征码进行混淆或者隐藏,使得基于特征匹配的检测方法很难快速准确的检测到webshell并移除。目前,现有检测webshell大多数是基于规则匹配,这样会导致大量的误报和漏报,且对于未知类型的webshell完全无能为力。在现有产品中,基于流量的webshell检测,由于涉及到正常样本的提取以及特征的选择,且单条流量又无法反映webshell本质的特征,因此现有产品中还没有比较好的模型。另外,现有的机器模型训练严重依赖样本的好坏,但是往往好的正负样本都是很难采集到的,例如正样本,正样本之间相互的差距非常大,各有各的特点,很难找到正常样本之间的共性特征用来作为训练特征;再例如负样本,一方面稀有很难采集,另一方面,安全研究室自己造的数据和真实的攻击数据流量有些差异。因此,模型特征的难以设计和提取,样本的难以采集,导致现有的机器学习或者统计模型很难做到准确有效。另外现有技术很难做到误报与漏报之间的双重降低,比如为了降低漏报,多添加的规则会产生更多误报,而为了降低误报,则少添加一些规则,那么随之而来就会产生更多漏报,因此现有技术很难做到对误报和漏报的双重控制。因此有必要提供一种基于流量的webshell的检测方法,以实现建立基于流量的webshell训练模型,能根据训练模型进行检测,并准确有效的检测出漏报和误报较低的需要移除的流量。
技术实现思路
本专利技术的目的在于提供一种基于流量的webshell的检测方法,以实现建立基于流量的webshell训练模型,能根据训练模型进行检测,并准确有效的检测出漏报和误报较低的需要移除的流量。为了解决现有技术中存在的问题,本专利技术提供了一种基于流量的webshell的检测方法,所述检测方法是对同一网站产生的流量进行webshell检测,包括以下步骤:建立训练模型,按照url+参数的模式对训练流量进行分组,所述参数为所述训练流量的访问key值,分析出每组url+参数的属性,以得到每组训练流量的url+参数实体,并根据每组训练流量的url+参数实体得到每组训练流量的模式画像,以得到训练模型;由各条训练流量之间的跳转关系得到各组url+参数之间的跳转关系,从而得到各组url+参数的图模型,所有的图模型构成跳转模型图;进行检测,检测已建立训练模型的网站,按照url+参数的模式对待检测流量进行分组,所述参数为所述待检测流量的访问key值,分析出每组url+参数的属性,以得到每组待检测流量的url+参数实体,将所有待检测流量的url+参数与所有训练流量的url+参数进行比较,若有url相同但是参数不同的待检测流量,则分别计算该情况下各条待检测流量的统计分值和相似度分值,将各条待检测流量的统计分值和相似度分值与预设的阈值进行比较判断,并对该情况下各条待检测流量的可疑度进行判断,以检测出含有webshell的异常流量,将异常流量进行降低误报处理,得到待移除的流量和正常的流量。可选的,在所述基于流量的webshell的检测方法中,与训练流量相比,待检测流量具有相同url和不同参数时,计算统计分值包括以下步骤:抽取同一相同url+不同参数所对应的该组待检测流量及其统计特征,所述统计特征包括出度、入度、访问IP多样性以及useragent多样性,统计分值的计算公式为:其中T为抽取的该组待检测流量中各条待检测流量的统计分值,T1,T2…T4为各统计特征的特征值。可选的,在所述基于流量的webshell的检测方法中,T1,T2…T4为各统计特征的特征值,各特征值的计算公式为TX=1-e(-x),其中,Tx为各统计特征中任一统计特征的特征值,e为常数,x为抽取的该组待检测流量的出度的个数、入度的个数、访问IP多样性的个数或useragent多样性的个数。可选的,在所述基于流量的webshell的检测方法中,在抽取的该组待检测流量中,若从待检测流量跳转向训练流量,则记录该条待检测流量具有一个出度;在抽取的该组待检测流量中,若从训练流量跳转向待检测流量,则记录该条待检测流量具有一个入度;统计抽取的该组待检测流量中所有待检测流量的出度的个数和入度的个数。可选的,在所述基于流量的webshell的检测方法中,与训练流量相比,待检测流量具有相同url和不同参数时,计算相似度分值包括以下步骤:抽取同一相同url+不同参数所对应的该组待检测流量,获取训练模型中和该组待检测流量的url相同的至少一组训练流量;相似度分值的计算公式为:其中D为抽取的该组待检测流量中各条待检测流量的相似度分值,S1,S2…Sz为抽取的该组待检测流量分别与获取的各组训练流量之间的相似值,z为获取的训练流量的组数。可选的,在所述基于流量的webshell的检测方法中,抽取的该组待检测流量分别与获取的各组训练流量之间的相似值的计算公式为:或S为抽取的该组待检测流量分别与获取的各组训练流量之间的相似值,i为下界限,n为上界限,p为获取的各组训练流量的用户画像中的序列计算值,yi为抽取的同一相同url+不同参数中各属性的向量值,Yi为获取的各组训练流量的用户画像中各属性的频率,且yi和Yi所属的属性一一对应,J为根据经验得到的用于平均的值。可选的,在所述基于流量的webshell的检测方法中,判断同一相同url+不同参数所对应的各条待检测流量的统计分值和相似度分值的方式如下:分别预设统计分值的阈值和相似度分值的阈值,将同一相同url+不同参数所对应的各条待检测流量的统计分值和相似度分值与预设的各阈值进行比较判断,若其统计分值低于统计分值的阈值,且相似度分值低于相似度分值的阈值,则进行可疑度判断,否则不进行可疑度计算,确认该条待检测流量为正常的流量。可选的,在所述基于流量的webshell的检测方法中,可疑度判断包括一般webshell可疑度判断和冰蝎型webshell可疑度判断,经过一般webshell可疑度和冰蝎型webshell可疑度两次判断后,两次都判断待检测流量正常的确认为正常的流量,否则为异常流量。可选的,在所述基于流量的webshell的检测方法中,一般webshell可疑度判断前还包括以下步骤:获取已知webshell的关键词,统计各条待检测流量中request请求体部分和response部分中包含webshell的关键词的个数,记为n1;获取各条待本文档来自技高网
...

【技术保护点】
1.一种基于流量的webshell的检测方法,其特征在于,所述检测方法是对同一网站产生的流量进行webshell检测,包括以下步骤:/n建立训练模型,按照url+参数的模式对训练流量进行分组,所述参数为所述训练流量的访问key值,分析出每组url+参数的属性,以得到每组训练流量的url+参数实体,并根据每组训练流量的url+参数实体得到每组训练流量的模式画像,以得到训练模型;由各条训练流量之间的跳转关系得到各组url+参数之间的跳转关系,从而得到各组url+参数的图模型,所有的图模型构成跳转模型图;/n进行检测,检测已建立训练模型的网站,按照url+参数的模式对待检测流量进行分组,所述参数为所述待检测流量的访问key值,分析出每组url+参数的属性,以得到每组待检测流量的url+参数实体,将所有待检测流量的url+参数与所有训练流量的url+参数进行比较,若有url相同但是参数不同的待检测流量,则分别计算该情况下各条待检测流量的统计分值和相似度分值,将各条待检测流量的统计分值和相似度分值与预设的阈值进行比较判断,并对该情况下各条待检测流量的可疑度进行判断,以检测出含有webshell的异常流量,将异常流量进行降低误报处理,得到待移除的流量和正常的流量。/n...

【技术特征摘要】
1.一种基于流量的webshell的检测方法,其特征在于,所述检测方法是对同一网站产生的流量进行webshell检测,包括以下步骤:
建立训练模型,按照url+参数的模式对训练流量进行分组,所述参数为所述训练流量的访问key值,分析出每组url+参数的属性,以得到每组训练流量的url+参数实体,并根据每组训练流量的url+参数实体得到每组训练流量的模式画像,以得到训练模型;由各条训练流量之间的跳转关系得到各组url+参数之间的跳转关系,从而得到各组url+参数的图模型,所有的图模型构成跳转模型图;
进行检测,检测已建立训练模型的网站,按照url+参数的模式对待检测流量进行分组,所述参数为所述待检测流量的访问key值,分析出每组url+参数的属性,以得到每组待检测流量的url+参数实体,将所有待检测流量的url+参数与所有训练流量的url+参数进行比较,若有url相同但是参数不同的待检测流量,则分别计算该情况下各条待检测流量的统计分值和相似度分值,将各条待检测流量的统计分值和相似度分值与预设的阈值进行比较判断,并对该情况下各条待检测流量的可疑度进行判断,以检测出含有webshell的异常流量,将异常流量进行降低误报处理,得到待移除的流量和正常的流量。


2.如权利要求1所述的基于流量的webshell的检测方法,其特征在于,与训练流量相比,待检测流量具有相同url和不同参数时,计算统计分值包括以下步骤:
抽取同一相同url+不同参数所对应的该组待检测流量及其统计特征,所述统计特征包括出度、入度、访问IP多样性以及useragent多样性,统计分值的计算公式为:

其中T为抽取的该组待检测流量中各条待检测流量的统计分值,T1,T2…T4为各统计特征的特征值。


3.如权利要求2所述的基于流量的webshell的检测方法,其特征在于,T1,T2…T4为各统计特征的特征值,各特征值的计算公式为TX=1-e(-x),其中,Tx为各统计特征中任一统计特征的特征值,e为常数,x为抽取的该组待检测流量的出度的个数、入度的个数、访问IP多样性的个数或useragent多样性的个数。


4.如权利要求3所述的基于流量的webshell的检测方法,其特征在于,
在抽取的该组待检测流量中,若从待检测流量跳转向训练流量,则记录该条待检测流量具有一个出度;
在抽取的该组待检测流量中,若从训练流量跳转向待检测流量,则记录该条待检测流量具有一个入度;
统计抽取的该组待检测流量中所有待检测流量的出度的个数和入度的个数。


5.如权利要求1所述的基于流量的webshell的检测方法,其特征在于,与训练流量相比,待检测流量具有相同url和不同参数时,计算相似度分值包括以下步骤:
抽取同一相同url+不同参数所对应的该组待检测流量,获取训练模型中和该组待检测流量的url相同的至少一组训练流量;
相似度分值的计算公式为:其中D为抽取的该组待检测流量中各条待检测流量的相似度分值,S1,S2…Sz为抽取的该组待检测流量分别与获取的各组训练流量之间的相似值,z为获取的训练流量的组数。


6.如权利要求1所述的基于流量的webshell的检测方法,其特征在于,抽取的该组待检测流量分别与获取的各组训练流量之间的相似值的计算公式为:



S为抽取的该组待检测流量分别与获取的各组训练流量之间的相似值,i为下界限,n为上界限,p为获取的各组训练流量的用户画像中的序列计算值,yi为抽取的同一相同url+不同参数中各属性的向量值,Yi为获取的各组训练流量的用户画像中各属性的频率,且yi和Yi所属的属性一一对应,J为根据经验得到的用于平均的值。


7.如权利要求1所述的基于流量的webshell的检测方法,其特征在于,判断同一相同url+不同参数所对应的各条待检测流量的统计分值和相似度分值的方式如下:
分别预设统计分值的阈值和相似度分值的阈值,将同一相同url+不同参数所对应的各条待检测流量的统计分值和相似度分值与预设的各阈值进行比较判断,若其统计分值低于统计分值的阈值,且相似度分值低于相似度分值的阈值,则统计分值和相似度分值都不合格,接着进行可疑度判断,否则不进行可疑度计算,确认该条待检测流量为正常的流量。


8.如权利要求7所述的基于流量的webshell的检测方法,其特征在于,可疑度判断包括一般webshell可疑度判断和冰蝎型webshell可疑度判断,经过一般websh...

【专利技术属性】
技术研发人员:徐钟豪孟雷谢忱
申请(专利权)人:上海斗象信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1