System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络安全,具体而言,涉及一种恶意网页文件的检测方法及装置、电子设备、存储介质。
技术介绍
1、webshell是一种以网页文件形式存在的代码执行环境,黑客可以通过webshell远程控制服务器,以进行窃取敏感数据、上传恶意软件或后门程序等恶意活动,给网站服务器以及整个网络空间带来灾难性的后果,尽可能准确的检测webshell文件对于维护网络安全非常重要。
2、相关技术中,对webshell文件进行检测的方法包括基于特征匹配、基于语义分析、基于机器学习、基于动态执行等方式的检测,其中,基于动态执行需要构建程序模拟运行的环境,额外的服务器资源分配会对性能有一定影响,基于特征匹配、语义分析、神经网络等静态检测方法容易被代码混淆变形的手段绕过,而基于机器学习通过提取代码特征训练机器学习模型执行检测的方法面对代码混淆变形的情况时检测效果更好,但是从单一维度从代码中提取的单一特征进行检测的检测效果有限,无法准确识别包含恶意代码执行环境的webshell网页文件。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供了一种恶意网页文件的检测方法及装置、电子设备、存储介质,以至少解决相关技术中现有webshell检测技术的检测方式过于单一,导致检测性能有限、无法准确识别恶意网页文件的技术问题。
2、根据本专利技术实施例的一个方面,提供了一种恶意网页文件的检测方法,包括:接收待检测的目标网页文件,并对所述目标网页文
3、可选地,对所述目标网页文件中的文件代码进行特征提取,得到统计特征向量的步骤,包括:统计所述文件代码中每个代码字符的出现次数,并基于所述出现次数计算每个所述代码字符的出现概率;基于所有所述代码字符的所述出现概率计算所述目标网页文件对应的相关性信息,其中,所述相关性信息包括信息熵和/或基尼系数;通过分行算法获取所述文件代码的代码行最大长度,并通过分词算法获取该文件代码的分词结果中的词最大长度值;对所述文件代码在预设危险关键字符集合中进行关键字符匹配,得到所述文件代码中匹配成功的代码字符的字符个数;以所述目标网页文件对应的所述相关性信息、所述代码行最大长度、所述词最大长度值和所述字符个数作为向量元素,生成所述目标网页文件的所述统计特征向量。
4、可选地,对所述目标网页文件中的文件代码进行特征提取,得到抽象语法树特征向量的步骤,包括:对所述目标网页文件中的文件代码进行编译,得到该目标网页文件对应的服务端程序文件;提取所述服务端程序文件中的代码的抽象语法树,并获取所述抽象语法树的节点信息和图结构信息;对于所述抽象语法树中的每个节点,基于预设词嵌入策略和所述节点的所述节点信息生成该节点的第一节点表征向量,并基于预设图节点嵌入策略和所述图结构信息生成该节点的第二节点表征向量;对每个所述节点的所述第一节点表征向量和所述第二节点表征向量进行向量融合,得到该节点的第三节点表征向量;对所述抽象语法树中所有所述节点的所述第三节点表征向量进行向量融合,得到所述抽象语法树特征向量。
5、可选地,所述恶意网页文件的检测方法还包括:在未成功提取出所述抽象语法树的情况下,控制所述第二预设模型输出指定概率值。
6、可选地,在所述第二预设模型输出指定概率值之后,还包括:基于所述第一概率值和所述指定概率值中的最大概率值是否大于第一预设阈值,确定所述目标网页文件是否为恶意网页文件;或者,基于所述第一概率值与所述指定概率值的加权计算结果是否大于第二预设阈值,确定所述目标网页文件是否为恶意网页文件。
7、可选地,所述恶意网页文件的检测方法还包括:在成功提取出所述抽象语法树的情况下,通过预设加权系数集合对所述第一预设模型输出的所述第一概率值和所述第二预设模型输出的所述第二概率值进行加权计算;在所述第一概率值与所述第二概率值的加权计算结果大于第三预设阈值的情况下,确定所述目标网页文件为所述恶意网页文件;或者,在所述第一概率值与所述第二概率值的加权计算结果小于或等于所述第三预设阈值的情况下,确定所述目标网页文件不是所述恶意网页文件。
8、可选地,在接收待检测的目标网页文件之后,还包括:依据正则匹配算法定位所述目标网页文件中的代码注释字段、换行字符以及空格字符;删除定位到的所述代码注释字段、所述换行字符以及所述空格字符,得到所述文件代码。
9、根据本专利技术实施例的另一方面,还提供了一种恶意网页文件的检测装置,包括:特征提取单元,用于接收待检测的目标网页文件,并对所述目标网页文件中的文件代码进行特征提取,得到统计特征向量和抽象语法树特征向量;第一获取单元,用于将所述统计特征向量输入至第一预设模型中进行处理,获得所述目标网页文件被所述第一预设模型认定为恶意网页文件的第一概率值;第二获取单元,用于将所述抽象语法树特征向量输入至第二预设模型中进行处理,获得所述目标网页文件被所述第二预设模型认定为所述恶意网页文件的第二概率值;确定单元,用于基于所述第一概率值和所述第二概率值,确定所述目标网页文件是否为恶意网页文件。
10、可选地,所述特征提取单元包括:统计模块,用于统计所述文件代码中每个代码字符的出现次数,并基于所述出现次数计算每个所述代码字符的出现概率;计算模块,用于基于所有所述代码字符的所述出现概率计算所述目标网页文件对应的相关性信息,其中,所述相关性信息包括信息熵和/或基尼系数;获取模块,用于通过分行算法获取所述文件代码的代码行最大长度,并通过分词算法获取该文件代码的分词结果中的词最大长度值;匹配模块,用于对所述文件代码在预设危险关键字符集合中进行关键字符匹配,得到所述文件代码中匹配成功的代码字符的字符个数;第一生成模块,用于以所述目标网页文件对应的所述相关性信息、所述代码行最大长度、所述词最大长度值和所述字符个数作为向量元素,生成所述目标网页文件的所述统计特征向量。
11、可选地,所述特征提取单元还包括:编译模块,用于对所述目标网页文件中的文件代码进行编译,得到该目标网页文件对应的服务端程序文件;提取模块,用于提取所述服务端程序文件中的代码的抽象语法树,并获取所述抽象语法树的节点信息和图结构信息;第二生成模块,用于对于所述抽象语法树中的每个节点,基于预设词嵌入策略和所述节点的所述节点信息生成该节点的第一节点表征向量,并基于预设图节点嵌入策略和所述图结构信息生成该节点的第二节点表征向量;第一融合模块,用于对每个所述节点的所述第一节点表征向量和所述第二节点表征向量进行向量融合,得到该节点的第三节点表征向量;第二融本文档来自技高网...
【技术保护点】
1.一种恶意网页文件的检测方法,其特征在于,包括:
2.根据权利要求1所述的检测方法,其特征在于,对所述目标网页文件中的文件代码进行特征提取,得到统计特征向量的步骤,包括:
3.根据权利要求1所述的检测方法,其特征在于,对所述目标网页文件中的文件代码进行特征提取,得到抽象语法树特征向量的步骤,包括:
4.根据权利要求3所述的检测方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的检测方法,其特征在于,在所述第二预设模型输出指定概率值之后,还包括:
6.根据权利要求3所述的检测方法,其特征在于,所述方法还包括:
7.根据权利要求1至6中任一项所述的检测方法,其特征在于,在接收待检测的目标网页文件之后,还包括:
8.一种恶意网页文件的检测装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的恶意网页文件的检测方法。
10
...【技术特征摘要】
1.一种恶意网页文件的检测方法,其特征在于,包括:
2.根据权利要求1所述的检测方法,其特征在于,对所述目标网页文件中的文件代码进行特征提取,得到统计特征向量的步骤,包括:
3.根据权利要求1所述的检测方法,其特征在于,对所述目标网页文件中的文件代码进行特征提取,得到抽象语法树特征向量的步骤,包括:
4.根据权利要求3所述的检测方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的检测方法,其特征在于,在所述第二预设模型输出指定概率值之后,还包括:
6.根据权利要求3所述的检测方法,其特征在于,所述方法还包括:
7.根据权利要求...
【专利技术属性】
技术研发人员:马岩,申勇,万朝华,韦云川,龚左叶,
申请(专利权)人:山石网科通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。