【技术实现步骤摘要】
一种基于交叉指纹分析的公共组件库精确版本识别方法及系统
[0001]本专利技术属于网络安全
,尤其涉及一种基于交叉指纹分析的公共组件库精确版本识别方法及系统。
技术介绍
[0002]现有的公共组件库检测技术,根据检测的精度和速度差异,主要包括白名单、相似性检测、聚类以及机器学习等方法。
[0003]基于白名单的公共组件库检测技术,常用的方法是人工辅助创建一个使用组件名称构成的数据库,通过比较目标文件名与数据库中的组件名,确定应用程中是否含有公共组件库。使用特征单一且基础,所以该技术检测速度非常快,但是存在两个明显的缺陷:1)组件种类覆盖率低;2)不能对抗含有名称混淆的程序。
[0004]相似性检测的检测技术需要对构建指纹特征库的数据源有先验的了解,即可先验数据源。其步骤通常为:1)获取源数据并从中提取指定的一个或一组特征; 2)提取的特征进行数据清洗,删除特征中冗余数据并赋予每种特征不同的权重,组构建指纹特征库;3)从目标文件中提取指定的特征组,使用相似度匹配算法计算目标文件与特征库中指纹的相似度,并给匹配结果。
[0005]聚类检测技术常用做法是,确定聚类所使用的特征,使用特征对解耦后的模块文件进行聚类识别,然后将识别的特征和结果存放到数据库中作为特征匹配的数据源,进而对目标文件进行识别。使用聚类技术存在以下前提:1)在无法明确主程序的情况下默认,解耦所获得的所有模块文件均为具有潜在危险的第三方组件;2)聚类处理的应用越多,数据库中的结果就越具备权威性,所以使用聚类方法的数据源通常具有 ...
【技术保护点】
【技术特征摘要】
1.一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,包括:公共组件特征指纹数据库的构建;包括:通过爬虫爬取开源平台以及公共组件库官网中的所有公共组件库历史版本的源代码;提取源代码中不同版本公共组件库的字符串常量及导出函数列表,将字符串常量划分成版权信息、调试信息、函数名以及其他字符常量,将导出函数列表及清洗过的字符串常量作为指纹数据存储到特征指纹数据库中;将特征指纹数据库中的指纹数据作为主体指纹,并提取收集到的真实环境中编译后的二进制公共组件库中对应的指纹数据,使用二进制公共组件库的指纹数据对特征指纹数据库进行反向增强训练;对目标公共组件库进行版本匹配识别;包括:从目标二进制公共组件库中提取字符串常量以及导出函数列表,将清洗过的目标二进制公共组件库的字符串常量以及导出函数列表与特征指纹数据库中的数据进行匹配,通过导出函数列表判断待识别公共组件库的种类,通过带权重的字符串常量匹配公共组件库的精确版本,并输出最终的识别结果。2.根据权利要求1所述的一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,按照如下方式对字符串常量进行划分:提取源代码中所有的非注释可打印字符串,并把其中带有copyright、库名和版本组合的字符串定义为版权信息,将代码中含有error、debug、warning调试特征的字符串定义为调试信息,并提取源代码中所有的函数名,其余字符串归类为其他字符常量。3.根据权利要求1所述的一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,按照如下方式对导出函数列表进行提取:对于存在导出函数关键字的情况,使用类预处理的方式加载所有可能存在关键字的文件,然后进行宏定义消除,找到公共组件库的导出函数列表;对于不存在导出函数关键字的情况,通过构造正则表达式进行导出函数列表的提取。4.根据权利要求1所述的一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,按照如下方式对字符串常量进行清洗:删除源代码和二进制代码中提取出的长度小于12的字符串。5.根据权利要求1所述的一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,通过导出函数列表判断组件库的种类,匹配规则如下:M(EFPools,EF
(target)
)=Candidate_class
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中M()表示匹配函数,Candidate_class表示同类别版本相近的公共组件库,EFPools表示以类为单位的导出函数列表池,EF(target)表示目标二进制公共组件库中的导出函数列表,EF(Candidate_class_n)表示Candidate_class中第n个候选公共组件库的导出函数列表,EF_Similarity表示目标二进制公共组件库中的导出函数列表与特征指纹数据库中第n个候选公共组件库的导出函数列表的相似度。6.根据权利要求1所述的一种基于交叉指纹分析的公共组件库精确版本识别方法,其特征在于,在进行公共组件库的精确版本识别时,使用字符串常量的特征作为匹配特征,赋予不同类型...
【专利技术属性】
技术研发人员:武泽慧,魏强,王新蕾,郭威,周国淼,王允超,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。