← 返回列表

一种海量APK源码特征提取及相似分析方法

申请号: CN202311441226.0
申请人: 国家计算机网络与信息安全管理中心
申请日期: 2023/11/1

摘要文本

本发明涉及软件检测技术领域,公开了一种海量APK源码特征提取及相似分析方法,首先输入两个APK文件,通过源码解析反编译方法提取到APK包的AndroidManifest文件、本地化语言配置文件,提取到SMALI或JAVA源代码;再通过包名索引、启动类索引、固定目录识别方式,识别APK核心源码目录、第三方包目录、系统资源目录,并生成源码树;再对核心源码目录中的文件进行分析,计算文件HASH,提取源码文件中字符串类声明特征表示作为加权特征;计算拟进行分析的两棵源码树结构的相似度情况,根据源码目录的类型对进行不同程度的相似度加权。本发明降低分析资源投入和时间消耗,提升源码相似分析的准确度,能够实现在大规模APK数据分析场景的高性能分析。

专利详细信息

项目 内容
专利名称 一种海量APK源码特征提取及相似分析方法
专利类型 发明申请
申请号 CN202311441226.0
申请日 2023/11/1
公告号 CN117591119A
公开日 2024/2/23
IPC主分类号 G06F8/41
权利人 国家计算机网络与信息安全管理中心
发明人 段东圣; 侯炜; 张露晨; 佟玲玲; 段运强; 秦韬; 李美燕; 任博雅; 鲁睿; 张林波; 孙旷怡; 陈新兴; 张绪川; 王鹏
地址 北京市朝阳区裕民路甲3号

专利主权项内容

1.一种海量APK源码特征提取及相似分析方法,其特征在于:具体按以下步骤执行:S : 首先输入两个APK文件,通过源码解析反编译方法提取到APK包的AndroidManifest文件、本地化语言配置文件,提取到SMALI或JAVA源代码;1S : 通过包名索引、启动类索引、固定目录识别方式,识别APK核心源码目录、第三方包目录、系统资源目录,并生成源码树;2S : 对核心源码目录中的文件进行分析,计算文件HASH,提取源码文件中字符串类声明特征表示作为加权特征;3S : 计算拟进行分析的两棵源码树结构的相似度情况,根据源码目录的类型对进行不同程度的相似度加权,其中核心源码目录相似的权重+2、第三方包目录+1、系统资源目录0;4S : 计算每棵树的末端节点源码文件,源码文件HASH一致的权重+2,源码文件特征表示相似的权重+1;5S : 计算两棵树的相似度情况,按照双向对比取平均数,生成源码树相似度,具体通过计算A树在B树中的覆盖率得出s1、计算B树在A树中的覆盖率得出s2,最后通过(s1+s2)/2计算输出目录结构相似度S,如式(1);6S : 通过SimHash算法分析的两个APP的AndroidManifest、本地化语言配置的相似程度,通过计算汉明距离输出相似度比例,输出相似性属性SC和SL;如式(2)-式(3);7S=similarity(simhash(Ca),simhash(Cb)) 式(2)CS=similarity(simhash(L),simhash(L)) 式(3)LabS:最后将树结构相似度、AndroidManifest相似度、本地化语言配置相似度三个数据,按照比例x∶y∶z加权求和计算输出相似度,x、y、z是树结构相似度、AndroidManifest相似度、本地化语言配置相似度三项相似度的权重系数,通过加权求和计算最终的APP相似度S;如式(4);8