【技术实现步骤摘要】
第三方库重用检测方法、装置、电子设备和存储介质
[0001]本专利技术涉及数据处理
,尤其涉及一种第三方库重用检测方法、装置、电子设备和存储介质。
技术介绍
[0002]第三方库是现代软件系统的重要组成部分,第三方库在软件开发过程中经常被重用,因此第三方库中存在的漏洞被引入下游软件中,严重危害了下游软件安全。第三方库重用检测技术旨在从目标软件中检测重用的第三方库的代码,从而关联出库重用引入的漏洞威胁,及时修补下游软件漏洞,保障软件供应链安全。
[0003]由于C/C++代码使用不同的编译选项或编译成不同架构的二进制文件,会导致显著差异,因此,如何对C/C++二进制文件的第三方库重用进行检测成为亟需解决的问题。目前,第三方库重用检测方法包括B2SFinder的第三方库重用检测方法和使用二进制函数相似性匹配的技术进行第三方库重用检测方法,但是上述两种方式存在特征单一和粒度不匹配问题,导致漏报和误报,降低第三方库重用检测的准确性。
技术实现思路
[0004]本专利技术提供一种第三方库重用检测方法、装置 ...
【技术保护点】
【技术特征摘要】
1.一种第三方库重用检测方法,其特征在于,包括:对待检测二进制文件和侯选库进行锚点检测,得到多个锚点;对每个所述锚点进行锚点增强,得到每个所述锚点的候选重用区域;调整所述候选重用区域,基于调整结果确定重用分值最高的所述候选重用区域,并将重用分值最高的所述候选重用区域作为第三方库的重用区域。2.根据权利要求1所述的第三方库重用检测方法,其特征在于,所述锚点增强包括锚点对齐和锚点扩展;所述对每个所述锚点进行锚点增强,得到每个所述锚点的候选重用区域,包括:采用锚点对齐算法,对每个所述锚点进行锚点对齐;将对齐后的锚点进行锚点扩展,得到每个对齐后的锚点的候选重用区域。3.根据权利要求2所述的第三方库重用检测方法,其特征在于,所述采用锚点对齐算法,对每个所述锚点进行锚点对齐,包括:采用所述锚点对齐算法遍历每个所述锚点;基于遍历结果将每个所述锚点加入锚点列表中的锚点序列;对相似度大于设定值的锚点序列进行合并,以确定每个所述锚点的最长的锚点序列,并将每个所述锚点的最长的锚点序列作为每个所述锚点的对齐结果。4.根据权利要求2所述的第三方库重用检测方法,其特征在于,所述将对齐后的锚点进行锚点扩展,得到每个对齐后的锚点的候选重用区域,包括:确定所述候选重用区域的重用函数对应的子函数;基于所述重用函数对应的子函数将对齐后的锚点进行锚点扩展,得到每个对齐后的锚点的候选重用区域。5.根据权利要求1所述的第三方库重用检测方法,其特征在于,所述调整所述候选重用区域,包括:确...
【专利技术属性】
技术研发人员:李红,李思远,王勇攀,朱红松,孙利民,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。