[发明专利]Android恶意代码分析与检测算法有效
申请号: | 201810113041.X | 申请日: | 2018-02-05 |
公开(公告)号: | CN108304719B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 禹龙;罗世奇;田生伟;王欢欢;裴新军;彭咏芳 | 申请(专利权)人: | 新疆大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 魏波 |
地址: | 830046 新疆维*** | 国省代码: | 新疆;65 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | android 恶意代码 分析 检测 算法 | ||
1.一种Android恶意代码分析与检测算法,其特征在于,包括以下步骤:
步骤1:恶意代码的特征抽提取与分析;
步骤1的具体实现包括以下子步骤:
步骤1.1:对已知恶意软件样本进行反编译得到源代码;
步骤1.2:对具有恶意特征的代码片段进行形式化描述,得到对应的字节文件、指令序列,并记为备选特征;
步骤1.3:对备选特征进行筛选剔除非代表性特征,得到这一恶意软件的最终有效特征;
步骤2:恶意代码识别;
步骤2中,采用栈式自编码深度神经网络对Android应用程序恶意代码进行识别;具体实现包括以下子步骤:
步骤A1:对带标签的恶意代码进行预处理,获取其灰度图像信息;
步骤A2:特征提取,描述,筛选;
步骤A3:将预处理后的输出输入到SAE中;
步骤A3.1:将预处理后的输出输入到AE中;
步骤A3.2:将预处理后的输出输入到AE中;
步骤A3.3:将预处理后的输出输入到softmax中;
步骤A4:采用SAE对整个网络进行调整;
步骤A5:通过检测文件与实际恶意代码标签数据对比,判断其是否为恶意代码;
步骤2中,采用深度信念网络对移动终端Android应用程序恶意代码进行识别;具体实现包括以下子步骤:
步骤B1:预处理的恶意代码输入;
步骤B2:特征提取,描述,筛选;
步骤B3:将预处理后的输出输入到DBN中;
步骤B3.1将预处理后的输出输入到RBM中;
步骤B3.2将预处理后的输出输入到RBM中;
步骤B3.3将预处理后的输出输入到BP中;
步骤B4:输出结果同标签数据对比,实现对恶意代码识别精度判断;
步骤3:恶意代码变种检测;
步骤3的具体实现包括以下子步骤:
步骤3.1:带标签的恶意代码进行预处理;
具体实现包括以下步骤:
a) 对Android应用进行分析,利用Android SDK自带的AAPT对每个Android应用进行解压缩;
b) 通过APK tool工具和shell脚本提取Android恶意程序样本的权限;
c) 使用Android NDK中的arm-linux-Androideabi-readelf.exe提取native代码编译链接后生成的ELF文件的函数调用序列;
d) 预处理后的Android恶意代码数据,得到其脚本信息,函数调用序列,权限特征、ELF文件的函数调用序列构建特征向量;
步骤3.2:将步骤3.1中预处理的数据作为输入,充分训练第一层SAE;
步骤3.3:固定第一层的SAE的权值和偏移量,使用其隐藏节点,作为第二层SAE的输入向量;
步骤3.4:训练第二层SAE后,将得到的结果数据作为输入,充分训练第三层RBM;
步骤3.5:将RBM训练的结果数据作为输入,充分训练第四层RBM;
步骤3.6:最后一层采用Softmax对整个网络进行调整;
步骤3.7:通过对网络输出的恶意代码分析结果,判断其类型,判别出是否是恶意代码变种。
2.根据权利要求1所述的Android恶意代码分析与检测算法,其特征在于:步骤1.3中,对备选特征进行筛选的方法包括基于栈式自编码的恶意代码纹理图像特征筛选、基于深度信念网络的恶意代码指令频度筛选。
3.根据权利要求1所述的Android恶意代码分析与检测算法,其特征在于:步骤1.3中,对输入的备选特征逐级进行从底层到高层训练深度神经网络,进行特征筛选,最终形成适合模式分类的有效特征。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新疆大学,未经新疆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810113041.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:智能手机用安全勘查装置
- 下一篇:一种基于机器学习的安卓恶意程序检测方法