CN108280348B - 基于rgb图像映射的安卓恶意软件识别方法 - Google Patents
基于rgb图像映射的安卓恶意软件识别方法 Download PDFInfo
- Publication number
- CN108280348B CN108280348B CN201810017825.2A CN201810017825A CN108280348B CN 108280348 B CN108280348 B CN 108280348B CN 201810017825 A CN201810017825 A CN 201810017825A CN 108280348 B CN108280348 B CN 108280348B
- Authority
- CN
- China
- Prior art keywords
- mapping
- android
- executing
- rgb image
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于RGB图像映射的安卓恶意软件识别方法,收集恶意程序集M组成样本库;通过将操作码、敏感API调用和高风险API特征映射成彩图,然后通过深度学习的方式学习特征图像,得出最佳分类模型,然后对待检测的程序生成特征彩图,输入分类模型后得出检测结果。与现有技术相比,本发明提高了恶意软件分类的效率和准确率;具有简单、高效的特点,避免了动态分析开销过大和操作过于发杂的弊端,在保证准确率的基础上大大提高了检测速度。
Description
技术领域
本发明涉及信息安全技术、逆向工程等多种领域,特别是涉及一种基于安卓操作系统平台的恶意软件的识别方法。
背景技术
随着互联网技术的飞速发展,及安卓系统跃居移动终端最大份额的操作系统,针对移动设备的安全威胁也越来越多。互联网协会总结了恶意软件的特征并给出定义:恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户的计算机或其他终端上安装运行,侵害用户合法权益的软件。由于安卓系统的开发特性,及国内第三方应用分发商检测监控不严格,导致针对安卓的恶意软件数量逐年上升。
目前,针对安卓平台下的恶意软件的检测,按照分析方式可分为动、静检测及基于云计算的检测。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:6 | Android.app:18 | Android.bluetooth:30 | Android.graphics:42 |
Android.hardware:54 | Android.media:66 | Android.location:78 | Android.nfc:90 |
Android.telephone:102 | Android.content:114 | Android.database:126 | Android.net:138 |
Java.net:150 | Android.os:162 | Android.service:174 | Dalvik.system:200 |
Java.lang:212 | Others:0 | Android.system:186 |
表格2高危API、其映射值及说明
Claims (5)
1.一种基于RGB图像映射的安卓恶意软件识别方法,其特征在于,操作步骤如下:
步骤一、收集足够量的标定的恶意程序集M,组成样本库;
步骤二、对样本库中所有的Android程序的安装文件用解压缩工具进行解压缩,获取源码文件——.dex文件;
步骤三、对源码文件采用逆向工程工具进行反编译,获取smali代码;
步骤四、逐条分析语句,映射操作码特征为RGB图像中的R通道像素点;
步骤五、逐条分析语句,映射API calls特征为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、读取一行Smali代码;
步骤b、对读入的代码进行切割:操作码,参数1,参数2;
步骤c、若操作码属于调用指令,执行步骤d,否则执行步骤h;
步骤d、取参数2,获取调用函数名称;
步骤f、若函数为敏感函数,执行步骤g,否则执行步骤h;
步骤g、按规则映射函数为1-255的数值,执行步骤i;
步骤h、置0;
步骤i、存储数字到一维数组。
4.根据权利要求1所述的基于RGB图像映射的安卓恶意软件识别方法,其特征在于,步骤六的操作步骤如下:
步骤1、读取一行Smali代码;
步骤2、对读入的代码进行切割:操作码,参数1,参数2;
步骤3、若操作码属于调用指令,执行步骤4,否则执行步骤7;
步骤4、取参数2,获取调用函数名称;
步骤5、若函数为高危API,执行步骤g,否则执行步骤7;
步骤6、按规则映射函数为1-255的数值,执行步骤8;
步骤7、置0;
步骤8、存储数字到一维数组。
5.根据权利要求1所述的基于RGB图像映射的安卓恶意软件识别方法,其特征在于:
首先,取权利要求1所述的基于RGB彩图映射的安卓平台恶意软件分类方法中步骤四到步骤五所生成的三个一维数组,分别作为RGB彩图的R、G、B三个通道的像素值;其中,步骤四所生成的数组作为R通道像素、步骤五生成的一维数组作为G通道的像素、步骤六生成的一维数组作为B通道的像素;
然后,使用相应的图像处理算法、将生成的RGB彩图归一化为64*64的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810017825.2A CN108280348B (zh) | 2018-01-09 | 2018-01-09 | 基于rgb图像映射的安卓恶意软件识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810017825.2A CN108280348B (zh) | 2018-01-09 | 2018-01-09 | 基于rgb图像映射的安卓恶意软件识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280348A CN108280348A (zh) | 2018-07-13 |
CN108280348B true CN108280348B (zh) | 2021-06-22 |
Family
ID=62803170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810017825.2A Active CN108280348B (zh) | 2018-01-09 | 2018-01-09 | 基于rgb图像映射的安卓恶意软件识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108280348B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829302B (zh) * | 2018-12-28 | 2021-01-22 | 中国科学院信息工程研究所 | Android恶意应用家族分类方法、装置与电子设备 |
CN109858250B (zh) * | 2019-02-20 | 2023-01-03 | 哈尔滨工程大学 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
CN110362995B (zh) * | 2019-05-31 | 2022-12-02 | 电子科技大学成都学院 | 一种基于逆向与机器学习的恶意软件检测及分析系统 |
CN116383819A (zh) * | 2020-03-10 | 2023-07-04 | 四川大学 | 一种Android恶意软件家族分类方法 |
CN111552966A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于信息融合的恶意软件同源性检测方法 |
CN112329016B (zh) * | 2020-12-31 | 2021-03-23 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
CN113222053B (zh) * | 2021-05-28 | 2022-03-15 | 广州大学 | 基于RGB图像和Stacking多模型融合的恶意软件家族分类方法、系统和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024112A (zh) * | 2010-12-17 | 2011-04-20 | 四川大学 | 基于静态特征的pe文件加壳检测方法 |
CN104091121A (zh) * | 2014-06-12 | 2014-10-08 | 上海交通大学 | 对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN107092829A (zh) * | 2017-04-21 | 2017-08-25 | 中国人民解放军国防科学技术大学 | 一种基于图像匹配的恶意代码检测方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
-
2018
- 2018-01-09 CN CN201810017825.2A patent/CN108280348B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024112A (zh) * | 2010-12-17 | 2011-04-20 | 四川大学 | 基于静态特征的pe文件加壳检测方法 |
CN104091121A (zh) * | 2014-06-12 | 2014-10-08 | 上海交通大学 | 对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN107092829A (zh) * | 2017-04-21 | 2017-08-25 | 中国人民解放军国防科学技术大学 | 一种基于图像匹配的恶意代码检测方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
Non-Patent Citations (2)
Title |
---|
Android恶意软件检测研究与进展;彭国军等;《武汉大学学报(理学版)》;20150228;第60卷(第1期);第21-33页 * |
基于进程行为分析恶意软件的识别技术;赵星等;《电脑知识与技术》;20100725;第6089页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108280348A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280348B (zh) | 基于rgb图像映射的安卓恶意软件识别方法 | |
CN109492395B (zh) | 一种检测恶意程序的方法、装置及存储介质 | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
CN108446559B (zh) | 一种apt组织的识别方法及装置 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN104202291A (zh) | 基于多因素综合评定方法的反钓鱼方法 | |
CN113904861B (zh) | 一种加密流量安全检测方法及装置 | |
US20230418943A1 (en) | Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
Darus et al. | Android malware classification using XGBoost on data image pattern | |
CN114024761B (zh) | 网络威胁数据的检测方法、装置、存储介质及电子设备 | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
Chen et al. | Android malware classification using XGBoost based on images patterns | |
Zuo | Defense of Computer Network Viruses Based on Data Mining Technology. | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
CN112732693B (zh) | 智能化物联网数据采集方法、装置、设备及存储介质 | |
CN113420295A (zh) | 恶意软件的检测方法及装置 | |
CN108509796B (zh) | 一种风险性的检测方法及服务器 | |
CN110691090B (zh) | 网站检测方法、装置、设备及存储介质 | |
CN112632538A (zh) | 一种基于混合特征的安卓恶意软件检测方法及系统 | |
CN115987687A (zh) | 网络攻击取证方法、装置、设备及存储介质 | |
CN115766090A (zh) | 一种多特征融合神经网络网络安全检测方法 | |
CN113553586B (zh) | 病毒检测方法、模型训练方法、装置、设备及存储介质 | |
CN114090650A (zh) | 一种样本数据识别方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |