软件开发工具包漏洞检测方法、系统和存储介质技术方案

技术编号:34761184 阅读:8 留言:0更新日期:2022-08-31 19:00
本公开提出一种软件开发工具包漏洞检测方法、系统和存储介质,涉及信息安全技术领域。本公开的一种软件开发工具包漏洞检测方法包括:获取目标SDK的特征信息;根据特征信息,基于深度学习算法,获取漏洞分析结果,漏洞分析结果为有漏洞或无漏洞;其中,深度学习模型为基于深度学习算法和损失函数,采用样本SDK的特征信息和已知的漏洞存在状态训练生成。通过这样的方法,能够通过特征提取和深度神经网络分析的方式判断SDK中是否具有漏洞,无需依赖于漏洞库的更新,提高SDK漏洞发现的灵活度和及时性,提高SDK漏洞检测的准确度。提高SDK漏洞检测的准确度。提高SDK漏洞检测的准确度。

【技术实现步骤摘要】
软件开发工具包漏洞检测方法、系统和存储介质


[0001]本公开涉及信息安全
,特别是一种软件开发工具包漏洞检测方法、系统和存储介质。

技术介绍

[0002]随着应用软件数量的增多,以及应用开发的复杂性增加,越来越多的开发者会选择在开发过程中使用第三方SDK(Software Development Kit,软件开发工具包)来辅助开发。随着第三方SDK的广泛使用,其安全危险性也日益突出,一旦某一SDK存在安全漏洞,那集成该SDK的APP的安全问题也不可避免。与此同时,开发者在选择第三方SDK时更多的关注功能本身,容易忽略第三方SDK的安全性,再加上第三方SDK提供商提供给开发者的信息也只是接口配置等信息,开发者对SDK的安全性也无从知晓。
[0003]目前普遍的SDK漏洞检测方法是基于静态分析的方法,主要是依据SDK漏洞库的单一匹配,例如利用SDK黑名单、SDK代码与漏洞库进行匹配等方法,缺乏灵活性,并且依赖漏洞库的更新。

技术实现思路

[0004]本公开的一个目的在于提高SDK漏洞检测的准确度和灵活性。
[0005]根据本公开的一些实施例的一个方面,提出一种软件开发工具包漏洞检测方法,包括:获取目标SDK的特征信息;根据特征信息,基于深度学习模型,获取漏洞分析结果,漏洞分析结果为有漏洞或无漏洞;其中,深度学习模型为基于深度学习算法和损失函数,采用样本SDK的特征信息和已知的漏洞存在状态训练生成。
[0006]在一些实施例中,特征信息包括目标软件的权限特征、接口类特征、代码特征和程序函数库文件特征。
[0007]在一些实施例中,获取目标SDK的特征信息包括:通过反向编译目标SDK,获取全局配置文件、源代码和程序函数库文件特征;基于预存权限字典,根据全局配置文件获取权限特征;从源代码中,通过代码关键字匹配获取接口类特征和代码特征。
[0008]在一些实施例中,根据特征信息,基于深度学习模型,获取漏洞分析结果包括:将获取的每项特征进行预处理,获取数值特征,并生成特征矩阵;根据特征矩阵生成灰度图像;将灰度图像输入深度学习模型中,获取漏洞分析结果。
[0009]在一些实施例中,将获取的每项特征进行预处理,获取数值特征,并生成特征矩阵包括:将代码特征进行布尔特征处理,获取代码数值特征,包括:通过预定第一长度的预定二进制数标识存在对应的代码特征,代码数值特征的维数与代码特征的种类数量相匹配;将权限特征进行one

hot(一位有效)编码,获取权限数值特征,包括:通过对应二进制位的值标识目标SDK是否要求对应权限,其中,每一个二进制位对应一种权限种类,编码后的二进制位数与预定权限种类相匹配;根据接口类特征获取接口数值特征,包括:通过预定第二长度的二进制数代表每项API出现的次数,生成与预定接口的数量相匹配的预定第二长度
的二进制数;将代码数值特征、权限数值特征和接口数值特征,结合程序函数库文件特征,生成特征矩阵。
[0010]在一些实施例中,深度学习模型中包括Attention(注意力)机制。
[0011]在一些实施例中,损失函数为focalloss(焦点损失)函数。
[0012]在一些实施例中,focal loss函数为:
[0013][0014]其中,Loss
fl
为损失函数值,α为平衡因子,y为深度学习模型的输出结果,y

为深度学习模型经过激活函数的输出,γ为可调因子。
[0015]在一些实施例中,SDK漏洞检测方法还包括:构建包括Attention机制的基于深度学习算法的模型和损失函数;结合损失函数,利用样本SDK的特征信息和样本SDK的已知的漏洞存在状态训练构建的模型,更新模型参数,直至达到预定训练次数或准确度达到预定值,获取深度学习模型。
[0016]通过这样的方法,能够通过特征提取和深度神经网络分析的方式判断SDK中是否具有漏洞,无需依赖于漏洞库的更新,提高SDK漏洞发现的灵活度和及时性,提高SDK漏洞检测的准确度。
[0017]根据本公开的一些实施例的一个方面,提出一种软件开发工具包漏洞检测系统,包括:特征获取单元,被配置为获取目标软件开发工具包SDK的特征信息;漏洞分析单元,被配置为根据特征信息,基于深度学习模型获取漏洞分析结果,漏洞分析结果为有漏洞或无漏洞;其中,深度学习模型为基于深度学习算法和损失函数,采用样本SDK的特征信息和已知的漏洞存在状态训练生成。
[0018]在一些实施例中,漏洞分析单元包括:预处理子单元,被配置为将获取的每项特征进行预处理,获取数值特征,并生成特征矩阵;根据特征矩阵生成灰度图像;其中,特征信息包括目标软件的权限特征,接口类特征、代码特征和程序函数库文件特征;深度学习单元,被配置为基于深度学习模型根据灰度图像获取漏洞分析结果。
[0019]在一些实施例中,SDK漏洞检测系统还包括:损失函数单元,被配置为在根据样本SDK的特征信息和已知的漏洞存在状态训练基于深度学习算法构建的模型的过程中,确定深度学习模型的训练效果,以便深度学习单元修改模型参数,直至达到预定训练次数或准确度达到预定值。
[0020]根据本公开的一些实施例的一个方面,提出一种软件开发工具包漏洞检测系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上文中任意一种SDK漏洞检测方法。
[0021]这样的SDK漏洞检测系统能够通过特征提取和深度神经网络分析的方式判断SDK中是否具有漏洞,无需依赖于漏洞库的更新,提高SDK漏洞发现的灵活度和及时性,提高SDK漏洞检测的准确度。
[0022]根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种SDK漏洞检测方法的步骤。
[0023]通过执行这样的存储介质上的指令,能够通过特征提取和深度神经网络分析的方式判断SDK中是否具有漏洞,无需依赖于漏洞库的更新,提高SDK漏洞发现的灵活度和及时
性,提高SDK漏洞检测的准确度。
附图说明
[0024]此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
[0025]图1为本公开的SDK漏洞检测方法的一些实施例的流程图。
[0026]图2A为本公开的SDK漏洞检测方法的另一些实施例的流程图。
[0027]图2B为本公开的SDK漏洞检测方法中特征预处理的一些实施例的示意图。
[0028]图2C为本公开的SDK漏洞检测方法中深度学习模型的一些实施例的示意图。
[0029]图3A为本公开的SDK漏洞检测方法的又一些实施例的流程图。
[0030]图3B为本公开的SDK漏洞检测方法中损失函数可调因子选择的一些实施例的示意图。
[0031]图3C为本公开的SDK漏洞检测方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件开发工具包漏洞检测方法,包括:获取目标软件开发工具包SDK的特征信息;根据所述特征信息,基于深度学习模型,获取漏洞分析结果,所述漏洞分析结果为有漏洞或无漏洞;其中,所述深度学习模型为基于深度学习算法和损失函数,采用样本SDK的特征信息和已知的漏洞存在状态训练生成。2.根据权利要求1所述的方法,其中,所述特征信息包括所述目标软件的权限特征,接口类特征、代码特征和程序函数库文件特征。3.根据权利要求2所述的方法,其中,获取目标SDK的特征信息包括:通过反向编译所述目标SDK,获取全局配置文件、源代码和所述程序函数库文件特征;基于预存权限字典,根据所述全局配置文件获取所述权限特征;从所述源代码中,通过代码关键字匹配获取所述接口类特征和所述代码特征。4.根据权利要求2或3所述的方法,其中,所述根据所述特征信息,基于深度学习模型,获取漏洞分析结果包括:将获取的每项特征进行预处理,获取数值特征,并生成特征矩阵;根据所述特征矩阵生成灰度图像;将所述灰度图像输入所述深度学习模型中,获取所述漏洞分析结果。5.根据权利要求4所述的方法,其中,所述将获取的每项特征进行预处理,获取数值特征,并生成特征矩阵包括:将所述代码特征进行布尔特征处理,获取代码数值特征,包括:通过预定第一长度的预定二进制数标识存在对应的代码特征,所述代码数值特征的维数与所述代码特征的种类数量相匹配;将所述权限特征进行一位有效one

hot编码,获取权限数值特征,包括:通过对应二进制位的值标识所述目标SDK是否要求对应权限,其中,每一个二进制位对应一种权限种类,编码后的二进制位数与预定权限种类相匹配;根据所述接口类特征获取接口数值特征,包括:通过预定第二长度的二进制数代表每项API出现的次数,生成与预定接口的数量相匹配的预定第二长度的二进制数;将所述代码数值特征、权限数值特征和接口数值特征,结合所述程序函数库文件特征,生成特征矩阵。6.根据权利要求1所述的方法,其中,所述深度学习模型中包括注意力Attention机制。7.根据权利要求1所述的方法,其中,所述损失函数为焦点损失focal l...

【专利技术属性】
技术研发人员:何晔江坤虞珍妮
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1