(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211025673.3
(22)申请日 2022.08.25
(71)申请人 软安科技有限公司
地址 610000 四川省成 都市高新区交子大
道233号19层1904
(72)发明人 王富杰
(74)专利代理 机构 成都言成诺知识产权代理事
务所(特殊普通 合伙) 51314
专利代理师 张川
(51)Int.Cl.
G06F 21/62(2013.01)
G06F 21/64(2013.01)
G06K 9/62(2022.01)
(54)发明名称
一种签名检测文件及文件树识别开源组件
的方法及系统
(57)摘要
本发明涉及一种签名检测文件及文件树识
别开源组件的方法及系统, 包括: 通过签名加密
算法将开源组件提取的特征信息签名进行加密
计算后得到多个特征值, 并将这多个特征值作为
每个开源组件的唯一签名信息; 将每个开源组件
计算出的多个特征值与对应的开源组件关联并
存入到数据库中作为知 识库; 对待扫描的项目进
行解析扫描, 获取项目的所有节 点的特征信息结
果; 对每个节点进行匹配, 得到匹配结果; 从 匹配
结果中筛选出准确的开源组件。 本发明识别率
高, 体现在对于即使不是完全引用的开源组件,
也能识别扫描出来, 只要引用的内容包含开源组
件的节点特征信息, 就会被识别出来, 同时识别
出的组件 还有匹配率的显示, 且可以灵活配 置。
权利要求书2页 说明书5页 附图2页
CN 115357934 A
2022.11.18
CN 115357934 A
1.一种签名检测文件及文件树识别开源组件的方法, 其特 征在于: 所述方法包括:
S1、 通过签名加密算法将开源组件提取的特征信息签名进行加密计算后得到多个特征
值, 并将这多个特征值作为每个开源组件的唯一签名信息, 将开源组件的目录节点转换为
签名信息;
S2、 将每个开源组件计算出的多个特征值与对应的开源组件进行映射, 形成一一对应
的关联关系, 并存 入到数据库中作为知识库;
S3、 对待扫描的项目进行解析扫描, 获取项目的所有节点的特 征信息结果;
S4、 通过扫描分析得到的整个项目的特征信息数据节点集, 对每个节点进行逐一匹配
或者同时对多个节点进行匹配, 得到匹配结果;
S5、 通过第一筛 选逻辑和/或第二筛 选逻辑从匹配结果中筛 选出准确的开源组件。
2.根据权利要求1所述的一种签名检测文件及文件树识别开源组件的方法, 其特征在
于: 所述签名加密算法从五个方面提取特征得到五个特征值作为开源组件的唯一签名信
息, 五个特征值包括目录无SIZE类型、 目录含SIZE类型、 目录结构不含文件类型、 文件精确
SHA1值和jar包的特 征信息。
3.根据权利要求1所述的一种签名检测文件及文件树识别开源组件的方法, 其特征在
于: 所述获取项目的所有节点的特征信息结果包括: 每个目录节 点的目录无SIZE类型、 目录
含SIZE类型和目录结构不含文件类型信息值, 以及节点下的目录数量和文件数量, 包含每
个文件节点的文件精确SHA1值, 如果项目中有jar包, 则输出该jar包的FILE_MD5值, 汇集为
扫描特征信息清单。
4.根据权利要求1所述的一种签名检测文件及文件树识别开源组件的方法, 其特征在
于: 所述对每个节 点进行逐一匹配或者同时对多个节点进行匹配, 得到匹配结果包括: 对每
个目点进行逐一匹配或者同时对多个节点进行匹配, 知识库返回相应每个节点的匹配情
况, 对匹配成功的节点, 返回匹配的开源组件信息, 将 每个开源组件对应的节 点数和匹配识
别结果的匹配目录节 点数存储在知识库中, 并根据匹配目录节点数和开源组件总的目录节
点数计算 开源组件一个目录的匹配率, 并通过匹配率控制开源组件识别的精确程度。
5.根据权利要求1所述的一种签名检测文件及文件树识别开源组件的方法, 其特征在
于: 所述通过第一筛选逻辑从匹配结果中筛选出准确的开源组件包括: 设定目录节点数阈
值为N, 通过匹配结果的匹配率来筛选开源组件, 如果匹配结果中满足匹配的目录节点数达
到开源组件的目录节点数阈值N, 则识别出的开源组件为准确的开源组件, 通过文件节点来
筛选开源组件, 如果文件节点匹配成功, 则认为该文件与开源组件的文件完全一样; 通过目
录节点和文件节点的匹配率筛 选出准确的开源组件。
6.根据权利要求1所述的一种签名检测文件及文件树识别开源组件的方法, 其特征在
于: 所述通过第二筛选逻辑 从匹配结果中筛选出准确的开源组件包括: 通过jar包分析的方
式来提高准确度, 通过解析jar包中包含组件标识信息文件里的内容分析出该jar包 具体属
于的版本号, 如果该jar包没有被修改过, 则直接通过整个jar包的FILE_MD5值来识别开源
组件。
7.一种签名检测文件及文件树识别开源组件的系统, 其特征在于: 它包括签名加密算
法计算模块、 知识库建立模块、 扫描分析模块、 匹配识别模块和逻辑筛选模块; 所述签名 加
密计算模块用于通过签名加密算法将开源组件提取的特征信息签名进行加密计算后得到权 利 要 求 书 1/2 页
2
CN 115357934 A
2多个特征值, 并将这多个特征值作为每个开源组件的唯一签名信息, 将开源组件的目录节
点转换为签名信息; 所述知识库建立模块用于将 每个开源组件计算出的多个特征值与对应
的开源组件进 行映射, 形成一一对应的关联关系, 并存入到数据库中作为知识库; 所述扫描
分析模块用于对待扫描的项目进行解析扫描, 获取项目的所有节点的特征信息结果; 所述
匹配识别模块用于通过扫描分析得到的整个项目的特征信息数据 节点集, 对每个节点进 行
逐一匹配或者同时对多个节点进行匹配, 得到匹配结果; 所述逻辑筛选模块用于通过第一
筛选逻辑和/或第二筛 选逻辑从匹配结果中筛 选出准确的开源组件。
8.根据权利要求7所述的一种签名检测文件及文件树识别开源组件的系统, 其特征在
于: 所述逻辑筛选模块包括第一筛选逻辑单元和第二筛选逻辑单元; 所述第一筛选逻辑单
元通过设定目录节 点数阈值为N, 通过匹配结果的匹配率来筛选开源组件, 如果匹配结果中
满足匹配的目录节点数达到开源组件的目录节点数阈值N, 则识别出 的开源组件为准确的
开源组件, 通过文件节点来筛选开源组件, 如果文件节点匹配成功, 则认为该文件与开源组
件的文件完全一样; 通过目录节点和文件节点的匹配率筛选出准确的开源组件; 所述第二
筛选逻辑单元通过jar包分析的方式来提高准确度, 通过解析jar包中包含组件标识信息文
件里的内容分析出该jar包具体属 于的版本号, 如果该jar包没有被修改过, 则直接通过整
个jar包的FI LE_MD5值 来识别开源组件。
9.根据权利要求7所述的一种签名检测文件及文件树识别开源组件的系统, 其特征在
于: 所述获取项目的所有节点的特征信息结果包括: 每个目录节 点的目录无SIZE类型、 目录
含SIZE类型和目录结构不含文件类型信息值, 以及节点下的目录数量和文件数量, 包含每
个文件节点的文件精确SHA1值, 如果项目中有jar包, 则输出该jar包的FILE_MD5值, 汇集为
扫描特征信息清单。
10.根据权利要求7所述的一种签名检测文件及文件树识别开源组件的系统, 其特征在
于: 所述获取项目的所有节点的特征信息结果包括: 每个目录节 点的目录无SIZE类型、 目录
含SIZE类型和目录结构不含文件类型信息值, 以及节点下的目录数量和文件数量, 包含每
个文件节点的文件精确SHA1值, 如果项目中有jar包, 则输出该jar包的FILE_MD5值, 汇集为
扫描特征信息清单。权 利 要 求 书 2/2 页
3
CN 115357934 A
3
专利 一种签名检测文件及文件树识别开源组件的方法及系统
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:34:30上传分享