CN104809395A - 一种轻量级安卓恶意软件快速判断方法 - Google Patents
一种轻量级安卓恶意软件快速判断方法 Download PDFInfo
- Publication number
- CN104809395A CN104809395A CN201510196453.0A CN201510196453A CN104809395A CN 104809395 A CN104809395 A CN 104809395A CN 201510196453 A CN201510196453 A CN 201510196453A CN 104809395 A CN104809395 A CN 104809395A
- Authority
- CN
- China
- Prior art keywords
- software
- sample
- program
- feature
- authorities
- 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.)
- Pending
Links
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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
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)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种轻量级安卓恶意软件快速判断方法,从不同来源收集软件样本,分别组成恶意软件库和良性软件库这两个样本库;获取两个样本库中的Android程序安装文件的配置文件;对配置文件进行解码,提取权限向量,得到每个程序的权限集;对样本库进行特征提取得到46个权限,每个样本生成一个与之对应的46维的二进制特征向量;计算出与软件性质相关度最高的10个特征向量,并对每个样本特征标定类别;对10个特征向量的集合训练出分类模型;获取待测软件的安装文件,生成待测程序对应的特征向量;根据分类模型,以特征向量为输入,对待测软件进行分类,得到待测软件检测结果。与现有技术相比,本发明具有快速、简单的特点,可以作为各个安卓应用市场的初步审核工具。
Description
技术领域
本发明涉及软件检测、网络安全技术等多种领域,特别是一种安卓平台下的快速的恶意软件判断方法。
背景技术
智能手机是移动互联网的重要载体,随着移动互联网的迅速发展,智能手机市场规模也不断增长.Android系统由于其开源性,任何组织或个人编写的软件都可以上传到“应用商店”中,供用户下载并安装使用,因此已经占据全球智能手机出货量的75%。但是,智能手机市场的迅速发展也带来了与用户密切相关的恶意软件问题。
目前国际上对于智能手机恶意软件检测的研究所使用的方法主要可分为两类:基于规则的检测方法和基于异常的检测方法。其中,1)基于规则的检测方法将权限组合、行为足迹、作者信息等作为判定的规则,定义各种潜在的危险权限组合作为规则,通过检查特定的危险权限组合来中止潜在不安全应用的安装。2)基于异常的检测方法选取了权限、系统调用和功耗等作为学习的特征,并利用聚类和分类算法来区分正常和恶意的应用。两种方法中都应用了一些不同的机器学习算法,如Logistic回归分析(Logistic regression)和贝叶斯网络(Bayesian networks)来对应用程序分类。
发明内容
基于上述技术问题,本发明提出了一种轻量级安卓恶意软件快速判断方法,从而实现安卓操作系统下的恶意软件的有效检测。
本发明一种轻量级安卓恶意软件快速判断方法,该方法包括以下步骤:
步骤1、从不同来源收集软件样本,分别组成恶意程序库和良性程序库这两个样本库;
步骤2、对上述两个样本库中所有的Android程序的安装文件用逆向工程工具进行反编译,获取配置文件;
步骤3、对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程序对应的权限集;
步骤4、对样本库中所有的程序进行特征提取得到46个权限作为特征,分别计算出两个样本库当中上述46个权限的使用频度,筛选出频度差值高的前10位权限,作为本发明采用的10维特征,将10个权限中未使用的置0,使用到的置1,这样每个样本生成一个与之对应的10维的二进制特征向量;
步骤5、根据每个样本的来源,标定其良性或恶性的类别;
步骤6、对上述10个特征向量的集合训练出分类模型;
步骤7、获取待测程序的安装文件,如步骤2所述,生成待测程序对应的特征向量;
步骤8、根据步骤6生成的分类模型,以步骤7生成的特征向量为输入,对待测程序进行分类,得到待测软件是恶意程序还是良性程序的检测结果。
与现有技术相比,本发明具有快速、简单的特点,没有如动态检测技术中应用的繁杂的算法和较大的能耗,在维持一定的准确率的基础上提高了检测的速度。可以作为个人客户端查毒的基础判断方法,同时也可以作为各个安卓应用市场的初步审核工具。
附图说明
图1为本发明的恶意软件快速检测方法流程图。
具体实施方式
以下结合附图及具体实施方式,进一步详述本发明的技术方案。
本发明的整体思路是采用基于软件权限信息的静态检测方法,首先通过大量样本进行训练,得出较好的分类模型,然后对待检测的程序提取权限信息,输入分类模型后得出检测结果。
以一个具体实施例描述本发明流程,包括以下步骤:
第一阶段:
第一步,从Genome项目(一种本技术领域中有关打击基于Android的设备恶意软件为目的的“基因组计划”)中获取已经标定的恶意程序集A,从Google电子市场采集正常程序集B,从中各选取150个样本,组成本发明的样本库;
第二步,用AndroidKiller工具软件,配合Windows下的批处理程序,对样本库中所有APK安装软件进行反编译,获得每个样本对应的配置文件AndroidManifest.xml,并将其转存为txt格式,便于后期处理;
第三步,通过java程序,根据配置文件中声明权限的字段<uses-permission>,将每个样本的对应的权限集提取出来;
第四步,分别统计恶意集A和正常集B使用频率最高的前30个权限,共计60个为初步特征,随后将这两个集合中相同的权限排除,使得每个特征都对所属的类别有着更高的代表性,最终得到46个权限,这些选取的权限如表1所示。
第五步,在上述46个权限中筛选出频度差别较高的10个权限,10个权限的标签如下:
WRITE_EXTERNAL_STORAGE
ACCESS_WIFI_STATE
VIBRATE
WAKE_LOCK
ACCESS_COARSE_LOCATION
RECEIVE_BOOT_COMPLETED
WRITE_APN_SETTINGS
READ_CONTACTS
READ_SMS
RECEIVE_SMS
第六步,基于上述步骤获得的样本特征向量集,使用分类算法进行训练,得到最佳的分类模型,在实施例中,分别采用朴素贝叶斯(Bayes)、决策树(C4.5)、支持向量机(SVM)、临近算法(kNN)等算法,比较结果最终选取kNN为最佳算法。在本方案的选取的300个样本库中,使用该分类模型的准确率为96.07%;
第七步,对于待测软件,采用第二步、第三步和第五步对其进行特征提取,生成其特征向量。
第八步,将待测软件的特征向量,作为第六步生成训练模型的输入,得到最终的分类结果,即对该软件是否为恶意软件做出判断。
在具体检测时,对待测软件执行的上述第七步和第八步的处理参见如图1所示的流程,其包括以下步骤:
步骤101、提取配置文件的权限信息;此步骤采用上述的第二步、第三步和第五步对其进行特征提取,生成其特征向量;;
步骤102、顺序读10维特征向量,取权限集中的一个元素;
步骤103、判断该元素是否与待测权限匹配成功?
步骤104、如果成功,则对应的特征向量标为1;
步骤105、如果不成功,则对应的特征向量标为0;
步骤106、判断读取的权限信息是否为最后一个元素;如果否,则继续读取权限集中的下一元素,直至读完;
步骤107、如果是,则获得特征向量;
步骤108、作为上述的第六步生成训练模型的输入分类模型;
步骤109、得到判别结果,即对该软件是否为恶意软件做出判断。
本发明具有快速、简单的特点,没有如动态检测技术中应用的繁杂的算法和较大的能耗,在维持一定的准确率的基础上提高了检测的速度。可以作为个人客户端查毒的基础判断方法,同时也可以作为各个安卓应用市场的初步审核工具。
表1、本发明实施例的特征权限列表
1 BROADCAST_STICKY | 17 ACCESS_COARSE_LOCATION | 33 UNINSTALL_SHORTCUT |
2 WRITE_APN_SETTINGS | 18 ACCESS_COARSE_LOCATION | 34 RECEIVE_BOOT_COMPLETED |
3 READ_CONTACTS | 19 GET_TASKS | 35 CHANGE_NETWORK_STATE |
4 READ_SMS | 20 WRITE_SETTINGS | 36 RECEIVE_BOOT_COMPLETED |
5 RECEIVE_SMS | 21 CHANGE_WIFI_STATE | 37 MODIFY_AUDIO_SETTINGS |
6 SEND_SMS | 22 DISABLE_KEYGUARD | 38 MOUNT_UNMOUNT_FILESYSTEMS |
7 WRITE_SMS | 23 INSTALL_SHORTCUT | 39 RESTART_PACKAGES |
8 RESTART_PACKAGES | 24 WAKE_LOCK | 40 MANAGE_ACCOUNTS |
9.BLUETOOTH | 25 READ_LOGS | 41 WRITE_EXTERNAL_STORAGE |
10 FLASHLIGHT | 26 SYSTEM_ALERT_WINDOW | 42 USE_CREDENTIALS |
11 CALL_PHONE | 27 CAMERA | 43 KILL_BACKGROUND_PROCESSES |
12 DISABLE_KEYGUARD | 28 RECORD_AUDIO | 44 CHANGE_CONFIGURATION |
13 READ_LOGS | 29 READ_CONTACTS | 45 ACCESS_MOCK_LOCATION |
14 WRITE_CONTACTS | 30 GET_ACCOUNTS | 46 BLUETOOTH_ADMIN |
15 ACCESS_WIFI_STATE | 31 READ_EXTERNAL_STORAGE | |
16 VIBRATE | 32 CALL_PHONE |
以上所述,仅为本发明的较佳实施例而已,用于帮助理解本发明的方法及核心思想,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,所以本说明书内容不应理解为对本发明的限制。
Claims (2)
1.一种轻量级安卓恶意软件快速判断方法,其特征在于,该方法包括以下步骤:
步骤(1)、从不同来源收集软件样本,分别组成恶意程序库和良性程序库这两个样本库;
步骤(2)、对上述两个样本库中所有的Android程序的安装文件用逆向工程工具进行反编译,获取配置文件;
步骤(3)、对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程序对应的权限集;
步骤(4)、对样本库中所有的程序进行特征提取得到46个权限作为特征,分别计算出两个样本库当中上述46个权限的使用频度,筛选出频度差值高的前10位权限,作为本发明采用的10维特征,将10个权限中未使用的置0,使用到的置1,这样每个样本生成一个与之对应的10维的二进制特征向量;
步骤(5)、根据每个样本的来源,标定其良性或恶性的类别;
步骤(6)、对上述10个特征向量的集合训练出分类模型;
步骤(7)、获取待测程序的安装文件,如步骤(2)所述,生成待测程序对应的特征向量;
步骤(8)、根据步骤(6)生成的分类模型,以步骤(7)生成的特征向量为输入,对待测程序进行分类,得到待测软件是恶意程序还是良性程序的检测结果。
2.如权利要求1所述的一种轻量级安卓恶意软件快速判断方法,其特征在于,所述步骤(4)的对样本库中所有的程序进行特征提取得到46个权限作为特征,该处理的具体流程为:分别统计恶意集A和正常集B使用频率最高的前30个权限,共计60个为初步特征,随后将这两个集合中相同的权限排除,使得每个特征都对所属的类别有着更高的代表性,最终得到46个权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510196453.0A CN104809395A (zh) | 2015-04-23 | 2015-04-23 | 一种轻量级安卓恶意软件快速判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510196453.0A CN104809395A (zh) | 2015-04-23 | 2015-04-23 | 一种轻量级安卓恶意软件快速判断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104809395A true CN104809395A (zh) | 2015-07-29 |
Family
ID=53694208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510196453.0A Pending CN104809395A (zh) | 2015-04-23 | 2015-04-23 | 一种轻量级安卓恶意软件快速判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809395A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512558A (zh) * | 2016-01-07 | 2016-04-20 | 北京邮电大学 | 一种基于反编译模块特征的android广告插件检测方法 |
CN106411879A (zh) * | 2016-09-23 | 2017-02-15 | 北京网康科技有限公司 | 一种软件识别特征的获取方法和装置 |
CN106897615A (zh) * | 2015-12-18 | 2017-06-27 | 卓望数码技术(深圳)有限公司 | 一种安卓嫌疑软件的同源识别方法及装置 |
CN107832609A (zh) * | 2017-09-25 | 2018-03-23 | 暨南大学 | 基于权限特征的Android恶意软件检测方法及系统 |
CN108664792A (zh) * | 2018-05-21 | 2018-10-16 | 中国科学技术大学 | 一种Android恶意软件的溯源方法 |
CN109033833A (zh) * | 2018-07-13 | 2018-12-18 | 北京理工大学 | 一种基于多特征与特征选择的恶意代码分类方法 |
CN109818945A (zh) * | 2019-01-11 | 2019-05-28 | 中国科学院信息工程研究所 | 应用程序行为特征选择方法及装置 |
CN109858250A (zh) * | 2019-02-20 | 2019-06-07 | 哈尔滨工程大学 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
CN111444502A (zh) * | 2019-12-02 | 2020-07-24 | 武汉科技大学 | 面向种群的安卓恶意软件检测模型库方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473506A (zh) * | 2013-08-30 | 2013-12-25 | 北京奇虎科技有限公司 | 用于识别恶意apk文件的方法和装置 |
CN103473504A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于类别分析的Android恶意代码检测方法 |
CN104376262A (zh) * | 2014-12-08 | 2015-02-25 | 中国科学院深圳先进技术研究院 | 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法 |
-
2015
- 2015-04-23 CN CN201510196453.0A patent/CN104809395A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473506A (zh) * | 2013-08-30 | 2013-12-25 | 北京奇虎科技有限公司 | 用于识别恶意apk文件的方法和装置 |
CN103473504A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于类别分析的Android恶意代码检测方法 |
CN104376262A (zh) * | 2014-12-08 | 2015-02-25 | 中国科学院深圳先进技术研究院 | 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897615A (zh) * | 2015-12-18 | 2017-06-27 | 卓望数码技术(深圳)有限公司 | 一种安卓嫌疑软件的同源识别方法及装置 |
CN105512558A (zh) * | 2016-01-07 | 2016-04-20 | 北京邮电大学 | 一种基于反编译模块特征的android广告插件检测方法 |
CN106411879A (zh) * | 2016-09-23 | 2017-02-15 | 北京网康科技有限公司 | 一种软件识别特征的获取方法和装置 |
CN106411879B (zh) * | 2016-09-23 | 2019-06-14 | 北京网康科技有限公司 | 一种软件识别特征的获取方法和装置 |
CN107832609A (zh) * | 2017-09-25 | 2018-03-23 | 暨南大学 | 基于权限特征的Android恶意软件检测方法及系统 |
CN107832609B (zh) * | 2017-09-25 | 2020-11-13 | 暨南大学 | 基于权限特征的Android恶意软件检测方法及系统 |
CN108664792A (zh) * | 2018-05-21 | 2018-10-16 | 中国科学技术大学 | 一种Android恶意软件的溯源方法 |
CN109033833A (zh) * | 2018-07-13 | 2018-12-18 | 北京理工大学 | 一种基于多特征与特征选择的恶意代码分类方法 |
CN109033833B (zh) * | 2018-07-13 | 2021-04-09 | 北京理工大学 | 一种基于多特征与特征选择的恶意代码分类方法 |
CN109818945A (zh) * | 2019-01-11 | 2019-05-28 | 中国科学院信息工程研究所 | 应用程序行为特征选择方法及装置 |
CN109858250A (zh) * | 2019-02-20 | 2019-06-07 | 哈尔滨工程大学 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
CN111444502A (zh) * | 2019-12-02 | 2020-07-24 | 武汉科技大学 | 面向种群的安卓恶意软件检测模型库方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104809395A (zh) | 一种轻量级安卓恶意软件快速判断方法 | |
Feizollah et al. | A study of machine learning classifiers for anomaly-based mobile botnet detection | |
CN104794398A (zh) | 基于机器学习的安卓平台恶意软件检测方法 | |
CN105205397B (zh) | 恶意程序样本分类方法及装置 | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
Sabhadiya et al. | Android malware detection using deep learning | |
Gao et al. | Android malware detection via graphlet sampling | |
CN108446559B (zh) | 一种apt组织的识别方法及装置 | |
Sharma et al. | Mitigation and risk factor analysis of android applications | |
CN107392021B (zh) | 一种基于多类特征的Android恶意应用检测方法 | |
CN108694319B (zh) | 一种恶意代码家族判定方法及装置 | |
Dehkordy et al. | A new machine learning-based method for android malware detection on imbalanced dataset | |
CN107273746A (zh) | 一种基于apk字符串特征的变种恶意软件检测方法 | |
CN103473504A (zh) | 一种基于类别分析的Android恶意代码检测方法 | |
CN103312887A (zh) | 一种手机应用篡改识别系统、方法及装置 | |
Sun et al. | Malware detection on Android smartphones using keywords vector and SVM | |
El Fiky et al. | Detection of android malware using machine learning | |
Dehkordy et al. | DroidTKM: Detection of trojan families using the KNN classifier based on manhattan distance metric | |
CN113626810B (zh) | 基于敏感子图的安卓恶意软件检测方法及系统 | |
Ideses et al. | Adware detection and privacy control in mobile devices | |
Zhao et al. | Android malware detection based on sensitive permissions and apis | |
CN111444502B (zh) | 面向种群的安卓恶意软件检测模型库方法 | |
CN110197068B (zh) | 基于改进灰狼算法的Android恶意应用检测方法 | |
Ramana et al. | Machine Learning for a Payment Security Evaluation System for Mobile Networks | |
Ding et al. | Android malware detection method based on function call graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150729 |