基于机器学习与动静态分析的Webshell检测方法及系统技术方案

技术编号:17200875 阅读:57 留言:0更新日期:2018-02-04 02:05
本发明专利技术实施例提出基于机器学习与动静态分析的Webshell检测方法及系统,涉及Webshell检测技术领域。该方法通过获取样本文件,提取所述样本文件的静态特征和动态特征,依据所述静态特征、动态特征和机器学习算法得到分类模型,所述分类模型对待检测文件进行分析并得到检测结果。本发明专利技术采用动静态相结合的分析手段,提取特征更全面,采用多种分类算法结合的机器学习算法对大量Webshell样本和正常网页样本进行学习形成分类模型,分类模型稳定性更高,分类更加准确;采用该分类模型可有效检测出Webshell及其变种,预测新型Webshell,能较好地应对文本混淆手段,弥补传统采用特征码匹配检测方式的不足。

【技术实现步骤摘要】
基于机器学习与动静态分析的Webshell检测方法及系统
本专利技术涉及Webshell检测
,具体而言,涉及一种基于机器学习与动静态分析的Webshell检测方法及系统。
技术介绍
随着互联网应用的蓬勃发展与互联网数据的极速增长,服务器安全问题日益严峻,而Webshell这类基于Web应用的后门程序对用户信息、甚至整个应用系统的危害极大,因此及时检测发现服务器的漏洞和后门,保证服务器的安全至关重要。由于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,能较好地应对文本混淆手段,弥补传统采用特征码匹配检测方式的不足。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例所提供的服务器的方框示意图。图2示出了本专利技术第一实施例所提供的基于机器学习与动静态分析的Webshell检测系统的功能模块图。图3示出了图2中特征提取模块的功能模块图。图4示出了基于机器学习与动静态分析的Webshell检测系统进行Webshell检测的流程示意图。图5示出了本专利技术第二实施例所提供的基于机器学习与动静态分析的Webshell检测方法的流程示意图。图6示出了图5中步骤S202的具体流程示意图。图标:100-服务器;400-基于机器学习与动静态分析的Webshell检测系统;110-存储器;120-存储控制器;130-处理器;410-样本获取模块;420-特征提取模块;430-模型建立模块;440-模型更新模块;421-静态分析模块;422-动态分析模块。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中本文档来自技高网...
基于机器学习与动静态分析的Webshell检测方法及系统

【技术保护点】
一种基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述基于机器学习与动静态分析的Webshell检测方法包括:获取样本文件;提取所述样本文件的静态特征和动态特征;依据所述静态特征、所述动态特征和机器学习算法得到分类模型,所述分类模型对待检测文件进行分析并得到检测结果。

【技术特征摘要】
1.一种基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述基于机器学习与动静态分析的Webshell检测方法包括:获取样本文件;提取所述样本文件的静态特征和动态特征;依据所述静态特征、所述动态特征和机器学习算法得到分类模型,所述分类模型对待检测文件进行分析并得到检测结果。2.如权利要求1所述的基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述提取所述样本文件的静态特征和动态特征的步骤包括:对所述样本文件进行静态分析得到所述静态特征,其中,所述静态特征包括所述样本文件的文档特征、基本函数特征、文件行为特征;对所述样本文件进行动态分析得到所述动态特征,其中,所述动态特征包括文件包含操作特征、敏感函数运行特征、敏感字符串特征。3.如权利要求1所述的基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述依据所述静态特征、所述动态特征和机器学习算法得到分类模型的步骤包括:对所述静态特征和所述动态特征采用所述机器学习算法进行学习,得到所述分类模型。4.如权利要求1所述的基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述机器学习算法为结合了多种分类算法的集体学习方式。5.如权利要求1所述的基于机器学习与动静态分析的Webshell检测方法,其特征在于,所述基于机器学习与动静态分析的Webshell检测方法还包括:当所述待检测文件经检测后确认为Webshell时,依据所述待检测文件与所述样本文件重新进行机器学习以更新所述分类模型。6.一种基于机器学习与动...

【专利技术属性】
技术研发人员:唐佳莉范渊莫金友
申请(专利权)人:杭州安恒信息技术有限公司
类型:发明
国别省市:浙江,33

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

1