[发明专利]基于AST和跨层分析的安卓恶意软件检测方法及系统有效
| 申请号: | 202210544603.2 | 申请日: | 2022-05-19 |
| 公开(公告)号: | CN114817924B | 公开(公告)日: | 2023-04-07 |
| 发明(设计)人: | 牛伟纳;巩嘉诚;张小松;段治秦;刘星宇;朱宇坤 | 申请(专利权)人: | 电子科技大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/53;G06F8/75;G06F16/35;G06F40/30;G06F40/253;G06F18/241;G06F18/25;G06N3/042;G06N3/0464;G06N3/08 |
| 代理公司: | 成都正煜知识产权代理事务所(普通合伙) 51312 | 代理人: | 袁宇霞 |
| 地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 ast 分析 恶意 软件 检测 方法 系统 | ||
1.一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,包括如下步骤:
步骤1:对AndroidAPK文件进行静态反编译,获取其Java层代码Smali文件和Native层代码SO文件;
步骤2:对步骤1中获得的Smali文件和SO文件使用静态分析工具进行处理,分别生成Java层和Native层的函数调用图;
步骤3:对步骤2中生成的Java层和Native层函数调用图,基于Java层代码中对Native函数的声明,将Java层的函数调用图与Native层的函数调用图连接起来,生成完整的函数调用图;
步骤4:对步骤3中生成的完整函数调用图,基于敏感API对函数调用图进行简化,只保留敏感API节点,以及敏感API节点的父节点和其他祖先节点,得到简化函数调用图;
步骤5:对步骤4中生成的简化函数调用图,针对其中的Java层非敏感API节点对应的Smali文件进行代码解析,生成其对应的Java层非敏感节点抽象语法树AST;
步骤6:对于步骤5中生成的Java层非敏感节点抽象语法树,使用图嵌入方法生成抽象语法树的节点的代码特征向量;
步骤7:将步骤4中生成的简化函数调用图与步骤6中生成的代码特征向量相融合,生成融合了代码语义的简化函数调用图;
步骤8:对于步骤7中生成的融合了代码语义的简化函数调用图,以图拓扑结构和节点代码语义特征作为图特征,使用图神经网络对其进行学习,得到训练好的智能分类器;
步骤9:使用训练好的智能分类器对待测Android APK文件进行分类,得到该APK的分类结果。
2.根据权利要求1所述的一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,所述步骤2的具体步骤为:
对Android APK使用静态分析工具Androguard中的cg命令,生成Java层函数调用图;
对步骤1中获得的SO文件,使用二进制分析工具Angr,生成Native层函数调用图。
3.根据权利要求1所述的一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,所述步骤3的具体步骤为:
对步骤1中获得的Smali文件,检索Smali文件所有的方法信息,提取从Java层代码调用Native层代码的进入方法;并从进入方法开始跟踪Native函数调用提取退出方法;根据上述过程中提取到的进入方法和退出方法,将步骤2中生成的Java层函数调用图和Native层函数调用图连接起来,生成完整的函数调用图。
4.根据权利要求1所述的一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,所述步骤4的具体步骤为:
对步骤3中生成的完整函数调用图,基于敏感API进行简化,具体来说,首先找到所有的敏感API节点;再以敏感API节点为终点,根据调用关系追溯其始点,即敏感API节点的父节点;再以父节点作为终点,根据调用关系追溯其始点,即敏感API节点的祖先节点;依次递归,直至追溯到函数调用图的起始调用节点;保留上述所有节点,删除其他节点,生成简化函数调用图。
5.根据权利要求1所述的一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,所述步骤5的具体步骤为:
对于步骤4中生成的简化函数调用图,首先找到所有的Java层非敏感API节点;根据Java层非敏感API节点对应的方法名,检索到该节点对应的Smali文件;使用代码解析工具Antlr对该Smali文件进行解析,生成对应的Java层非敏感节点抽象语法树AST。
6.根据权利要求1所述的一种基于AST和跨层分析的安卓恶意软件检测方法,其特征在于,所述步骤6的具体步骤为:
对于步骤5中生成的Java层非敏感节点抽象语法树,以其拓扑结构和节点特征作为图特征,使用图嵌入中node2vec算法生成其对应的代码特征向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210544603.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种稳定杆衬套总成的加工方法
- 下一篇:一种消防用检测箱





