System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件安全,特别涉及一种移动应用第三方库的检测方法、装置、设备及介质。
技术介绍
1、移动应用开发者通过使用不同功能特性的第三方库,能显著节省开发成本,因此,开发者越来越多地依赖于第三方库的使用。但与此同时,第三方库的使用也给移动应用带来了安全风险,如隐私泄露或增加攻击面。为了提高移动应用的安全性,移动应用开发者需要了解移动应用是否有使用第三方库,进而才能识别和解决使用第三方库可能存在的安全漏洞,从而才能及时更新和修复这些安全漏洞。
2、因此,亟需一种能检测移动应用是否使用第三方库的方案。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种移动应用第三方库的检测方法、装置、设备及介质,能够准确检测出移动应用是否使用了第三方库。其具体方案如下:
2、第一方面,本申请公开了一种移动应用第三方库的检测方法,包括:
3、从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,以得到相应的特征向量匹配关系;
4、基于第一二叉树模型和第二二叉树模型之间的相似度确定所述移动应用使用所述第三方库的目标概率;所述第一二叉树模型基于所述第一特征向量对应的所有源代码文件生成,所述第二二叉树模型基于所述第二特征向量对应的源代码文件生成;
5、若所述目标概率大于预设概率阈值,则判定所述移动应用使用所述第三方库。
6、可选的,在所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第
7、根据对第三方库进行反编译后得到的源代码文件中的目标参数生成的特征向量,构建所述第三方库的特征数据库;
8、根据对移动应用进行反编译后得到的源代码文件中的所述目标参数生成的特征向量,构建所述移动应用的特征数据库;
9、其中,所述目标参数包括关键字、注解或字符串数量中的至少一种。
10、可选的,所述基于第一二叉树模型和第二二叉树模型之间的相似度,确定所述移动应用使用所述第三方库的目标概率,包括:
11、从第二二叉树模型中筛选出满足树形结构相似条件的目标二叉树;
12、将所述目标二叉树对应的文件数值和第一二叉树模型对应的文件数值的比值确定为所述移动应用使用所述第三方库的目标概率;所述文件数值为文件夹数和文件数的和。
13、可选的,所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,包括:
14、针对第三方库的特征数据库中的任意第一特征向量,计算所述第一特征向量与移动应用的特征数据库中各特征向量之间的欧式距离;
15、将最小欧式距离对应的特征向量作为与所述第一特征向量匹配的第二特征向量。
16、可选的,在所述判定所述移动应用使用所述第三方库之后,还包括:
17、基于所述特征向量匹配关系生成不同版本的第三方库与所述移动应用之间的特征匹配向量,并确定相应的最大特征匹配向量;
18、计算各版本对应的特征匹配向量与所述最大特征匹配向量之间的欧式距离,并将欧式距离最小值对应的版本作为所述移动应用使用的库版本。
19、可选的,所述基于所述特征向量匹配关系生成不同版本的第三方库与所述移动应用之间的特征匹配向量,并确定相应的最大特征匹配向量,包括:
20、针对所述移动应用与每一版本的第三方库,基于所述特征向量匹配关系对相匹配的所述第一特征向量和所述第二特征向量构建与每一版本对应的向量映射集合;
21、基于维度值映射规则生成与所述向量映射集合对应的特征匹配向量;
22、从所有版本对应的特征匹配向量中筛选出每一维度的最大值,以基于每一维度的最大值构建最大特征匹配向量。
23、可选的,所述基于维度值映射规则生成与所述向量映射集合对应的特征匹配向量,包括:
24、针对特征向量的同一目标维度,若相匹配的所述第一特征向量和所述第二特征向量在所述目标维度的维度值相同,则将目标向量在所述目标维度的特征值设置为第一预设值,否则设置为第二预设值;其中,所述目标向量与每一组相匹配的所述第一特征向量和所述第二特征向量对应;
25、将每一版本的第三方库对应的所有所述目标向量进行相加,并将相加结果作为所述向量映射集合对应的特征匹配向量。
26、第二方面,本申请公开了一种移动应用第三方库的检测装置,包括:
27、向量匹配模块,用于从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,以得到相应的特征向量匹配关系;
28、概率确定模块,用于基于第一二叉树模型和第二二叉树模型之间的相似度,确定所述移动应用使用所述第三方库的目标概率;所述第一二叉树模型基于所述第一特征向量对应的源代码文件生成,所述第二二叉树模型基于所述第二特征向量对应的源代码文件生成;
29、判定模块,用于若所述目标概率大于预设概率阈值,则判定所述移动应用使用所述第三方库。
30、第三方面,本申请公开了一种电子设备,包括:
31、存储器,用于保存计算机程序;
32、处理器,用于执行所述计算机程序,以实现前述公开的移动应用第三方库的检测方法的步骤。
33、第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的移动应用第三方库的检测方法的步骤。
34、可见,本申请通过从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,以得到相应的特征向量匹配关系;基于第一二叉树模型和第二二叉树模型之间的相似度,确定所述移动应用使用所述第三方库的目标概率;所述第一二叉树模型基于所述第一特征向量对应的所有源代码文件生成,所述第二二叉树模型基于所述第二特征向量对应的源代码文件生成;若所述目标概率大于预设概率阈值,则判定所述移动应用使用所述第三方库。
35、由此可见,本申请中移动应用和第三方库均构建有各自的特征数据库,对于第三方库的特征数据库中的各第一特征向量,需要从移动应用的特征数据库中筛选出与之匹配的第二特征向量,并得到相应的特征向量匹配关系。进一步的,本申请基于第三方库中各第一特征向量对应的所有源代码文件生成第一二叉树模型,并基于第二特征向量对应的源代码文件生成第二二叉树模型,通过计算第一二叉树模型和第二二叉树模型之间的相似度可以确定移动应用使用第三方库的目标概率。若目标概率大于预设概率阈值,则确定移动应用使用了第三方库。如此一来,本申请通过分别构建第三方库和移动应用的二叉树模型,并计算二叉树模型之间相似度的方式,能够准确检测出移动应用是否使用了第三方库。
本文档来自技高网...【技术保护点】
1.一种移动应用第三方库的检测方法,其特征在于,包括:
2.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,在所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量之前,还包括:
3.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,所述基于第一二叉树模型和第二二叉树模型之间的相似度,确定所述移动应用使用所述第三方库的目标概率,包括:
4.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,包括:
5.根据权利要求1至4任一项所述的移动应用第三方库的检测方法,其特征在于,在所述判定所述移动应用使用所述第三方库之后,还包括:
6.根据权利要求5所述的移动应用第三方库的检测方法,其特征在于,所述基于所述特征向量匹配关系生成不同版本的第三方库与所述移动应用之间的特征匹配向量,并确定相应的最大特征匹配向量,包括:
7.根据权利要求6所述的移动应用第三方库的检测方
8.一种移动应用第三方库的检测装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的移动应用第三方库的检测方法的步骤。
...【技术特征摘要】
1.一种移动应用第三方库的检测方法,其特征在于,包括:
2.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,在所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量之前,还包括:
3.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,所述基于第一二叉树模型和第二二叉树模型之间的相似度,确定所述移动应用使用所述第三方库的目标概率,包括:
4.根据权利要求1所述的移动应用第三方库的检测方法,其特征在于,所述从移动应用的特征数据库中筛选出与第三方库的特征数据库中各第一特征向量匹配的第二特征向量,包括:
5.根据权利要求1至4任一项所述的移动应用第三方库的检测方法,其特征在于,在所述...
【专利技术属性】
技术研发人员:高鹏,
申请(专利权)人:长沙市英威腾电气技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。