恶意代码包的检测方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:33857652 阅读:67 留言:0更新日期:2022-06-18 10:46
本申请涉及一种恶意代码包的检测方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:根据待检测代码包的属性信息以及开发者的特征信息;计算待检测代码包的包元素维度的第一分数、待检测代码包在开发者信誉维度的第二分数、待检测代码包在代码静态检测维度的第三分数、待检测代码包在代码动态检测维度的第四分数,继而加权计算,得到待检测代码包的目标恶意度评分;如果目标恶意度评分大于或等于预设恶意阈值,则确定待检测代码包为恶意代码包。通过采用上述多个维度的评价分数进行加权计算后得到目标恶意度评分去判断待检测代码包的恶意程度,可以全面地检测代码包中的风险信息,保证代码包恶意检测的准确度。保证代码包恶意检测的准确度。保证代码包恶意检测的准确度。

【技术实现步骤摘要】
恶意代码包的检测方法、装置、计算机设备和存储介质


[0001]本申请涉及网络安全
,特别是涉及一种恶意代码包的检测方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着互联网领域的发展,出现了存储有多个代码包的代码仓库,如,PyPi(PythonPackageIndex)仓库,该仓库是Python的Packag索引(官方索引),也是python程序员常使用的寻找资源包的仓库。很多开源镜像站与该PyPi官方仓库同步。因此,该种仓库的特点是所有人可以在PyPi中下载别人上传的代码包,所有人也可以在PyPi官方仓库中上传自己的代码包供其他使用者进行下载。目前PyPi已经包含大量projects(项目)、文件以及开发者。类似的,还出现了npm(Node Package Manager)仓库,通过npm仓库,用户可以从npm服务器下载别人共享的第三方包本地,用户也可以将自己的包上传到npm供别人使用。
[0003]但是,由于任何人都可以在PyPi仓库和npm仓库上传代码包,同样的,恶意攻击者也可以上传恶意包,则代码包仓库存在安全风险。当使用者下载恶意包并使用后,该恶意包就会在使用者(受害者)的电脑中运行其中的恶意代码,以实现攻击者的恶意目的。因此,需要对公开的代码包仓库中的代码包进行恶意检测。但是,现有的恶意代码包的检测方法一般是依赖于既定检测规则的静态检测,在检测规则不准确时,对代码包的检测也不准确,导致出现漏检或误检。

技术实现思路

[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]获取所述待检测代码包中包含的多个IOC威胁情报指标;
[0029]针对于每一所述IOC,对目标数量的包含所述目标IOC的代码包分别对应的多个目标恶意度评分,进行均值处理,确定所述目标IOC的初始评价分数;
[0030]在所述待检测代码包中包含的多个目标IOC中,将最高的所述初始评价分数作为所述待检测代码包的目标IOC评价分数。
[0031]在其中一个实施例中,所述方法还包括:
[0032]通过将待检测代码包的待输入分数输入至预先训练的评估模型,确定所述待检测代码包的恶意度等级,所述待输入分数包括所述第一分数、所述第二分数、所述第三分数、所述第四分数、所述目标IOC评价分数中的一种或多种。
[0033]在其中一个实施例中,所述获取所述待检测代码包中包含的多个IOC,包括:
[0034]剔除所述多个IOC中符合预设IOC白名单条件的IOC,得到处理后的多个IOC。
[0035]第二方面,本申请还提供了一种恶意代码包的检测装置。所述装置包括:
[0036]获取模块,用于获取待检测代码包的属性信息以及开发者的特征信息;
[0037]第一分数计算模块,用于根据所述待检测代码包的属性信息,计算所述待检测代
码包的包元素维度的第一分数;
[0038]第二分数计算模块,用于通过预设开发者信誉确定算法,根据所述待检测代码包的开发者的特征信息,计算所述待检测代码包在开发者信誉维度的第二分数;
[0039]第三分数计算模块,用于根据预设恶意样本检测规则以及预设恶意操作权重集,计算所述待检测代码包在代码静态检测维度的第三分数;
[0040]第四分数计算模块,用于根据所述待检测代码包对应的执行结果,计算所述待检测代码包在代码动态检测维度的第四分数;
[0041]目标恶意度评分计算模块,用于通过预设加权算法,根据所述第一分数、所述第二分数、所述第三分数以及所述第四分数,计算所述待检测代码包的目标恶意度评分;
[0042]确定模块,用于如果所述目标恶意度评分大于或等于预设恶意阈值,则确定所述待检测代码包为恶意代码包。
[0043]在其中一个实施例中,所述属性信息包括包名称以及开发者标识信息;
[0044]所述第一分数计算模块,具体用于:
[0045]通过预设编辑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恶意代码包的检测方法,其特征在于,所述方法包括:获取待检测代码包的属性信息以及开发者的特征信息;根据所述待检测代码包的属性信息,计算所述待检测代码包的包元素维度的第一分数;通过预设开发者信誉确定算法,根据所述待检测代码包的开发者的特征信息,计算所述待检测代码包在开发者信誉维度的第二分数;根据预设恶意样本检测规则以及预设恶意操作权重集,计算所述待检测代码包在代码静态检测维度的第三分数;根据所述待检测代码包对应的执行结果,计算所述待检测代码包在代码动态检测维度的第四分数;通过预设加权算法,根据所述第一分数、所述第二分数、所述第三分数以及所述第四分数,计算所述待检测代码包的目标恶意度评分;如果所述目标恶意度评分大于或等于预设恶意阈值,则确定所述待检测代码包为恶意代码包。2.根据权利要求1所述的方法,其特征在于,所述属性信息包括包名称以及开发者标识信息;所述根据所述待检测代码包的属性信息,计算所述待检测代码包的包元素维度的第一分数,包括:通过预设编辑距离计算算法,计算所述待检测代码包的包名称与满足预设下载量条件的正常代码包的包名称之间的编辑距离;根据所述编辑距离确定包名相似度分数;根据所述开发者标识信息确定开发者恶意度分数;通过预设包属性评分算法,根据所述属性信息计算包属性恶意分数;对所述包名相似度分数、所述开发者恶意度分数以及所述包属性恶意分数进行加权计算,确定所述待检测代码包在包元素维度的第一分数。3.根据权利要求1所述的方法,其特征在于,所述根据预设恶意样本检测规则以及预设恶意操作权重集,计算所述待检测代码包在代码静态检测维度的第三分数,包括:根据预设恶意样本检测规则对所述待检测代码包进行筛选,确定所述待检测代码包中包含的恶意操作的数量;根据所述待检测代码包中包含的恶意操作的数量及所述预设恶意操作权重集,计算所述待检测代码包在代码静态检测维度的第三分数。4.根据权利要求1所述的方法,其特征在于,所述根据所述待检测代码包对应的执行结果,计算所述待检测代码包在代码动态检测维度的第四分数,包括:在预设沙箱中执行所述待检测代码包,生成执行结果,所述执行结果包括调用文件列表、执行进程列表以及网络通信列表;对所述执行结果中的所述调用文件列表、执行进程列表以及网络通信列表进行筛选,确定满足预设高危操作条件的表项的数量;根据所述满足预设高危操作条件的表项的数量,计算所述待检测代码包在代码动态检测维度的第四分数。
...

【专利技术属性】
技术研发人员:叶敏郭慧军
申请(专利权)人:杭州亿格云科技有限公司
类型:发明
国别省市:

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

1