[发明专利]一种恶意脚本代码检测方法及装置在审
申请号: | 202010347374.6 | 申请日: | 2020-04-28 |
公开(公告)号: | CN112989337A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 陈甲 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 恶意 脚本 代码 检测 方法 装置 | ||
1.一种恶意脚本代码检测方法,其特征在于,所述方法包括:
获取待检测的脚本文件,所述脚本文件中包含第一代码段;
根据至少一个代码转换规则,对所述第一代码段中的代码进行转换,基于转换结果得到第一检测样本,所述至少一个代码转换规则包括第一转换规则,所述第一转换规则包括将第一变量名转换为第一值、且将第二变量名转换为所述第一值,所述第一变量名与所述第二变量名不同;
将所述第一检测样本与恶意脚本特征库中的多个恶意特征进行匹配,确定匹配中的第一恶意特征,所述第一恶意特征同时存在于所述恶意脚本特征库和所述第一检测样本中,所述第一恶意特征是根据所述至少一个代码转换规则对第一已知恶意代码转换得到的;
根据匹配中的第一恶意特征,确定所述待检测的脚本文件中存在恶意代码。
2.根据权利要求1所述的恶意脚本代码检测方法,其特征在于,所述至少一个代码转换规则还包括第二转换规则,
所述第二转换规则包括将第一操作符转换为第二值、且将第二操作符转换为第三值,所述第一操作符和所述第二操作符均用于对常量或变量执行运算,所述第一操作符与所述第二操作符不同。
3.根据权利要求1或2所述的恶意脚本代码检测方法,其特征在于,所述至少一个代码转换规则还包括第三转换规则,
所述第三转换规则包括第一函数名转换后内容不变,所述第一函数名属于预定敏感函数名集合中的函数名;或者将第二函数名转换为第一值,所述第二函数名不属于所述预定敏感函数名集合中的函数名。
4.根据权利要求1或2所述的恶意脚本代码检测方法,其特征在于,所述至少一个代码转换规则还包括第四转换规则,
所述第四转换规则包括:
在所述第一变量名的赋值和所述第二变量名的赋值均为字符串时,将所述第一变量名的赋值转换为第四值,将所述第二变量名的赋值转换为所述第四值;或
在所述第一变量名的赋值和所述第二变量名的赋值均为数值时,将所述第一变量名的赋值转换为第五值,将所述第二变量名的赋值转换为所述第五值。
5.根据权利要求4所述的恶意脚本代码检测方法,其特征在于,所述至少一个代码转换规则还包括第五转换规则,
所述第五转换规则包括:在所述第一变量名的赋值为不可见字符串时,将所述第一变量名的赋值加入所述第一检测样本中。
6.根据权利要求4所述的恶意脚本代码检测方法,其特征在于,所述至少一个代码转换规则还包括第六转换规则;
所述第六转换规则包括:在所述第二变量名的赋值为可见字符串时,按照预定编码格式将所述第二变量名的赋值转换为第一字符串,并将所述第一字符串加入所述第一检测样本中。
7.根据权利要求4所述的恶意脚本代码检测方法,其特征在于,所述第一值、所述第二值、所述第三值、所述第四值和所述第五值均为八进制、十进制或十六进制的数值。
8.根据权利要求1至7中任一项所述的恶意脚本代码检测方法,其特征在于,获取待检测的脚本文件以前,所述方法还包括:
获取恶意脚本文件集合,所述恶意脚本文件集合包括一个或多个恶意脚本文件;
在所述恶意脚本文件集合中选择一个恶意脚本文件,对被选中的恶意脚本文件按照以下方式进行处理,直到按照以下方式处理完所述恶意脚本文件集合中的每个恶意脚本文件为止:
根据所述至少一个代码转换规则,对所述被选中的恶意脚本文件的代码段中的代码进行转换,基于转换结果得到恶意特征样本;
将所述得到的恶意特征样本作为一个恶意特征加入所述恶意脚本特征库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010347374.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种显示背板、显示装置和显示背板制作方法
- 下一篇:印刷电路板