The invention relates to a third party component vulnerability detection method based on binary code features. First, extract the multi-dimensional characteristics of the third party components, and build the feature database of the third party components. After that, the binary code features of the files to be detected are extracted, and the search is matched to the corresponding third party components. Then, based on the features of the finer dimension, the component version number is determined. In this way, inverted index and grading method in search engine are applied to the process of feature matching, which improves the detection efficiency of massive third party components and realizes the fast detection of third party components used in binary code.
【技术实现步骤摘要】
基于二进制代码特征的第三方组件漏洞检测方法
本专利技术涉及一种第三方组件漏洞检测方法,尤其涉及一种基于二进制代码特征的第三方组件漏洞检测方法。
技术介绍
目前大多数的软件应用,无论是移动应用还是桌面应用,为了降低开发成本、提高开发效率,或多或少都使用了开源代码用于接口或功能的开发。开源代码引入软件项目的途径是多种多样的,直接将开源代码引入项目作为软件功能的一部分是最常见的一种情况,另外,软件研发人员有时会使用某些商业组件。开源组件大多经过封装后,为用户提供相应的接口、属性和方法,用户能够使用组件却无法看到源代码。使用开源组件的研发者将重心放在了组件的功能上,很少会有人对其进行深入研究,关心其是否存在安全问题。然而,根据CVE统计,开源组件时常被曝光存在安全漏洞,进而导致使用该组件的软件产品存在潜在安全隐患。例如,在2014年4月8日被曝光的OpenSSLHeartbleed漏洞(CVE-2014-0160),允许攻击者窃听通信、窃取数据,影响版本有OpenSSL1.0.2-beta和OpenSSL1.0.1-OpenSSL1.0.1f,如果开发者使用了这些版本的O ...
【技术保护点】
基于二进制代码特征的第三方组件漏洞检测方法,其特征在于包括以下步骤:步骤一,抽取第三方组件的多维度特征,构建第三方组件的特征库;步骤二,抽取待检测文件的二进制代码特征,搜索匹配到相应的第三方组件;步骤三,根据更细维度的特征,确定组件版本号。
【技术特征摘要】
1.基于二进制代码特征的第三方组件漏洞检测方法,其特征在于包括以下步骤:步骤一,抽取第三方组件的多维度特征,构建第三方组件的特征库;步骤二,抽取待检测文件的二进制代码特征,搜索匹配到相应的第三方组件;步骤三,根据更细维度的特征,确定组件版本号。2.根据权利要求1所述的基于二进制代码特征的第三方组件漏洞检测方法,其特征在于:所述步骤一中,抽取第三方组件中的二进制代码特征,选择从源代码与编译到二进制代码这一过程中的不变量,存储于特征库中,所述不变量包括常量字符串、数字常量、函数签名数字化向量中的一种或是多种。3.根据权利要求2所述的基于二进制代码特征的第三方组件漏洞检测方法,其特征在于:所述步骤一中,根据第三方组件源码的语言类型,选择对应的词法分析器抽取字符串常量和数字常量特征,所述词法分析器,根据源代码语言类型,从源文件中提取字符串常量及数字常量特征,并将其作为主键,包含该特征的组件列表作为值,存储于倒排索引的特征库中。4.根据权利要求3所述的基于二进制代码特征的第三方组件漏洞检测方...
【专利技术属性】
技术研发人员:但吉兵,陈都,陈虹兵,
申请(专利权)人:苏州棱镜七彩信息科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。