一种webshell检测方法和装置制造方法及图纸

技术编号:26650792 阅读:17 留言:0更新日期:2020-12-09 00:51
本申请实施例公开了一种webshell检测方法和装置,该方法包括:获取待检测脚本文件,并提取所述待检测脚本文件的文件特征;所述文件特征包括:脚本语义特征和加密混淆特征;获取预先训练好的用于区分脚本是否恶意的脚本分类器;将提取所述文件特征后的待检测脚本文件输入所述脚本分类器,并根据所述脚本分类器的输出结果判断所述待检测脚本文件是正常网页脚本或webshell恶意脚本;其中,所述脚本分类器是以进行文件特征提取后的多个脚本文件作为训练样本集和测试样本集,对创建的xgboost模型进行训练获得的。通过该实施例方案,提高了检测效率,降低了误报率和漏报率。

【技术实现步骤摘要】
一种webshell检测方法和装置
本文涉及网络安全技术,尤指一种webshell检测方法和装置。
技术介绍
Webshell是网站入侵的脚本攻击工具,是一种可以在网站web服务器上执行的后台脚本或者命令执行环境,大部分以php(php是一种易于学习和使用的服务器端脚本语言)、asp(asp可以用来创建和运行动态网页或Web应用程序)、aspx(aspx文件是微软的在服务器端运行的动态网页文件,用于开发Web应用程序的类库)、jsp(jsp也是一种动态网页技术标准)、jspx(jspx是一个来自于埃及的javaweb快速开发框架)等网页脚本的形式存在。黑客通过入侵网站上传webshell,获取服务器的执行操作权限,执行系统命令、窃取用户数据、修改网页信息等恶意操作,使用户服务器的安全受到严重威胁。因此,对webshell的有效检测,对用户服务器的安全以及用户信息的安全都具有非常重要的意义。目前存在两种webshell的检测方法,一种是动态检测方法,另一种是静态检测方法:1、动态检测方法即执行webshell脚本,捕获脚本动态行为特征,利用该特征判断脚本是否恶意。该方法检测结果准确性较高,但需要配置相应执行环境,存在部署代价高且执行效率较低等缺点。2、相较于动态检测方法,基于规则的静态检测方法检测速度提升很多,但由于静态检测方法主要是基于特征代码匹配的静态检测和基于统计特征的静态检测,其中基于特征代码匹配的静态检测方法由于大部分只能检测已知威胁,所以漏报较高,而基于统计特征的静态检测方法由于特征不充分,缺乏脚本语义等特征,所以误报较高。因此,目前的静态检测存在对未知威胁漏报、规则需要不断更新以及统计特征不充分导致误报高等诸多缺点。
技术实现思路
本申请实施例提供了一种webshell检测方法和装置,能够提高检测效率,降低误报率和漏报率。本申请实施例提供了一种webshell检测方法,所述方法可以包括:获取待检测脚本文件,并提取所述待检测脚本文件的文件特征;所述文件特征包括:脚本语义特征和加密混淆特征;获取预先训练好的用于区分脚本是否恶意的脚本分类器;将提取所述文件特征后的待检测脚本文件输入所述脚本分类器,并根据所述脚本分类器的输出结果判断所述待检测脚本文件是正常网页脚本或webshell恶意脚本;其中,所述脚本分类器是以进行文件特征提取后的多个脚本文件作为训练样本集和测试样本集,对创建的xgboost模型进行训练获得的。在本申请的示例性实施例中,所述提取所述待检测脚本文件的文件特征可以包括:对所述待检测脚本文件进行预处理,并采用预设的向量空间模型VSM对预处理后的待检测脚本文件进行向量空间表示;对预处理后的待检测脚本文件和向量空间表示后的待检测脚本文件提取文件特征。在本申请的示例性实施例中,所述对所述待检测脚本文件进行预处理可以包括:文本代码切分和/或去除冗余信息;所述冗余信息包括:标点符号和/或非美国标准信息交换代码ascii码字符。在本申请的示例性实施例中,所述采用预设的向量空间模型VSM对预处理后的待检测脚本文件进行向量空间表示可以包括:将对每个待检测脚本文件预处理后得到的每一个元素作为该待检测脚本文件对应的向量空间中的一维,将每个待检测脚本文件表示成一个多维的特征向量,并使用预设的权重算法计算每个待检测脚本文件中每个元素的权重。在本申请的示例性实施例中,所述权重算法可以为词频-逆文档频率TF-IDF算法。在本申请的示例性实施例中,所述对预处理后的待检测脚本文件和向量空间表示后的待检测脚本文件提取文件特征可以包括:对预处理后的待检测脚本文件提取所述加密混淆特征;其中,所述加密混淆特征包括以下任意一种或多种:最长字符串长度、信息熵以及压缩比;以及,对向量空间表示后的待检测脚本文件提取所述脚本语义特征。在本申请的示例性实施例中,所述对向量空间表示后的待检测脚本文件提取所述脚本语义特征可以包括:使用潜在语义分析算法对所述向量空间表示后的待检测脚本文件挖掘脚本语义信息;根据所述脚本语义信息和奇异值分解SVD算法将所述向量空间表示后的待检测脚本文件的向量空间转换为潜在语义索引LSI空间。在本申请的示例性实施例中,所述获取预先训练好的用于区分脚本是否恶意的脚本分类器可以包括:调取预先存储的脚本分类器;或者,直接基于多个脚本文件和xgboost模型创建所述脚本分类器。在本申请的示例性实施例中,所述直接基于多个脚本文件和xgboost模型创建所述脚本分类器可以包括:对作为样本的多个脚本文件进行预处理,并采用预设的向量空间模型对预处理后的脚本文件进行向量空间表示;对预处理后的脚本文件和向量空间表示后的脚本文件提取所述文件特征;将进行文件特征提取后的脚本文件分为训练样本集和测试样本集;采用所述训练样本集对所述xgboost模型进行训练,并采用所述测试样本集对训练好的xgboost模型进行测试,以获取所述脚本分类器。在本申请的示例性实施例中,所述采用所述训练样本集对所述xgboost模型进行训练可以包括步骤1-5:1、初始化所述训练样本集中每个样本的预测值;2、计算预设的损失函数对于每个样本得预测值的导数;3、根据所述导数建立新的决策树;4、利用所述新的决策树预测每个样本的样本值,并将预测的样本值累加到该样本原来的样本值之上;5、循环迭代步骤2~4,创建决策树,直至满足预设的停止条件,实现对所述xgboost模型的训练。在本申请的示例性实施例中,所述对作为样本的多个脚本文件进行预处理可以包括:文本代码切分和/或去除冗余信息;所述冗余信息包括:标点符号和/或非美国标准信息交换代码ascii码字符;所述采用预设的向量空间模型对预处理后的脚本文件进行向量空间表示包括:将对每个脚本文件预处理后得到的每一个元素作为该脚本文件对应的向量空间中的一维,将每个脚本文件表示成一个多维的特征向量,并使用TF-IDF算法计算每个脚本文件中每个元素的权重。在本申请的示例性实施例中,所述对预处理后的脚本文件和向量空间表示后的脚本文件提取文件特征可以包括:对预处理后的脚本文件提取所述加密混淆特征,对向量空间表示后的脚本文件提取所述脚本语义特征;其中,所述对向量空间表示后的脚本文件提取所述脚本语义特征可以包括:使用潜在语义分析算法对所述向量空间表示后的脚本文件挖掘脚本语义信息,根据所述脚本语义信息将所述向量空间表示后的文件的向量空间转换为LSI空间。本申请实施例还提供了一种webshell检测装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任意一项所述的webshell检测方法。与相关技术相比,本申请实施例可以包括:获取待检测脚本文件,并提取所述待检测脚本文件的文件特征;所述文件特征包括:脚本文档来自技高网
...

【技术保护点】
1.一种webshell检测方法,其特征在于,所述方法包括:/n获取待检测脚本文件,并提取所述待检测脚本文件的文件特征;所述文件特征包括:脚本语义特征和加密混淆特征;/n获取预先训练好的用于区分脚本是否恶意的脚本分类器;/n将提取所述文件特征后的待检测脚本文件输入所述脚本分类器,并根据所述脚本分类器的输出结果判断所述待检测脚本文件是正常网页脚本或webshell恶意脚本;/n其中,所述脚本分类器是以进行文件特征提取后的多个脚本文件作为训练样本集和测试样本集,对创建的xgboost模型进行训练获得的。/n

【技术特征摘要】
1.一种webshell检测方法,其特征在于,所述方法包括:
获取待检测脚本文件,并提取所述待检测脚本文件的文件特征;所述文件特征包括:脚本语义特征和加密混淆特征;
获取预先训练好的用于区分脚本是否恶意的脚本分类器;
将提取所述文件特征后的待检测脚本文件输入所述脚本分类器,并根据所述脚本分类器的输出结果判断所述待检测脚本文件是正常网页脚本或webshell恶意脚本;
其中,所述脚本分类器是以进行文件特征提取后的多个脚本文件作为训练样本集和测试样本集,对创建的xgboost模型进行训练获得的。


2.根据权利要求1所述的webshell检测方法,其特征在于,所述提取所述待检测脚本文件的文件特征包括:
对所述待检测脚本文件进行预处理,并采用预设的向量空间模型VSM对预处理后的待检测脚本文件进行向量空间表示;
对预处理后的待检测脚本文件和向量空间表示后的待检测脚本文件提取文件特征。


3.根据权利要求2所述的webshell检测方法,其特征在于,所述对所述待检测脚本文件进行预处理包括:文本代码切分和/或去除冗余信息;所述冗余信息包括:标点符号和/或非美国标准信息交换代码ascii码字符。


4.根据权利要求2所述的webshell检测方法,其特征在于,所述采用预设的向量空间模型VSM对预处理后的待检测脚本文件进行向量空间表示包括:
将对每个待检测脚本文件预处理后得到的每一个元素作为该待检测脚本文件对应的向量空间中的一维,将每个待检测脚本文件表示成一个多维的特征向量,并使用预设的权重算法计算每个待检测脚本文件中每个元素的权重。


5.根据权利要求4所述的webshell检测方法,其特征在于,所述权重算法为词频-逆文档频率TF-IDF算法。


6.根据权利要求2所述的webshell检测方法,其特征在于...

【专利技术属性】
技术研发人员:崔彤彤
申请(专利权)人:北京兰云科技有限公司
类型:发明
国别省市:北京;11

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

1