脚本检测方法、装置、设备和存储介质制造方法及图纸

技术编号:34255554 阅读:34 留言:0更新日期:2022-07-24 12:35
本申请实施例提供了一种脚本检测方法、装置、设备和存储介质,所述方法包括:获取待检测的目标脚本的目标代码属性图和已知的恶意脚本的恶意代码属性图;针对所述恶意代码属性图确定匹配序列;所述匹配序列中包括恶意代码属性图的所有恶意节点;根据所述恶意代码属性图预处理获取相应父节点信息;所述父节点信息结合了所述匹配序列和所述恶意节点之间的连接信息;根据所述匹配序列和所述父节点信息确定下一匹配节点对,并添加至当前状态空间;当所述当前状态空间满足预设条件时,确定所述恶意脚本与所述目标脚本匹配。本申请实施例基于父节点信息来修剪状态空间,减少了匹配的内容,从而提高脚本匹配正确率、检测效率。检测效率。检测效率。

Script detection method, device, device and storage medium

【技术实现步骤摘要】
脚本检测方法、装置、设备和存储介质


[0001]本申请实施例涉及信息安全
,特别是涉及一种脚本检测方法和装置、一种电子设备和一种存储介质。

技术介绍

[0002]随着计算机技术的不断发展,信息安全越来越受到人们的重视。脚本检测就是用来主动防御发生数据泄漏、数据篡改等安全事件安全的重要方式,对开发人员编写的脚本进行检测,可以在被攻击之前发现异常脚本/恶意脚本,减少损失。
[0003]恶意脚本防护是主机防护的重要方面,相关技术中,恶意脚本主要通过静态检测,常见的静态检测方法主要有基于相似性的检测方法和基于机器学习的检测方法。具体地,基于相似性的检测方法,具体来讲,通过代码表征和代码段级别抽象地描述代码段,然后利用比较待检测的代码段的表征和已知的恶意脚本的表征判断它们的相似性,常见的表征有文本、度量、标记、树和图,其中,基于图的表征包含了语义和语法信息,信息最为全面,表征最为准确。基于机器学习的检测方法,是通过提取代码的属性特征对文本进行分类,从而检测出恶意脚本,常见的属性特征有系统函数调用信息等等,基于机器学习的检测方法的属性特征提取阶段依赖主观经验,需要针对脚本漏洞具体分析,并且检测结果不够直观,错报率较高。
[0004]针对上述检测方法存在的问题,亟需提出一种脚本检测方法,以提高脚本匹配正确率、检测效率,以及检测方法的可扩展性。

技术实现思路

[0005]本申请实施例提供了一种基于子图匹配的脚本检测方法,以解决提高脚本匹配正确率、效率以及可扩展性问题。
[0006]相应的,本申请实施例还提供了一种脚本检测装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
[0007]为了解决上述问题,本申请实施例公开了一种脚本检测方法,所述方法包括:
[0008]获取待检测的目标脚本的目标代码属性图和已知的恶意脚本的恶意代码属性图;所述目标代码属性图包括目标节点和连接所述目标节点的边,所述恶意代码属性图包括恶意节点和连接所述恶意节点的边,其中,节点具有对应的节点信息,边具有对应的边信息;
[0009]针对所述恶意代码属性图确定匹配序列;所述匹配序列中包括恶意代码属性图的所有恶意节点;
[0010]根据所述恶意代码属性图预处理获取相应父节点信息;所述父节点信息结合了所述匹配序列和所述恶意节点之间的连接信息;
[0011]根据所述匹配序列和所述父节点信息确定下一匹配节点对,并添加至当前状态空间;
[0012]当所述当前状态空间满足预设条件时,确定所述恶意脚本与所述目标脚本匹配。
[0013]可选地,所述方法还包括:
[0014]获取待检测的脚本;
[0015]对所述脚本进行混淆转换处理,得到混淆转换后的目标脚本;所述混淆转换处理至少包括变量转换、别名转换、相对路径转换为绝对路径和混淆语义转换。
[0016]可选地,所述针对所述恶意代码属性图确定匹配序列,包括:
[0017]比较所述恶意代码属性图中恶意节点的节点映射度;
[0018]若所述节点映射度相同,则比较所述恶意节点的节点概率;所述节点概率根据节点信息、边信息、节点入度和节点出度生成;
[0019]若所述节点概率相同,则比较恶意节点的节点入度和节点出度;
[0020]通过比较将所述恶意代码属性图中所有恶意节点依次添加至匹配序列中。
[0021]可选地,所述恶意节点的父节点是所述匹配序列中所述恶意节点之前最早出现的相邻节点,根据所述匹配序列和所述恶意父节点信息确定下一匹配节点对,包括:
[0022]获取上一状态空间,所述上一状态空间中包括已匹配节点对,所述已匹配节点对包括上一匹配节点对,所述上一匹配节点对包括上一匹配恶意节点和上一匹配目标节点;
[0023]确定所述上一匹配恶意节点的下一匹配恶意节点,所述下一匹配恶意节点为所述匹配序列中的所述上一匹配恶意节点对应的下一恶意节点;
[0024]确定所述上一匹配目标节点的候选匹配目标节点;所述候选匹配目标节点为所述目标代码图中不在所述上一状态空间中且与所述下一匹配恶意节点的节点信息相同的目标节点;
[0025]当根据所述恶意父节点信息确定所述下一匹配恶意节点的父节点不为空时,若所述下一匹配恶意节点为其父节点的后继节点,则从所述候选匹配目标节点中随机选取所述上一匹配恶意节点对应节点的后继节点且与所述下一匹配恶意节点的节点信息、边信息相同的节点作为下一匹配目标节点;
[0026]当根据所述恶意父节点信息确定所述下一匹配恶意节点的父节点不为空时,若所述下一匹配恶意节点为其父节点的前驱节点,则从所述候选匹配目标节点中随机选取为所述上一匹配恶意节点对应节点的前驱节点且与所述下一匹配恶意节点的节点信息、边信息相同的节点作为下一匹配目标节点;
[0027]将所述下一匹配恶意节点和所述下一匹配目标节点,作为下一匹配节点对添加至上一状态空间,得到当前状态空间。
[0028]可选地,所述方法还包括:
[0029]当根据所述恶意父节点信息确定所述下一匹配恶意节点的父节点为空时,从所述候选匹配目标节点中随机选取节点信息匹配的节点为下一匹配目标节点。
[0030]可选地,所述当所述当前状态空间满足预设条件时,确定所述恶意脚本与所述目标脚本匹配,包括:
[0031]当所述当前状态空间满足预设语义信息规则和预设拓扑结构信息,且所述当前状态空间中的下一匹配恶意节点为所述匹配序列中的最后一个恶意节点,则确定所述恶意脚本与所述目标脚本匹配。
[0032]可选地,所述节点信息包括节点标签,所述边信息包括边标签。
[0033]本申请实施例还公开了一种脚本检测装置,所述装置包括:
[0034]代码属性图获取模块,用于获取待检测的目标脚本的目标代码属性图和已知的恶意脚本的恶意代码属性图;所述目标代码属性图包括目标节点和连接所述目标节点的边,所述恶意代码属性图包括恶意节点和连接所述恶意节点的边,其中,节点具有对应的节点信息,边具有对应的边信息;
[0035]匹配序列确定模块,用于针对所述恶意代码属性图确定匹配序列;所述匹配序列中包括恶意代码属性图的所有恶意节点;
[0036]父节点信息获取模块,用于根据所述恶意代码属性图预处理获取相应父节点信息;所述父节点信息结合了所述匹配序列和所述恶意节点之间的连接信息;
[0037]当前状态空间确定模块,用于根据所述匹配序列和所述父节点信息确定下一匹配节点对,并添加至当前状态空间;
[0038]脚本匹配确定模块,用于当所述当前状态空间满足预设条件时,确定所述恶意脚本与所述目标脚本匹配。
[0039]可选地,所述装置还包括:混淆转换模块,用于获取待检测的脚本;对所述脚本进行混淆转换处理,得到混淆转换后的目标脚本;所述混淆转换处理至少包括变量转换、别名转换、相对路径转换为绝对路径和混淆语义转换。
[0040]可选地,所述匹配序列确定模块,用于比较所述恶意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脚本检测方法,其特征在于,所述方法包括:获取待检测的目标脚本的目标代码属性图和已知的恶意脚本的恶意代码属性图;所述目标代码属性图包括目标节点和连接所述目标节点的边,所述恶意代码属性图包括恶意节点和连接所述恶意节点的边,其中,节点具有对应的节点信息,边具有对应的边信息;针对所述恶意代码属性图确定匹配序列;所述匹配序列中包括恶意代码属性图的所有恶意节点;根据所述恶意代码属性图预处理获取相应父节点信息;所述父节点信息结合了所述匹配序列和所述恶意节点之间的连接信息;根据所述匹配序列和所述父节点信息确定下一匹配节点对,并添加至当前状态空间;当所述当前状态空间满足预设条件时,确定所述恶意脚本与所述目标脚本匹配。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待检测的脚本;对所述脚本进行混淆转换处理,得到混淆转换后的目标脚本;所述混淆转换处理至少包括变量转换、别名转换、相对路径转换为绝对路径和混淆语义转换。3.根据权利要求1所述的方法,其特征在于,所述针对所述恶意代码属性图确定匹配序列,包括:比较所述恶意代码属性图中恶意节点的节点映射度;若所述节点映射度相同,则比较所述恶意节点的节点概率;所述节点概率根据节点信息、边信息、节点入度和节点出度生成;若所述节点概率相同,则比较恶意节点的节点入度和节点出度;通过比较将所述恶意代码属性图中所有恶意节点依次添加至匹配序列中。4.根据权利要求1所述的方法,其特征在于,所述恶意节点的父节点是所述匹配序列中所述恶意节点之前最早出现的相邻节点,根据所述匹配序列和所述恶意父节点信息确定下一匹配节点对,包括:获取上一状态空间,所述上一状态空间中包括已匹配节点对,所述已匹配节点对包括上一匹配节点对,所述上一匹配节点对包括上一匹配恶意节点和上一匹配目标节点;确定所述上一匹配恶意节点的下一匹配恶意节点,所述下一匹配恶意节点为所述匹配序列中的所述上一匹配恶意节点对应的下一恶意节点;确定所述上一匹配目标节点的候选匹配目标节点;所述候选匹配目标节点为所述目标代码图中不在所述上一状态空间中且与所述下一匹配恶意节点的节点信息相同的目标节点;当根据所述恶意父节点信息确定所述下一匹配恶意节点的父节点不为空时,若所述下一匹配恶意节点为其父节点的后继节点,则从所述候选匹配目标节点中随机选取所述上一匹配恶意节点对应节点的后继节点且与所述下一匹配恶意节点的节点信息、边信息相同的节点作为下一匹配目标节点;当根据...

【专利技术属性】
技术研发人员:于洪潮王建刘抚狄徐鑫
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1