[发明专利]基于二进制程序模块化的开源组件检测方法在审
申请号: | 202210863358.1 | 申请日: | 2022-07-20 |
公开(公告)号: | CN115408700A | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 刘胜利;郭茜茜;刘明;杨启超;王家丰;张璨;邵文强;吕思欧 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 郑州明华专利代理事务所(普通合伙) 41162 | 代理人: | 王明朗 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 二进制 程序 模块化 组件 检测 方法 | ||
本发明属于开源组件检测技术领域,具体涉及一种基于二进制程序模块化的开源组件检测方法。该方法通过提取二进制程序中函数的调用和地址信息,将处理无向图的层次化社团结构分析的凝聚算法改进为适用有向图的BCM,利用BCM划分二进制程序模块。在二进制程序模块化的基础上,将所有模块与开源组件进行特征匹配,定位组件所在的具体模块,将目前文件粒度的复用细化到模块粒度的定位检测,缩小开源漏洞检测等软件安全分析任务的搜索范围,提高下游任务的效率。实验表明,本发明方法提升了开源组件检测的精度,极大程度上降低了误报率,比目前较优的文件粒度的开源组件检测方法B2SFinder提高60.12%;增加模块化分析之后依旧保持了检测效率。
技术领域
本发明属于开源组件检测技术领域,具体涉及一种基于二进制程序模块化的开源组件检测方法。
背景技术
在现代软件开发过程中,随着开源软件(Open-Source Software,OSS)的日益普及,软件重用成为一种普遍现象,开发人员往往利用开源软件提供的丰富功能来缩短开发周期,将更多的时间花在个性化开发上。近年来,开源软件的数量正以指数级的速度增长。截至目前,Github上有超过4400万个存储库,大量的开源软件给软件开发带来了极大的便利。然而,OSS使用不当会导致潜在的安全风险。含有过时的OSS的软件更有可能被利用。例如,一个名为Heartbleed的安全漏洞在OpenSSL(一个流行的加密软件库)的1.0.1g版本之前的1.0.1版本中被发现。对于使用该库的易受攻击的1.0.1版本的软件,攻击者可以窃取诸如用户名和密码之类的私人信息,它影响了许多著名的软件,例如4.2.0到4.2.2版本的LibreOffice软件和VMware Workstation 10。
商用软件(Commercial Off-The-Shelf,COTS)通常是以闭源的方式进行发布,无法直接获取源码进行软件安全分析,为了检测开源组件漏洞,在二进制程序中识别复用的开源软件尤为重要,它在各种软件安全工程相关任务中发挥着重要作用,如恶意软件检测、漏洞搜索、逆向工程等。目前的工作多数通过提取目标二进制程序和源码中的特征,选择合适的特征匹配算法进行开源组件的识别。但是,已有的工作在两个方面存在不足,分别是特征选择和开源组件在二进制程序中的识别粒度。
首先,特征选择方面,有些方法提取的特征太少或者易受编译优化影响。多数方法依赖字符串和导出函数名等语法特征,但是一些商业软件为了隐藏其软件组成而去除字符串。因此,为了克服特征的单一性,控制流图成为新的选择。但是由于编译优化的影响,控制流很容易发生改变,故控制流图不能作为合适的特征进行匹配。
其次,在二进制程序中开源组件的识别粒度方面,现有的方法是从文件粒度检测开源组件,即以整个二进制程序为粒度单元,通过直接映射、层次匹配等算法,对提取的特征进行匹配,然后计算特征相似度,判断整个程序中是否复用开源组件。针对二进制程序的开源组件识别,会有一些下游任务的开展,例如漏洞检测,是否包含高危漏洞;是否受供应链投毒影响;推动供应商更新重要依赖组件的版本等。基于目前的方法,若进行下游任务开源漏洞的搜索,其范围为整个二进制程序,对于时间和工作量都是一个较高的要求。
发明内容
针对开源组件检测方法存在的缺陷和问题,本发明提供一种基于二进制程序模块化的开源组件检测方法。
本发明解决其技术问题所采用的方案是:一种基于二进制程序模块化的开源组件检测方法,包括二进制程序模块化和开源组件识别,其中二进制程序模块化包括以下内容:
(1)对二进制程序进行函数地址提取和函数调用图创建,通过函数地址和函数有向调用关系的提取构造模块化步骤的输入图;
(2)使用基于模块度改进的BCM算法对二进制程序模块进行划分;
开源组件识别包括以下内容:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210863358.1/2.html,转载请声明来源钻瓜专利网。