全网唯一标准王
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210964418.9 (22)申请日 2022.08.12 (65)同一申请的已公布的文献号 申请公布号 CN 115033894 A (43)申请公布日 2022.09.09 (73)专利权人 中国电子科技 集团公司第三十 研 究所 地址 610000 四川省成 都市高新区创业路6 号 (72)发明人 饶志宏 孙治 和达 陈剑锋  毛得明 韩烨 权赵恒 赵童  王炳文  (74)专利代理 机构 成都九鼎天元知识产权代理 有限公司 51214 专利代理师 周浩杰(51)Int.Cl. G06F 21/57(2013.01) G06F 21/56(2013.01) G06F 16/36(2019.01) (56)对比文件 CN 114676435 A,2022.06.28 CN 112671716 A,2021.04.16 审查员 宋梦玲 (54)发明名称 一种基于知识图谱的软件组件供应链安全 检测方法及装置 (57)摘要 本发明公开了一种基于知识图谱的软件组 件供应链 安全检测方法及装置, 属于网络安全领 域, 包括步骤: S1, 提取漏洞知识、 软件知识和组 件知识, 提取并分析可执行程序, 构成软件 ‑组 件‑漏洞知识单元; 通过 实体关联、 实体对齐的方 式完成软件 ‑组件‑漏洞知识单元融合, 存入到知 识库, 建立多层次结构的软件 ‑组件‑漏洞知识图 谱; S2, 分析用户上传的待检测软件包含的组件, 识别其中包含有漏洞的组件, 基于软件 ‑组件‑漏 洞知识图谱给出漏洞组件的软件供应链传播链 条与缓解 建议。 本发明建立了 软件‑组件‑漏洞知 识图谱, 实现了自动化的可执行程序提取与分 析, 减少了人工标记工作量, 提升了软件组件供 应链安全的检测效率。 权利要求书2页 说明书9页 附图4页 CN 115033894 B 2022.12.09 CN 115033894 B 1.一种基于知识图谱的软件组件供应链安全检测方法, 其特 征在于, 包括以下步骤: S1, 软件‑组件‑漏洞知识图谱构建: 先提取漏洞知识、 软件知识和组件知识, 再提取并 分析可执行程序, 构成软件 ‑组件‑漏洞知识单元; 再通过实体 关联、 实体对齐的方式完成软 件‑组件‑漏洞知识单元融合, 并存入到知识库, 建立多层次结构的软件 ‑组件‑漏洞知识图 谱; 在步骤S1中, 所述 提取并分析 可执行程序, 包括子步骤: S101, 根据上传文件的魔术码以及文件后缀名, 识别文件所属类别; S102, 若步骤S101中识别判断上传文件为压缩包, 则执行解压缩操作, 释放文件到当前 目录; 若否, 直接进入步骤S10 3; S103, 通过释放到目录的文件名是否包含相应关键字, 并结合文件魔术码启动对应的 虚拟环境; 判断是否为安装程序, 若是安装程序则 执行步骤S104, 进行软件的仿真安装, 否 则跳转到步骤S107; S104, 执行包含有关键字的可执行文件, 通过进程ID调用操作系统API获取主窗口的句 柄, 接下来在根据主窗口的句柄获取主窗口的坐标以及大小, 调用操作系统API截 取软件的 安装界面保存为 位图; S105, 将该位图输入到一个现有的图片文字识别机器学习模型; S106, 调用鼠标点击事件API, 参数为文字所在的坐标, 仿真鼠标点击操作; 重复步骤 S105、 步骤S10 6完成软件安装的过程; S107, 遍历软件安装目录, 根据文件的魔术码提取 可执行文件和软件组件文件; S108, 依次执行可执行文件, 同时在对应执行进程注入分析模块, 该分析模块为带有挂 钩系统API 函数并具有分析函数参数的功能; S109, 将提取到的全部程序组件计算文件的哈希值, 输出软件包含的组件名和哈希值, 利用软件所包 含组件的哈希值构成软件 ‑组件的知识单 元; 在步骤S1中, 所述 提取漏洞知识、 软件知识和组件知识, 包括子步骤: S111, 从互联网漏洞发布平台, 采集已经披露的漏洞信息, 并提取结构化信息, 所述结 构化信息包括漏洞编号、 漏洞描述、 缓解方案、 通用平台枚举和参 考外链; S112, 通过采集到的通用平台枚举, 提取 出软件名和版本; S113, 将软件名、 空格、 软件版本作 为关键字, 通过搜索引擎检索, 并根据网页返回的链 接筛选出可能的软件下载网址, 进一步通过HTTP请求返回的请求体大小, 判断是否下载到 正确的软件; S114, 将采集到的结构化信息和漏洞软件建立起映射关系, 分别存储到结构化数据库 和大数据存储平台; S115, 从漏洞描述、 参 考外链, 提取 出文本信息, 合并构建成待分析文档; S116, 将待分析文档分别输入到基于机器学习、 基于规则的实体识别抽取模型中, 提出 文档出现的命名实体, 选取出现的次数最多, 且结尾为{.lib,.dll,.a,.so}的实体作为该 漏洞关联的软件组件, 利用组件关联的漏洞构成组件 ‑漏洞的知识单 元; 在步骤S1中, 所述通过实体关联、 实体对齐的方式完成软件 ‑组件‑漏洞知识单元融合, 并存入到知识库, 包括子步骤: S121, 将抽取的实体以及实体间关系与知识图谱中多元组知识进行融合;权 利 要 求 书 1/2 页 2 CN 115033894 B 2S122, 采用Neo4j图数据库作为的软件 ‑组件‑漏洞知识图谱的存储数据库, 将组织好的 多元组知识按照Neo 4j的概念 模型入库存 储, 并将漏洞组件哈希值建立 为唯一约束索引; S2, 已知漏洞软件组件识别: 分析用户上传的待检测软件包含的组件, 识别其中包含有 漏洞的组件, 并基于所述软件 ‑组件‑漏洞知识图谱给出漏洞组件的软件供应链传播链条与 缓解建议。 2.根据权利要求1所述的基于知识图谱的软件组件供应链安全检测方法, 其特征在于, 在步骤S2中, 包括子步骤: S201, 用户通过终端组件安全检测服务接口请求上传检测的软件, 系 统通过文件的魔 术码判断文件类别, 从而启动相应的虚拟软硬件环境; S202, 执行可执行程序提取与分析, 遍历整个文件夹查找收集可执行的文件, 同时运行 并分析可执行的文件, 收集静态和动态的组件文件; S203, 将提取到的全部程序组件计算哈希值, 比对软件 ‑组件‑漏洞知识图谱存储 的已 知漏洞组件的哈希值; S204, 根据哈希值比对结果, 输出分析结果与防护建议, 以及关联软件 ‑组件‑漏洞知识 图谱中关于该漏洞组件描述, 给 出漏洞组件的软件供应链传播链条与防护建议。 3.根据权利要求1所述的基于知识图谱的软件组件供应链安全检测方法, 其特征在于, 在步骤S101, 所述上传文件 包括漏洞软件。 4.根据权利要求1所述的基于知识图谱的软件组件供应链安全检测方法, 其特征在于, 在步骤S104和步骤S10 5中, 所述 位图包括bmp格式位图。 5.根据权利要求1所述的基于知识图谱的软件组件供应链安全检测方法, 其特征在于, 在步骤S108中, 所述 挂钩系统API 函数包括加载动态库函数和IO操作函数。 6.根据权利要求1所述的基于知识图谱的软件组件供应链安全检测方法, 其特征在于, 在步骤S121中, 融合的知识包括: 软件名、 软件版本、 组件名、 哈希值、 漏洞编号、 漏洞信息、 漏洞类别和缓解建议。 7.一种基于知识图谱的软件组件供应链安全检测装置, 其特征在于, 包括程序指令运 行单元和程序指令存储单元, 当程序指令由程序指 令运行单元加载运行时执行如权利要求 1~6任一所述的基于知识图谱的软件组件供应链安全检测方法。权 利 要 求 书 2/2 页 3 CN 115033894 B 3

.PDF文档 专利 一种基于知识图谱的软件组件供应链安全检测方法及装置

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于知识图谱的软件组件供应链安全检测方法及装置 第 1 页 专利 一种基于知识图谱的软件组件供应链安全检测方法及装置 第 2 页 专利 一种基于知识图谱的软件组件供应链安全检测方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:39:08上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。