当前位置: 首页 > 专利查询>上海大学专利>正文

基于RGB图像映射的安卓恶意软件识别方法技术

技术编号:18445412 阅读:65 留言:0更新日期:2018-07-14 10:35
本发明专利技术公开了一种基于RGB图像映射的安卓恶意软件识别方法,收集恶意程序集M组成样本库;通过将操作码、敏感API调用和高风险API特征映射成彩图,然后通过深度学习的方式学习特征图像,得出最佳分类模型,然后对待检测的程序生成特征彩图,输入分类模型后得出检测结果。与现有技术相比,本发明专利技术提高了恶意软件分类的效率和准确率;具有简单、高效的特点,避免了动态分析开销过大和操作过于发杂的弊端,在保证准确率的基础上大大提高了检测速度。

Android malware recognition method based on RGB image mapping

The invention discloses a Android malware recognition method based on RGB image mapping, and collects malware set M to form a sample library. By mapping operating codes, sensitive API calls and high risk API features to color graphs, then learning feature images through deep learning, the optimal classification model is obtained, and then the detection is treated. The program generates the feature color map and input the classification model to get the test result. Compared with the existing technology, the invention improves the efficiency and accuracy of the malware classification; it has the characteristics of simple and efficient, avoids the excessive overhead of dynamic analysis and too much miscellaneous operation, and greatly improves the detection speed on the basis of ensuring the accuracy.

【技术实现步骤摘要】
基于RGB图像映射的安卓恶意软件识别方法
本专利技术涉及信息安全技术、逆向工程等多种领域,特别是涉及一种基于安卓操作系统平台的恶意软件的识别方法。
技术介绍
随着互联网技术的飞速发展,及安卓系统跃居移动终端最大份额的操作系统,针对移动设备的安全威胁也越来越多。互联网协会总结了恶意软件的特征并给出定义:恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户的计算机或其他终端上安装运行,侵害用户合法权益的软件。由于安卓系统的开发特性,及国内第三方应用分发商检测监控不严格,导致针对安卓的恶意软件数量逐年上升。目前,针对安卓平台下的恶意软件的检测,按照分析方式可分为动、静检测及基于云计算的检测。1)静态检测的主要方式为直接分析应用本身,根据代码及应用的其他特征检测程序是否存在恶意倾向;2)动态监测则需要在软件处于运行状态,通过跟踪、监控等技术手段,判断软件是否存在联网、获取隐私等行为,进而判断软件是否存在恶意。3)基于云计算的检测是针对移动设备在电量和计算能力方面的局限性,把检测方案部署到具备海量计算存储和大量计算能力的云端服务器上,在被检测设备上只保留代理软件来收集基本信息,检测结果通过网络发回服务器,从而提升检测效率及表现。
技术实现思路
本专利技术的目的在于针对上述问题,提出了一种基于RGB图像映射的安卓恶意软件识别方法,是一种基于静态分析的安卓恶意软件特征提取及多特征融合方案。通过将操作码特征、敏感API调用、高风险API特征映射成RGB图像,实现安卓操作系统下的恶意软件的有效分类。为了实现上诉目标,本专利技术采用如下技术方案:一种基于RGB图像映射的安卓恶意软件识别方法,其特征在于,操作步骤如下:步骤一、收集足够量的标定的恶意程序集M,组成样本库;步骤二、对样本库中所有的Android程序的安装文件用解压缩工具进行解压缩,获取源码文件——.dex文件;步骤三、对源码文件采用逆向工程工具进行反编译,获取smali代码;步骤四、逐条分析语句,映射操作码特征为RGB图像中的R通道像素点;步骤五、逐条分析语句,映射敏感API调用特征为RGB图像中的G通道像素点;步骤六、逐条分析语句,映射高风险API调用特征为RGB图像中的B通道像素点;步骤七、合并R、G、B三通道生成特征图像;步骤八、基于上述样本的特征图像,使用机器学习的方式进行分类训练,生成相应的分类模型;步骤九、获取待分类样本文件;根据步骤二~步骤七,生成对应的特征图像;步骤十、根据步骤八生成的分类模型、且以九生成的特征向量为输入,对待分类程序进行分类,得到判别结果。与现有技术相比,本专利技术提高的恶意软件的分类效率和准确率;在具有简单、高效特点的同时,保留了特征间的相关性,信息损失小,同时避免了动态监测技术的繁杂操作和大量的开销,在保证准确率的基础上大幅提高的检测速度。附图说明图1是本专利技术的恶意软件分类方案流程图。图2是恶意软件预处理过程。图3是特征提取过程。具体实施方式以下结合附图及具体实施方式,进一步详述本专利技术的技术方案。实施例一:如图1所示,本基于RGB图像映射的安卓恶意软件识别方法,其特征在于操作步骤如下:步骤101、获取已经标定的恶意软件程序集M,从中选取定量样本组成程序集N,组成本专利技术的样本库及测试样本库;步骤102,样本预处理过程,可参照图2步骤1021、通过python脚本,对样本库M中所有软件进行解压缩,获取每个样本的源码文件.dex文件;步骤1022、通过python脚本及apktool开源工具,对每个样本的源码文件进行反编译,获取smali代码;步骤103、特征提取过程,可参照图3;步骤1031、映射该行操作码为R通道像素值;步骤1032、若该操作码为API调用指令,进步骤1033,否则置该位置G、B通道像素值为0,进步骤1035;步骤1033、分析操作码参数,若参数为敏感API(举例如表格1),映射该敏感API为G通道像素值,否则置该位置像素值为0;步骤1034、分析该敏感API调用,若该API为高危API(举例如表格2),映射该高危API为B通道像素值,否则置该位置像素值为0;步骤1035、判断是否结束,未结束读取下一行,转步骤1031;步骤1036、融合R、G、B三通道特征为RGB彩图;步骤104、对所有样本重复步骤102~步骤103;步骤105、构建深度学习模型,输入样本RGB特征彩图训练,生成分类模型;步骤106、对待分析样本实施步骤102~步骤103,获取RGB特征图;步骤107、将RGB特征图输入已训练好的分类模型,得到分类结果。本实施例的整体思路是采用基于操作码,敏感API调用及高风险API特征生成RGB彩图,然后通过样本训练,得出较好的分类模型,然后提取待分类程序的权限信息,输入分类模型后得出检测结果。与现有技术相比,本方法基于静态分析,避免了动态检测技术的繁杂操作和大量的计算开销;操作码、敏感API、高危API特征提取的提取,保留了恶意软件特征间的相关性,信息损失小。在保证了准确率的基础上大幅度提高了检测速度,具有简单、高效的特点。需要说明的是,上述实施不以任何形式限制本专利技术,凡是采用等同变换的方式所获得的技术方案,均含在本专利技术的保护范围内。表格1敏感API及映射值Android.account:6Android.app:18Android.bluetooth:30Android.graphics:42Android.hardware:54Android.media:66Android.location:78Android.nfc:90Android.telephone:102Android.content:114Android.database:126Android.net:138Java.net:150Android.os:162Android.service:174Dalvik.system:200Java.lang:212Others:0Android.system:186表格2高危API、其映射值及说明本文档来自技高网...

【技术保护点】
1.一种基于RGB图像映射的安卓恶意软件识别方法,其特征在于,操作步骤如下:步骤一、收集足够量的标定的恶意程序集M,组成样本库;步骤二、对样本库中所有的Android程序的安装文件用解压缩工具进行解压缩,获取源码文件——.dex文件;步骤三、对源码文件采用逆向工程工具进行反编译,获取smali代码;步骤四、逐条分析语句,映射操作码特征为RGB图像中的R通道像素点;步骤五、逐条分析语句,映射API calls特征为RGB图像中的G通道像素点;步骤六、逐条分析语句,映射高风险API特征为RGB图像中的B通道像素点;步骤七、合并R、G、B三通道生成特征图像;步骤八、基于上述样本的特征图像,使用机器学习的方式进行分类训练,生成相应的分类模型;步骤九、获取待分类样本文件;根据步骤二~步骤七,生成对应的特征图像;步骤十、根据步骤八生成的分类模型、且以九生成的特征向量为输入,对待分类程序进行分类,得到判别结果。

【技术特征摘要】
1.一种基于RGB图像映射的安卓恶意软件识别方法,其特征在于,操作步骤如下:步骤一、收集足够量的标定的恶意程序集M,组成样本库;步骤二、对样本库中所有的Android程序的安装文件用解压缩工具进行解压缩,获取源码文件——.dex文件;步骤三、对源码文件采用逆向工程工具进行反编译,获取smali代码;步骤四、逐条分析语句,映射操作码特征为RGB图像中的R通道像素点;步骤五、逐条分析语句,映射APIcalls特征为RGB图像中的G通道像素点;步骤六、逐条分析语句,映射高风险API特征为RGB图像中的B通道像素点;步骤七、合并R、G、B三通道生成特征图像;步骤八、基于上述样本的特征图像,使用机器学习的方式进行分类训练,生成相应的分类模型;步骤九、获取待分类样本文件;根据步骤二~步骤七,生成对应的特征图像;步骤十、根据步骤八生成的分类模型、且以九生成的特征向量为输入,对待分类程序进行分类,得到判别结果。2.根据权利要求1所述的基于RGB图像映射的安卓恶意软件识别方法,其特征在于,步骤四的操作步骤如下:步骤A、读取一行Smali代码;步骤B、对读入代码进行切割:操作码,参数1,参数2;步骤C、取操作码的16进制表示;步骤D、映射16进制为0-255的数值;步骤F、存储数字到一维数组。3.根据权利要求1所述的基于RGB图像映射的安卓恶意软件识别方法,其特征在于,步骤五的操作步骤如下:步骤a、读取一行Smal...

【专利技术属性】
技术研发人员:钱权赵永亮
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1