一种webshell检测方法、装置及系统制造方法及图纸

技术编号:21405131 阅读:24 留言:0更新日期:2019-06-19 08:49
本说明书实施例公开了一种webshell检测方法、装置及系统,所述方法包括获取待检测网页的PHP脚本数据对应的第一中间字节码数据;利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。利用本说明书各实施例,可以提高PHP webshell检测的准确性。

【技术实现步骤摘要】
一种webshell检测方法、装置及系统
本专利技术涉及计算机数据处理
,特别地,涉及一种webshell检测方法、装置及系统。
技术介绍
当前,网络安全形势严峻,通过PHPwebshell进行入侵的事件时有发生。目前对于PHPwebshell的检测技术主要依赖基于静态特征规则的检测技术,这种检测方法准确率通常依赖于特征库。特征库不可避免的存在滞后性,对于新型的webshell较难进行准确的识别。同时,由于PHP语言具有高度灵活性,基于特征规则的检测可以通过多种方式进行绕过。例如,攻击者为了避免webshell被检测出来,通常会使用混淆技术,如利用加解密技术、多重编码技术、代码中插入注释符等无用信息、字符串连接替换技术、化整为散技术等,将一些特征隐藏起来。从而影响了传统的静态特征检测技术对混淆后的webshell或者新型的webshell的检测准确性。
技术实现思路
本说明书实施例的目的在于提供一种webshell检测方法、装置及系统,可以提高PHPwebshell检测的准确性。本说明书提供一种webshell检测方法、装置及系统是包括如下方式实现的:一种webshell检测方法,包括:获取待检测网页的PHP脚本数据对应的第一中间字节码数据;利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。本说明书提供的所述方法的另一个实施例中,所述利用构建的监督学习算法对所述第一中间字节码数据进行识别,包括:基于预设的分词库,利用TF-IDF算法对所述第一中间字节码数据进行特征提取,获得所述待检测网页的特征数据,其中,所述分词库包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行分词处理后获得分词数据;利用构建的监督学习算法对所述待检测网页的特征数据进行识别。本说明书提供的所述方法的另一个实施例中,所述利用TF-IDF算法对所述第一中间字节码数据进行特征提取,包括:将所述第一中间字节码数据进行分词处理,获得所述待检测网页的PHP脚本数据对应的第一分词集合;利用TF-IDF算法计算所述分词库中每个词相对所述第一分词集合的TF-IDF值;将所述TF-IDF值按照相应的词在分词库中的位置进行一一对应,获得由TF-IDF值组成的向量,将该向量作为所述待检测网页的特征向量。本说明书提供的所述方法的另一个实施例中,所述预设的分词库采用下述方式构建:获取确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据,获得样本集合;将所述样本集合中的各脚本数据转换成中间字节码数据,获得各脚本数据对应的第二中间字节码数据;对所述第二中间字节码数据进行分词处理,获得各脚本数据对应的第二分词集合;将所述第二分词集合进行融合处理,获得分词库。本说明书提供的所述方法的另一个实施例中,所述webshell检测模型采用下述方式训练得到:利用TF-IDF算法计算所述分词库中每个词相对所述第二分词集合的TF-IDF值,获得相应脚本数据的特征向量;利用监督学习算法对所述确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据所对应的特征向量进行学习,获得webshell检测模型。本说明书提供的所述方法的另一个实施例中,所述待检测网页的webshell检测结果包括待检测网页是否属于webshell网页或者属于webshell网页的概率。另一方面,本说明书还提供一种webshell检测装置,所述装置包括:数据获取模块,用于获取待检测网页的PHP脚本数据对应的第一中间字节码数据;检测模块,用于利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。本说明书提供的所述装置的另一个实施例中,所述检测模块包括:特征提取单元,用于基于预设的分词库,利用TF-IDF算法对所述第一中间字节码数据进行特征提取,获得所述待检测网页的特征数据,其中,所述分词库包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行分词处理后获得分词数据;检测单元,用于利用构建的监督学习算法对所述待检测网页的特征数据进行识别。本说明书提供的所述装置的另一个实施例中,所述特征提取单元包括:第一分词处理子单元,用于将所述第一中间字节码数据进行分词处理,获得所述待检测网页的PHP脚本数据对应的第一分词集合;计算子单元,用于利用TF-IDF算法计算所述分词库中每个词相对所述第一分词集合的TF-IDF值;特征确定子单元,用于将所述TF-IDF值按照相应的词在分词库中的位置进行一一对应,获得由TF-IDF值组成的向量,将该向量作为所述待检测网页的特征向量。本说明书提供的所述装置的另一个实施例中,所述检测模块包括分词库构建单元,其中,所述分词库构建单元包括:样本数据获取子单元,用于获取确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据,获得样本集合;转换子单元,用于将所述样本集合中的各脚本数据转换成中间字节码数据,获得各脚本数据对应的第二中间字节码数据;第二分词处理子单元,用于对所述第二中间字节码数据进行分词处理,获得各脚本数据对应的第二分词集合;融合子单元,用于将所述第二分词集合进行融合处理,获得分词库。本说明书提供的所述装置的另一个实施例中,所述检测模块还包括模型构建单元,其中,所述模型构建单元包括:特征提取子单元,用于利用TF-IDF算法计算所述分词库中每个词相对所述第二分词集合的TF-IDF值,获得相应脚本数据的特征向量;模型构建子单元,用于利用监督学习算法对所述确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据所对应的特征向量进行学习,获得webshell检测模型。另一方面,本说明书还提供一种webshell检测设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:获取待检测网页的PHP脚本数据对应的第一中间字节码数据;利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。另一方面,本说明书还提供一种webshell检测系统,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个实施例所述方法的步骤。本说明书一个或多个实施例提供的webshell检测方法、装置及系统,可以通过获取PHP脚本数据所对应的中间字节码数据,利用中间字节码数据来辅助进行PHPwebshell的检测。中间字节码数据可以快速精确定位PHP脚本中可控函数及参数的调用,从而可以本文档来自技高网...

【技术保护点】
1.一种webshell检测方法,其特征在于,包括:获取待检测网页的PHP脚本数据对应的第一中间字节码数据;利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。

【技术特征摘要】
1.一种webshell检测方法,其特征在于,包括:获取待检测网页的PHP脚本数据对应的第一中间字节码数据;利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行训练得到的webshell检测模型。2.根据权利要求1所述的方法,其特征在于,所述利用构建的监督学习算法对所述第一中间字节码数据进行识别,包括:基于预设的分词库,利用TF-IDF算法对所述第一中间字节码数据进行特征提取,获得所述待检测网页的特征数据,其中,所述分词库包括对确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据对应的第二中间字节码数据进行分词处理后获得分词数据;利用构建的监督学习算法对所述待检测网页的特征数据进行识别。3.根据权利要求2所述的方法,其特征在于,所述利用TF-IDF算法对所述第一中间字节码数据进行特征提取,包括:将所述第一中间字节码数据进行分词处理,获得所述待检测网页的PHP脚本数据对应的第一分词集合;利用TF-IDF算法计算所述分词库中每个词相对所述第一分词集合的TF-IDF值;将所述TF-IDF值按照相应的词在分词库中的位置进行一一对应,获得由TF-IDF值组成的向量,将该向量作为所述待检测网页的特征向量。4.根据权利要求2或3所述的方法,其特征在于,所述预设的分词库采用下述方式构建:获取确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据,获得样本集合;将所述样本集合中的各脚本数据转换成中间字节码数据,获得各脚本数据对应的第二中间字节码数据;对所述第二中间字节码数据进行分词处理,获得各脚本数据对应的第二分词集合;将所述第二分词集合进行融合处理,获得分词库。5.根据权利要求4所述的方法,其特征在于,所述webshell检测模型采用下述方式训练得到:利用TF-IDF算法计算所述分词库中每个词相对所述第二分词集合的TF-IDF值,获得相应脚本数据的特征向量;利用监督学习算法对所述确定为webshell的PHP脚本数据以及确定为正常的PHP脚本数据所对应的特征向量进行学习,获得webshell检测模型。6.根据权利要求1所述的方法,其特征在于,所述待检测网页的webshell检测结果包括待检测网页是否属于webshell网页或者属于webshell网页的概率。7.一种webshell检测装置,其特征在于,所述装置包括:数据获取模块,用于获取待检测网页的PHP脚本数据对应的第一中间字节码数据;检测模块,用于利用构建的监督学习算法对所述第一中间字节码数据进行识别,获得所述待检测网页的webshell检测结果,其中,所述监督学习算法包括对确定为webshell的PHP脚本数据以及确定为正常...

【专利技术属性】
技术研发人员:俞学浩蔡传智王倩
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京,11

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

1