[发明专利]一种第三方库检测方法及装置有效
申请号: | 202111207132.8 | 申请日: | 2021-10-18 |
公开(公告)号: | CN113641363B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 高飞;文惠东;秦素娟;温巧燕;李文敏 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F8/53 | 分类号: | G06F8/53;G06F21/56 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 徐雅琴 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 第三 检测 方法 装置 | ||
本说明书一个或多个实施例提供一种第三方库检测方法及装置,包括:对应用程序包进行反编译,识别混淆的待测第三方库;确定用于代表待测第三方库的核心逻辑类;从所述核心逻辑类中提取多个指令特征,形成特征文件;响应于所述特征文件与标准库的标准库文件达到预设的匹配条件,所述待测第三方库为所述标准库。本说明书能够降低计算量,提高匹配精度,提高检测效率。
技术领域
本说明书一个或多个实施例涉及软件技术领域,尤其涉及一种第三方库检测方法及装置。
背景技术
第三方库广泛用于构建新功能或整合外部服务,同时存在攻击宿主应用程序的安全性问题。一般的应用程序为防止反编译获取源代码,会对源代码进行混淆,所调用的第三方库名称被改变,不利于检测出第三方库及其安全性。
目前的第三方库检测方法,例如,基于白名单的检测、基于聚类的检测和基于特征匹配的检测等,需要对第三方库整体进行特征提取与匹配,计算量大,特征量大影响匹配精度,检测效率不高。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种第三方库检测方法及装置,以解决第三方库的检测问题。
基于上述目的,本说明书一个或多个实施例提供了一种第三方库检测方法,包括:
对应用程序包进行反编译,识别混淆的待测第三方库;
确定用于代表待测第三方库的核心逻辑类;
从所述核心逻辑类中提取多个指令特征,形成特征文件;
响应于所述特征文件与标准库的标准库文件达到预设的匹配条件,所述待测第三方库为所述标准库。
可选的,所述核心逻辑类的特征包括:
位于顶层接口类和底层工具类之间的位置;连接所述待测第三方库中达到预定第一数量的类;调用所述待测第三方库中达到预定第二数量的自定义方法;以及包含达到预定第三数量的指令集操作码。
可选的,所述确定用于代表待测第三方库的核心逻辑类,包括:
根据反编译后获得的多个smali文件,确定各smali文件之间的依赖关系,并确定顶层接口类和底层工具类;
根据所述依赖关系构造转移矩阵和初始影响力矩阵;
将所述转移矩阵和初始影响力矩阵进行迭代相乘,直至达到收敛条件,得到最终影响力矩阵;
根据所述最终影响力矩阵,排除所述顶层接口类和底层工具类之后,选取影响力最大的类作为所述核心逻辑类。
可选的,所述收敛条件为:
当所述转移矩阵和初始影响力矩阵或迭代过程中生成的中间影响力矩阵单次相乘超过时间阈值时,停止迭代;和/或,
本次相乘后,所述初始影响力矩阵中原本不为0的一项或几项变为0,停止迭代。
可选的,所述从核心逻辑类中提取多个指令特征,形成特征文件,包括:
确定所述核心逻辑类所使用的所有方法,以及每个方法所使用的所有指令特征;
将所述指令特征处理为指令摘要特征;
以每个方法的所有指令摘要特征为一行,构造包括所有方法的所有指令摘要特征的特征文件。
可选的,所述响应于所述特征文件与标准库的标准库文件达到预设的匹配条件,待测第三方库为所述标准库,包括:
根据所述特征文件的内容和标准库文件的内容,对所述标准库进行筛选,得到筛选后的标准库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111207132.8/2.html,转载请声明来源钻瓜专利网。