[发明专利]基于二进制程序模块化的开源组件检测方法在审

专利信息
申请号: 202210863358.1 申请日: 2022-07-20
公开(公告)号: CN115408700A 公开(公告)日: 2022-11-29
发明(设计)人: 刘胜利;郭茜茜;刘明;杨启超;王家丰;张璨;邵文强;吕思欧 申请(专利权)人: 中国人民解放军战略支援部队信息工程大学
主分类号: G06F21/57 分类号: G06F21/57
代理公司: 郑州明华专利代理事务所(普通合伙) 41162 代理人: 王明朗
地址: 450000 河*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 二进制 程序 模块化 组件 检测 方法
【权利要求书】:

1.一种基于二进制程序模块化的开源组件检测方法,其特征在于:包括二进制程序模块化和开源组件识别,其中二进制程序模块化包括以下内容:

(1)对二进制程序进行函数地址提取和函数调用图创建,通过函数地址和函数有向调用关系的提取构造模块化步骤的输入图;

(2)使用基于模块度改进的BCM算法对二进制程序模块进行划分;

开源组件识别包括以下内容:

(1)特征选择与提取:针对二进制程序的每个模块,提取每个模块中的字符类型及函数的复杂分支序列作为提取特征,其中字符类型包括字符串字面量、字符串数组和导出函数名;对于函数的复杂分支序列,将switch/case、if/else的分支序列作为选择的特征;

(2)模块粒度的开源组件识别:将二进制程序每个模块的提取特征与源码特征进行比对,检测出开源组件所在的二进制模块。

2.根据权利要求1所述的基于二进制程序模块化的开源组件检测方法,其特征在于:对二进制程序模块划分包括以下步骤:

Ⅰ、初始假设每个函数都是一个独立的模块,对任意相邻的节点i和节点j,计算将节点i加入其邻居节点j所在模块C时对应的模块度增量ΔQ,

式中:Si,in表示节点i与模块C内部函数连边权重之和;m是网络中所有边权重之和;Wc是模块C内部所有边的权重和;Sc是所有与模块C内部的函数相关联的边的权重和;

然后计算节点i与所有邻居节点的模块度增量,选出其中最大的一个;当该值为正时,把节点i加人相应的邻居节点所在的模块;否则,节点i留在原模块中;

重复进行,直至不再出现合并现象,划分出第一层模块;

Ⅱ、基于Ⅰ形成的模块结果,重复Ⅰ中的方法对新的模块结果进行模块划分,得到第二层模块,其中模块之间连边的权重是两个模块之间所有节点连边的权重和;

重复直至网络模块度不再增加,完成二进制程序模块划分。

3.根据权利要求1所述的基于二进制程序模块化的开源组件检测方法,其特征在于:从二进制模块中提取字符串的过程为:通过模块中每个函数的地址获取该函数的所有片段,遍历每个函数片段中的所有指令,遍历该指令的数据引用地址,当该地址存放的是字符串时,将字符串的地址及值添加到字符串列表中。

4.根据权利要求1所述的基于二进制程序模块化的开源组件检测方法,其特征在于:从二进制程序中提取导出函数名的过程为:首先需要获取模块中的所有函数名,然后通过遍历整个二进制程序中的导出函数名的方式,保留模块中的导出函数名。

5.根据权利要求1所述的基于二进制程序模块化的开源组件检测方法,其特征在于:开源组件的对比流程为:遍历待匹配的特征类型,获取模块和开源组件的该类型特征;遍历获取的特征,将匹配的特征添加到匹配特征列表中,当匹配的特征得分超过阈值,将该类型特征添加到匹配的特征类型列表中,此列表非空,则该模块复用开源组件。

6.根据权利要求5所述的基于二进制程序模块化的开源组件检测方法,其特征在于:在开源组件识别时,

a、对于字符类型的特征,当二进制程序模块与开源组件中的字符特征一致时,则判定特征为匹配;

b、对于函数的复杂分支序列,通过最长公共子序列长度匹配if/else特征,当最长公共子序列长度超过设定阈值则判定为匹配。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210863358.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top