CN105740709B - 一种基于权限组合的安卓恶意软件检测方法 - Google Patents

一种基于权限组合的安卓恶意软件检测方法 Download PDF

Info

Publication number
CN105740709B
CN105740709B CN201610064024.2A CN201610064024A CN105740709B CN 105740709 B CN105740709 B CN 105740709B CN 201610064024 A CN201610064024 A CN 201610064024A CN 105740709 B CN105740709 B CN 105740709B
Authority
CN
China
Prior art keywords
software
permission
score
malware
android
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
Application number
CN201610064024.2A
Other languages
English (en)
Other versions
CN105740709A (zh
Inventor
高健博
陈钟
李青山
关志
陈果
陈伟腾
秦煜
李洪生
轩志朋
王晓青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boyawangxin (beijing) Technology Co Ltd
Peking University
Original Assignee
Boyawangxin (beijing) Technology Co Ltd
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Boyawangxin (beijing) Technology Co Ltd, Peking University filed Critical Boyawangxin (beijing) Technology Co Ltd
Priority to CN201610064024.2A priority Critical patent/CN105740709B/zh
Publication of CN105740709A publication Critical patent/CN105740709A/zh
Application granted granted Critical
Publication of CN105740709B publication Critical patent/CN105740709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test 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

本发明涉及一种基于权限组合的安卓恶意软件检测方法,属于移动互联网网络安全技术领域,该方法基于权限组合对现有的基于权限的检测方法进行改进,大幅度降低现有技术对正常软件的误报率,同时在一定程度上提高对恶意软件的检出率;此外,本发明提出一种新的权限打分与软件打分方式,可以应用于恶意软件的初筛、大量恶意软件的快速检测、应用市场安全状态评估等需要快速、高效的对大量软件进行整体评估的场景。

Description

一种基于权限组合的安卓恶意软件检测方法
技术领域
本发明属于移动互联网网络安全技术领域,具体涉及一种基于权限组合的安卓恶意软件检测方法。
背景技术
随着移动通信技术的普及和电子产品价格的降低,越来越多的人开始使用移动智能设备;根据中国电子信息产业发展研究院(工业和信息化部赛迪智库)发布的《移动智能终端产业发展白皮书(2015版)》,2014年,全球智能实际用户数量达到17.5亿,80%的智能手机搭载Android系统;但是Android应用市场的审核机制过于松散,并且允许不通过市场直接安装第三方软件,所以安全性大大降低;特别是国内用户,因为应用市场缺乏统一管理和监督,用户有很大的可能面临恶意软件的威胁;因此,对Android恶意软件检测方法的研究有其必要性和紧迫性。
近年来,对移动终端软件安全性的研究也得到了国内外机构和专家越来越多的关注,研究者在这方面做了大量的工作;在检测方法上,可以分为静态检测和动态检测两大类,在静态检测方法中,大部分都是基于权限的检测方法,即通过一定的方法对软件的权限进行评分,再判断软件评分是否超出临界值,进而判断该软件是否为恶意软件;但是这种方法会造成一些需求大量权限的正常软件被误报为恶意软件,同时需求少量权限的恶意软件被报为正常软件的情况;而通过对恶意软件的行为进行分析,可以发现恶意软件的恶意行为的产生主要可分为以下几种:恶意扣费、隐私窃取、流氓行为、资源消耗、系统破坏、远程控制、诱骗欺诈、远程传播等。以隐私窃取为例,软件需同时具备隐私读取(例如读取通讯录、读取短信等)权限和发送(例如访问网络、发送短信等)权限才有可能产生恶意行为。如果某正常软件有相当多的隐私读取权限而没有发送权限,那么从隐私窃取的角度上看,软件就不会产生恶意行为。而通过现有的基于权限的检测方法检测,因为软件有过多的关于隐私读取的权限,因此评分会很高,有很大几率被误报为恶意软件。如果某恶意软件只有少量隐私读取权限和发送权限,但是因为形成了权限的闭环,因此仍然可能产生恶意行为。而通过现有的基于权限的检测方法检测,因为软件要求的权限较少,因此可能被漏报为正常软件。
此前,土耳其的Gazi University(加齐大学)于2015年1月在《DigitalInvestigation》上发表过一篇题为《APK Auditor:Permission-based Android malwaredetection system》文章,即是通过机器学习的方法,得到各权限的评分及总分的临界值,在测试的过程中,分为以下几个步骤:
1、反编译软件的APK文件;
2、提取APK文件中的权限描述;
3、根据之前机器学习的结果将权限打分相加,得到软件评分;
4、比较软件评分和机器学习得到的临界值,如果软件评分超过临界值,则认为是恶意软件;
表1
ROC analysis of test results on 2629 unique Android applications.
在Gazing University的APK Auditor工具检测结果中,如表1所示,在对恶意软件的检测中,从2485个恶意软件中成功检测出2300个,检出率为92.56%,但是在144个正常软件中,将123个误报为恶意软件,误报率为85.42%,尽管其中可能有部分为潜在的或之前漏报的恶意软件,但误报率仍然过高。
发明内容
针对现有技术的不足,本发明提出一种基于权限组合的安卓恶意软件检测方法,以达到降低误报率并提高对恶意软件的检出率的目的。
一种基于权限组合的安卓恶意软件检测方法,该方法对训练集中的软件进行权限分类组合并获得权限组合的评分,根据权限组合的评分获得评分临界值,将实际待检测安卓软件的评分与临界值进行比较,判断待检测安卓软件是否为恶意软件。
包括以下步骤:
步骤1、对训练集中已知的安卓权限进行分类,包括:接收信息类、发送信息类、操作类和其他类;
步骤2、确定安卓权限的组合形式,包括:提取操作类、操作类-发送信息类、接收信息类-操作类、接收信息类-操作类-发送信息类,并对训练集中已知的安卓权限进行组合;
步骤3、将训练集中的安卓恶意软件的apk文件进行反编译,获得所有恶意软件的权限列表;
步骤4、将训练集中的同等数量的安卓正常软件的apk文件进行反编译,获得所有正常软件的权限列表;
步骤5、根据每种权限组合在恶意软件权限列表中出现的概率和在正常软件权限列表中出现的概率,获得每种权限组合的得分;
步骤6、根据每个软件中所有权限组合的得分,求和获得该软件的得分;
步骤7、采用逻辑回归函数描述恶意软件概率的分布情况,设定概率期望值,进而获得该期望值下的得分临界值;
步骤8、将实际待检测安卓软件的apk文件进行反编译,获得权限列表,根据权限列表中权限组合的得分,计算该待检测软件的得分;
步骤9、判断该待检测软件的得分是否大于临界值,若是,则为恶意软件,否则为正常软件。
步骤5所述的根据每种权限组合在恶意软件权限列表中出现的概率和在正常软件权限列表中出现的概率,获得每种权限组合的得分,具体如下:
计算每个权限组合x的得分PSr
其中,P(x∈T1)表示权限组合x在恶意软件权限列表T1中出现的概率,P(x∈T1)=T1中含有x的软件数量/T1中含有软件的数量;P(x∈T2)表示权限组合x在正常软件权限列表T2中出现的概率,P(x∈T2)=T2中含有x的软件数量/T2中含有软件的数量;PS为PermissionScore的缩写。
步骤6所述的根据每个软件中所有权限组合的得分,求和获得该软件的得分;具体如下:
每个软件s的得分SSs
SSs=∑PSx∈s (2)
其中,PSx∈s表示软件s中权限组合x的得分,SS为Software Score的缩写。
本发明优点:
本发明提出一种基于权限组合的安卓恶意软件检测方法,该方法基于权限组合对现有的基于权限的检测方法进行改进,大幅度降低现有技术对正常软件的误报率,同时在一定程度上提高对恶意软件的检出率;此外,本发明提出一种新的权限打分与软件打分方式,可以应用于恶意软件的初筛、大量恶意软件的快速检测、应用市场安全状态评估等需要快速、高效的对大量软件进行整体评估的场景。
附图说明
图1为本发明一种实施例的基于权限组合的安卓恶意软件检测过程示意图;
图2为本发明一种实施例的基于权限组合的安卓恶意软件检测方法流程图。
具体实施方式
下面结合附图对本发明一种实施例做进一步说明。
本发明实施例中,如图1所示,基于权限组合的安卓恶意软件检测方法,首先对权限进行分类,同一权限可能属于多个类,可分为接收信息类(可从远程接收指令的权限,读取短信,读取彩信,访问网络等)、发送信息类(可将信息发送到远程的权限,发送短信,发送彩信,访问网络等)、操作类(可在本地操作的权限,读取短信,发送短信,重启设备,录音,访问摄像头等)、其他类(低敏感权限,例如:设置总是退出,设置屏幕方向,设置动画缩放等)。对操作类、操作类-发送信息类、接收信息类-操作类、接收信息类-操作类-发送信息类所形成的组合分别进行评分,得到操作类权限权限和不同权限形成组合(符合组合类型的各权限的笛卡尔积)的评分,同时得到判断软件是否为恶意软件的临界值;将实际待检测安卓软件的评分与临界值进行比较,判断待检测安卓软件是否为恶意软件。
本发明实施例中,以4个软件为例,其中,2个为恶意软件,2个为正常软件,其权限如表2所示:
表2
本发明实施例中,如图2所示,具体包括以下步骤:
步骤1、对训练集中已知的Android权限进行分类,分为接收信息类,发送信息类,操作类和其他类四大类;
本发明实施例中,涉及到接收信息类:读取短信;操作类:读取短信,录音;
步骤2、确定安卓权限的组合形式,包括:提取操作类、操作类-发送信息类、接收信息类-操作类、接收信息类-操作类-发送信息类,并对训练集中已知的安卓权限进行组合;
本发明实施例中,涉及到操作类:读取短信,录音;接收信息类-操作类:读取短信-录音;
步骤3、将训练集中的安卓恶意软件的apk文件进行反编译,获得所有恶意软件的权限列表T1
步骤4、将训练集中的同等数量的安卓正常软件的apk文件进行反编译,获得所有正常软件的权限列表T2
步骤5、根据每种权限组合在恶意软件权限列表中出现的概率和在正常软件权限列表中出现的概率,获得每种权限组合的得分;具体如下:
计算每个权限组合x的得分PSx
其中,P(x∈T1)表示权限组合x在恶意软件权限列表T1中出现的概率,P(x∈T1)=T1中含有x的软件数量/T1中含有软件的数量;P(x∈T2)表示权限组合x在正常软件权限列表T2中出现的概率,P(x∈T2)=T2中含有x的软件数量/T2中含有软件的数量;PS为PermissionScore的缩写。
本发明实施例中,读取短信的得分如下:
同理,获得PS录音=1,PS读取短信-录音=1;
步骤6、根据每个软件中所有权限组合的得分,求和获得该软件的得分;具体如下:
每个软件s的得分SSs
SSs=∑PSx∈s (2)
其中,PSx∈s表示软件s中权限组合x的得分,SS为Software Score的缩写。
本发明实施例中,SS恶意软件A=2+1+1=4;
步骤7、采用逻辑回归函数描述恶意软件概率的分布情况,设定概率期望值,进而获得该期望值下的得分临界值;
本发明实施例中,逻辑回归函数:
其中,Ps为软件s是恶意软件的概率;
本发明实施例中,采用迭代的方法计算逻辑回归函数中的变量α和β的值,再根据α和β计算判断软件为恶意软件的得分的临界值SSmalware,使则临界值SSmalware为软件是恶意软件的概率为0.5时软件的得分;所述的迭代方法采用最大似然法来求得,通常最大似然被称作代价函数。在优化求解的过程中,要用到迭代方法,通常采用的几种方法为梯度下降、改进的梯度下降,随机梯度下降,改进的随机梯度下降等迭代方法。
步骤8、将实际待检测安卓软件的apk文件进行反编译,获得权限列表,根据权限列表中权限组合的得分,计算该待检测软件的得分;
步骤9、判断该待检测软件的得分是否大于临界值,若是,则为恶意软件,否则为正常软件。

Claims (3)

1.一种基于权限组合的安卓恶意软件检测方法,其特征在于,该方法对训练集中的软件进行权限分类组合并获得权限组合的评分,根据权限组合的评分获得评分临界值,将实际待检测安卓软件的评分与临界值进行比较,判断待检测安卓软件是否为恶意软件;
其特征在于,包括以下步骤:
步骤1、对训练集中已知的安卓权限进行分类,包括:接收信息类、发送信息类、操作类和其他类;
步骤2、确定安卓权限的组合形式,包括:提取操作类、操作类-发送信息类、接收信息类-操作类和接收信息类-操作类-发送信息类,并对训练集中已知的安卓权限进行组合;
步骤3、将训练集中的安卓恶意软件的apk文件进行反编译,获得所有恶意软件的权限列表;
步骤4、将训练集中的同等数量的安卓正常软件的apk文件进行反编译,获得所有正常软件的权限列表;
步骤5、根据每种权限组合在恶意软件权限列表中出现的概率和在正常软件权限列表中出现的概率,获得每种权限组合的得分;
步骤6、根据每个软件中所有权限组合的得分,求和获得该软件的得分;
步骤7、采用逻辑回归函数描述恶意软件概率的分布情况,设定概率期望值,进而获得该期望值下的得分临界值;
步骤8、将实际待检测安卓软件的apk文件进行反编译,获得权限列表,根据权限列表中权限组合的得分,计算该待检测软件的得分;
步骤9、判断该待检测软件的得分是否大于临界值,若是,则为恶意软件,否则为正常软件。
2.根据权利要求1所述的基于权限组合的安卓恶意软件检测方法,其特征在于,步骤5所述的根据每种权限组合在恶意软件权限列表中出现的概率和在正常软件权限列表中出现的概率,获得每种权限组合的得分,具体如下:
计算每个权限组合x的得分PSx
(1)
其中,P(x∈T1)表示权限组合x在恶意软件权限列表T1中出现的概率,P(x∈T1)= T1中含有x的软件数量/T1中含有软件的数量;P(x∈T2)表示权限组合x在正常软件权限列表T2中出现的概率,P(x∈T2)= T2中含有x的软件数量/ T2中含有软件的数量;PS为PermissionScore的缩写。
3.根据权利要求1所述的基于权限组合的安卓恶意软件检测方法,其特征在于,步骤6所述的根据每个软件中所有权限组合的得分,求和获得该软件的得分;具体如下:
每个软件s的得分SSs
(2)
其中,PSx∈s表示软件s中权限组合x的得分,SS为Software Score的缩写。
CN201610064024.2A 2016-01-29 2016-01-29 一种基于权限组合的安卓恶意软件检测方法 Active CN105740709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610064024.2A CN105740709B (zh) 2016-01-29 2016-01-29 一种基于权限组合的安卓恶意软件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610064024.2A CN105740709B (zh) 2016-01-29 2016-01-29 一种基于权限组合的安卓恶意软件检测方法

Publications (2)

Publication Number Publication Date
CN105740709A CN105740709A (zh) 2016-07-06
CN105740709B true CN105740709B (zh) 2018-09-28

Family

ID=56247097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610064024.2A Active CN105740709B (zh) 2016-01-29 2016-01-29 一种基于权限组合的安卓恶意软件检测方法

Country Status (1)

Country Link
CN (1) CN105740709B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062472A (zh) * 2016-11-07 2018-05-22 武汉安天信息技术有限责任公司 一种安卓平台下勒索应用的检测方法及系统
CN108337358B (zh) * 2017-09-30 2020-01-14 Oppo广东移动通信有限公司 应用清理方法、装置、存储介质及电子设备
CN109753808B (zh) * 2018-11-19 2020-09-11 中国科学院信息工程研究所 一种隐私泄漏风险评估方法及装置
CN109583207A (zh) * 2018-11-29 2019-04-05 海南新软软件有限公司 Android系统恶意应用程序检测方法、装置及终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106365A (zh) * 2013-01-25 2013-05-15 北京工业大学 一种移动终端上的恶意应用软件的检测方法
CN103310153A (zh) * 2013-04-28 2013-09-18 中国人民解放军理工大学 一种基于Android平台的细粒度权限控制方法
CN103440456A (zh) * 2013-09-06 2013-12-11 Tcl集团股份有限公司 一种应用程序安全评估的方法及装置
CN104598825A (zh) * 2015-01-30 2015-05-06 南京邮电大学 一种基于改进贝叶斯算法的安卓恶意软件检测方法
CN105205396A (zh) * 2015-10-15 2015-12-30 上海交通大学 一种基于深度学习的安卓恶意代码检测系统及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572674B2 (en) * 2008-08-13 2013-10-29 International Business Machines Corporation System, method, and apparatus for modular, string-sensitive, access rights analysis with demand-driven precision

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106365A (zh) * 2013-01-25 2013-05-15 北京工业大学 一种移动终端上的恶意应用软件的检测方法
CN103310153A (zh) * 2013-04-28 2013-09-18 中国人民解放军理工大学 一种基于Android平台的细粒度权限控制方法
CN103440456A (zh) * 2013-09-06 2013-12-11 Tcl集团股份有限公司 一种应用程序安全评估的方法及装置
CN104598825A (zh) * 2015-01-30 2015-05-06 南京邮电大学 一种基于改进贝叶斯算法的安卓恶意软件检测方法
CN105205396A (zh) * 2015-10-15 2015-12-30 上海交通大学 一种基于深度学习的安卓恶意代码检测系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于权限组合的Android 安全检测方案的研究;种伟龙;《无线通信技术》;20151231(第4期);第33-36页 *

Also Published As

Publication number Publication date
CN105740709A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
Tao et al. MalPat: Mining patterns of malicious and benign Android apps via permission-related APIs
CN105740709B (zh) 一种基于权限组合的安卓恶意软件检测方法
Canfora et al. A classifier of malicious android applications
Zhao et al. AntiMalDroid: An efficient SVM-based malware detection framework for android
CN104376262A (zh) 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法
CN103106365B (zh) 一种移动终端上的恶意应用软件的检测方法
CN106295349A (zh) 账号被盗的风险识别方法、识别装置及防控系统
CN108280350A (zh) 一种面向Android的移动网络终端恶意软件多特征检测方法
Li et al. Opcode sequence analysis of Android malware by a convolutional neural network
CN103699823B (zh) 基于用户行为模式的身份认证系统及其方法
CN106200891A (zh) 显示用户界面的方法、装置及系统
CN107092830A (zh) 基于流量分析的ios恶意软件预警和检测系统及其方法
CN104751052A (zh) 基于svm算法的移动智能终端软件的动态行为分析方法
CN104008332A (zh) 一种基于Android平台的入侵检测系统
CN105447388B (zh) 一种基于权重的安卓恶意代码检测系统及方法
CN107273752B (zh) 基于词频统计和朴素贝叶斯融合模型的漏洞自动分类方法
CN105005720A (zh) 计算机安全控制系统
CN106845220B (zh) 一种Android恶意软件检测系统及方法
CN106599688A (zh) 一种基于应用类别的安卓恶意软件检测方法
CN107256357A (zh) 基于深度学习的安卓恶意应用的检测和分析方法
CN103136476A (zh) 移动智能终端恶意软件分析系统
CN112784269B (zh) 恶意软件检测方法、装置和计算机存储介质
CN109684837A (zh) 一种面向电力企业的移动应用恶意软件检测方法及系统
CN116010947A (zh) 一种基于异质网络的Android恶意软件检测方法
CN109413047A (zh) 行为模拟的判定方法、系统、服务器及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant