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

基于权限特征的Android恶意软件检测方法及系统技术方案

技术编号:17541898 阅读:52 留言:0更新日期:2018-03-24 19:14
本发明专利技术公开了一种基于权限特征的Android恶意软件检测方法和系统,步骤:构建第一训练样本集和第二训练样本集,提取各训练样本第一权限特征向量,根据d值挑选出权限特征构造第一权限特征集合,生成第一训练样本集中各训练样本第二权限特征向量,并构建关联系数矩阵;将第一训练样本集中各训练样本关联矩阵求和输入PPR算法,得到第一权限特征集合中每种权限特征的权限值;根据第一权限特征集合生成测试样本权限特征向量,利用第一权限特征集合中每种权限特征的权限值计算出测试样本所申请的权限特征权重η,将η与判断因子进行比较,判断出测试样本是否为Android恶意软件;该方法大大提高了Android恶意软件的检测准确率。

Android malware detection method and system based on privilege characteristics

The invention discloses a step Android malware detection method and system based on the characteristics of the construction of the first authority: training set and second training samples, extracted from each training sample first access feature vector, according to the D value selected set of permissions features first permissions features, generating a first training sample set each training sample second permission features vector, and construct the correlation coefficient matrix; the first training set for each training sample correlation matrix and input PPR algorithm is obtained for each feature set permissions permissions in the first privilege characteristic value; according to the collection of the first generation of test sample access privilege characteristic feature vector, using the first authority in the feature set each feature value of authority access permissions feature weight calculation test sample for ETA, the ETA and judgment factor comparison, judgment test The sample is Android malware; this method greatly improves the detection accuracy of Android malware.

【技术实现步骤摘要】
基于权限特征的Android恶意软件检测方法及系统
本专利技术涉及恶意软件的检测方法,特别涉及一种基于权限特征的Android恶意软件检测方法及系统。
技术介绍
移动互联网的火热已经引领了新的互联网的浪潮,Android已成为了移动互联网时代最流行的移动操作系统。Android流行的同时其本身的安全问题也日益凸显,比如安全漏洞被频频利用、恶意应用数量呈爆炸式增长,用户隐私和财产面临着严重的安全威胁。因此研究Android应用的安全性问题具有重要的学术和应用价值。Android恶意软件给用户的日常使用带来了很大影响,常见问题有:骚扰电话和短信、手机运行慢或死机、无故消耗流量、通知栏和弹窗广告、恶意扣费、手机内文件及数据被破坏、通讯录短信等个人信息泄露、手机中毒或木马和账号信息被窃取等等。这些问题都是由于恶意软件的恶意行为导致,其主要包括:a)通过劫持系统的短信和拨号,在后台自动拨打扣费号码或者发送扣费短信恶意吸费;b)后台默默获取隐私信息,将隐私信息经由网络或短信外泄给诈骗团伙诱骗欺诈;c)通过消耗系统资源、锁定手机等方式影响用户使用,并通过破坏系统的权益来为恶意App牟利;d)窃取隐私信息导致账号被盗及后续并发问题。目前,典型的Android恶意代码检测技术主要有基于特征码的检测方式和基于行为的检测方式,基于行为的检测方式主要有静态检测和动态检测两种方式。静态检测技术主要通过反编译应用程序获得软件的组件,申请的权限,调用的API等信息,然后选择其中的一种或几种作为特征,与恶意样本库中的样本进行对比从而判断该应用程序是否是恶意的,但由于恶意样本的变种速度之快使得这种检测方式识别准确率不尽如人意
技术实现思路
本专利技术的第一目的在于克服现有技术的缺点与不足,提供一种基于权限特征的Android恶意软件检测方法,该方法大大提高了Android恶意软件的检测准确率。本专利技术的第二目的在于提供一种基于权限特征的Android恶意软件检测系统。本专利技术的第一目的通过下述技术方案实现:一种基于权限特征的Android恶意软件检测方法,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本构造第一训练样本集,获取一定数量的Android非恶意软件训练样本构造第二训练样本集;步骤S2、针对于第一训练样本集和第二训练样本集中的各训练样本,分析出对应各APK文件中所申请的权限,从而生成训练样本的第一权限特征向量;其中各训练样本的第一权限特征向量由多个元素组成,其中一个元素对应表达一种权限特征是否被该训练样本申请;步骤S3、扫描第一训练样本集和第二训练样本集中各训练样本的第一权限特征向量,计算各种权限特征在第一训练样本集的d值以及计算各种权限特征在第二训练样本集的d值;然后针对每一权限特征,比较该权限特征在第一训练样本集的d值以及在第二训练样本集的d值;最后从中选取出在第一训练样本集的d值大于在第二训练样本集的d值的权限特征,由上述选取出来的各种权限特征构成第一权限特征集合;其中各种权限特征在第一训练样本集的d值为:第一训练样本集中申请该权限特征的训练样本总数除以第一训练样本集所有训练样本的总数;其中各种权限特征在第二训练样本集的d值为:第二训练样本集中申请该权限特征的训练样本总数除以第二训练样本集所有训练样本的总数;步骤S4、针对于第一权限特征集合中的各种权限特征,计算出各种权限特征在第一训练样本集的d值和在第二训练样本集的d值之比,取整后作为对应各种权限特征的初始权值;同时,针对于第一训练样本集的各训练样本,分析出其APK文件中所申请的权限,然后根据第一权限特征集合得到该训练样本的第二权限特征向量,其中该训练样本的第二权限特征向量的各元素对应表达的是第一权限特征集合中的各种权限特征是否被该训练样本申请;步骤S5、针对于第一训练样本集的各训练样本,扫描其第二权限特征向量,获取到各训练样本针对于第一权限特征集合中各种权限特征的申请情况,从而对应生成各训练样本的关联矩阵;其中各训练样本的关联矩阵中各元素对应记录第一权限特征集合中各种权限特征之间的关联系数,包括各种权限特征与其他另一种权限特征之间的关联系数以及各种权限特征与本身之间的关联系数;其中按照以下规则生成关联矩阵:针对第一权限特征集合中各种权值特征与其他另一种权限特征,若训练样本同时申请该种权限特征和其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值与其他另一种权限特征的初始权值相加之和,若训练样本只申请到该种权限或其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值或其他另一种权限特征的初始权值,若训练样本既未申请该种权限也未申请其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一权限特征之间的关联系数为零;针对于各种权限特征与本身之间的关联系数,关联矩阵中对应元素记录该种权限特征与本身之间的关联系数为该种权限特征的初始权值;步骤S6、将步骤S5中获取到的第一训练样本集中各训练样本的关联矩阵相加得到矩阵和X,把矩阵和X经过PPR算法后得到第一权限特征集合中每种权限特征的权限值:Y=[PV1,PV2,…,PVn];Y=[PV1,PV2,…,PVn]=[PPR(X)];其中PV1至PVn分别对应为第一权限特征集合中第1种权限特征至第n种权限特征的权限值,n为第一权限特征集合中权限特征的种类数;Y为第一权限特征集合中第1种权限特征至第n种权限特征的权限值构成的矩阵;步骤S7、将需要检测其是否为恶意软件的Android软件作为测试样本,针对于测试样本,分析出其APK文件中所申请的权限,得到测试样本的权限特征向量,其中测试样本的权限特征向量由多个元素组成,其中一个元素对应表达第一权限特征集合中其中一种权限特征是否被测试样本申请;然后根据测试样本的权限特征向量以及步骤S6中获取到的第一权限特征集合中每种权限特征的权限值,通过以下公式计算得到测试样本所申请的权限特征的权重η:其中T为测试样本的权限特征向量,PVm为第一权限特征集合中第m种权限特征的权限值;步骤S8、将步骤S7得到的测试样本所申请的权限特征的权重η与判断因子k进行比较,若测试样本所申请的权限特征的权重η大于判断因子k,则将测试样本判断为Android恶意软件。优选的,所述步骤S8中判断因子k为0.25~0.35中的其中一个值。优选的,所述步骤S2中,获取到训练样本的第一权限特征向量的具体过程如下:步骤S21、通过开源Android静态分析工具Androguard分析训练样本的安装包APK:首先将APK文件解析成一个对象,接着生成APK文件申请的权限列表,然后将对应权限列表写入到其初步分析文本中;步骤S22、针对于各训练样本,逐行扫描其初步分析文件,若扫描到某种权限特征,则将该训练样本的第一权限特征向量中表达该种权限特征是否被该训练样本申请的对应元素置为一个值,表达该种权限特征被该训练样本申请;针对于没有在该训练样本的初步分析文件中扫描到的权限特征,将该训练样本的第一权限特征向量中表达该种权限特征是否被申请的对应元素置为另一个值,表达该种权限特征未被该训练样本申请。本文档来自技高网
...
基于权限特征的Android恶意软件检测方法及系统

【技术保护点】
一种基于权限特征的Android恶意软件检测方法,其特征在于,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本构造第一训练样本集,获取一定数量的Android非恶意软件训练样本构造第二训练样本集;步骤S2、针对于第一训练样本集和第二训练样本集中的各训练样本,分析出对应各APK文件中所申请的权限,从而生成训练样本的第一权限特征向量;其中各训练样本的第一权限特征向量由多个元素组成,其中一个元素对应表达一种权限特征是否被该训练样本申请;步骤S3、扫描第一训练样本集和第二训练样本集中各训练样本的第一权限特征向量,计算各种权限特征在第一训练样本集的d值以及计算各种权限特征在第二训练样本集的d值;然后针对每一权限特征,比较该权限特征在第一训练样本集的d值以及在第二训练样本集的d值;最后从中选取出在第一训练样本集的d值大于在第二训练样本集的d值的权限特征,由上述选取出来的各种权限特征构成第一权限特征集合;其中各种权限特征在第一训练样本集的d值为:第一训练样本集中申请该权限特征的训练样本总数除以第一训练样本集所有训练样本的总数;其中各种权限特征在第二训练样本集的d值为:第二训练样本集中申请该权限特征的训练样本总数除以第二训练样本集所有训练样本的总数;步骤S4、针对于第一权限特征集合中的各种权限特征,计算出各种权限特征在第一训练样本集的d值和在第二训练样本集的d值之比,取整后作为对应各种权限特征的初始权值;同时,针对于第一训练样本集的各训练样本,分析出其APK文件中所申请的权限,然后根据第一权限特征集合得到该训练样本的第二权限特征向量,其中该训练样本的第二权限特征向量的各元素对应表达的是第一权限特征集合中的各种权限特征是否被该训练样本申请;步骤S5、针对于第一训练样本集的各训练样本,扫描其第二权限特征向量,获取到各训练样本针对于第一权限特征集合中各种权限特征的申请情况,从而对应生成各训练样本的关联矩阵;其中各训练样本的关联矩阵中各元素对应记录第一权限特征集合中各种权限特征之间的关联系数,包括各种权限特征与其他另一种权限特征之间的关联系数以及各种权限特征与本身之间的关联系数;其中按照以下规则生成关联矩阵:针对第一权限特征集合中各种权值特征与其他另一种权限特征,若训练样本同时申请该种权限特征和其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值与其他另一种权限特征的初始权值相加之和,若训练样本只申请到该种权限或其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值或其他另一种权限特征的初始权值,若训练样本既未申请该种权限也未申请其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一权限特征之间的关联系数为零;针对于各种权限特征与本身之间的关联系数,关联矩阵中对应元素记录该种权限特征与本身之间的关联系数为该种权限特征的初始权值;步骤S6、将步骤S5中获取到的第一训练样本集中各训练样本的关联矩阵相加得到矩阵和X,把矩阵和X经过PPR算法后得到第一权限特征集合中每种权限特征的权限值:Y=[PV1,PV2,…,PVn];Y=[PV1,PV2,…,PVn]=[PPR(X)];其中PV1至PVn分别对应为第一权限特征集合中第1种权限特征至第n种权限特征的权限值,n为第一权限特征集合中权限特征的种类数;Y为第一权限特征集合中第1种权限特征至第n种权限特征的权限值构成的矩阵;步骤S7、将需要检测其是否为恶意软件的Android软件作为测试样本,针对于测试样本,分析出其APK文件中所申请的权限,得到测试样本的权限特征向量,其中测试样本的权限特征向量由多个元素组成,其中一个元素对应表达第一权限特征集合中其中一种权限特征是否被测试样本申请;然后根据测试样本的权限特征向量以及步骤S6中获取到的第一权限特征集合中每种权限特征的权限值,通过以下公式计算得到测试样本所申请的权限特征的权重η:...

【技术特征摘要】
1.一种基于权限特征的Android恶意软件检测方法,其特征在于,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本构造第一训练样本集,获取一定数量的Android非恶意软件训练样本构造第二训练样本集;步骤S2、针对于第一训练样本集和第二训练样本集中的各训练样本,分析出对应各APK文件中所申请的权限,从而生成训练样本的第一权限特征向量;其中各训练样本的第一权限特征向量由多个元素组成,其中一个元素对应表达一种权限特征是否被该训练样本申请;步骤S3、扫描第一训练样本集和第二训练样本集中各训练样本的第一权限特征向量,计算各种权限特征在第一训练样本集的d值以及计算各种权限特征在第二训练样本集的d值;然后针对每一权限特征,比较该权限特征在第一训练样本集的d值以及在第二训练样本集的d值;最后从中选取出在第一训练样本集的d值大于在第二训练样本集的d值的权限特征,由上述选取出来的各种权限特征构成第一权限特征集合;其中各种权限特征在第一训练样本集的d值为:第一训练样本集中申请该权限特征的训练样本总数除以第一训练样本集所有训练样本的总数;其中各种权限特征在第二训练样本集的d值为:第二训练样本集中申请该权限特征的训练样本总数除以第二训练样本集所有训练样本的总数;步骤S4、针对于第一权限特征集合中的各种权限特征,计算出各种权限特征在第一训练样本集的d值和在第二训练样本集的d值之比,取整后作为对应各种权限特征的初始权值;同时,针对于第一训练样本集的各训练样本,分析出其APK文件中所申请的权限,然后根据第一权限特征集合得到该训练样本的第二权限特征向量,其中该训练样本的第二权限特征向量的各元素对应表达的是第一权限特征集合中的各种权限特征是否被该训练样本申请;步骤S5、针对于第一训练样本集的各训练样本,扫描其第二权限特征向量,获取到各训练样本针对于第一权限特征集合中各种权限特征的申请情况,从而对应生成各训练样本的关联矩阵;其中各训练样本的关联矩阵中各元素对应记录第一权限特征集合中各种权限特征之间的关联系数,包括各种权限特征与其他另一种权限特征之间的关联系数以及各种权限特征与本身之间的关联系数;其中按照以下规则生成关联矩阵:针对第一权限特征集合中各种权值特征与其他另一种权限特征,若训练样本同时申请该种权限特征和其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值与其他另一种权限特征的初始权值相加之和,若训练样本只申请到该种权限或其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一种权限特征之间的关联系数为该种权限特征的初始权值或其他另一种权限特征的初始权值,若训练样本既未申请该种权限也未申请其他另一种权限特征,则关联矩阵中对应元素记录的该种权值特征与其他另一权限特征之间的关联系数为零;针对于各种权限特征与本身之间的关联系数,关联矩阵中对应元素记录该种权限特征与本身之间的关联系数为该种权限特征的初始权值;步骤S6、将步骤S5中获取到的第一训练样本集中各训练样本的关联矩阵相加得到矩阵和X,把矩阵和X经过PPR算法后得到第一权限特征集合中每种权限特征的权限值:Y=[PV1,PV2,…,PVn];Y=[PV1,PV2,…,PVn]=[PPR(X)];其中PV1至PVn分别对应为第一权限特征集合中第1种权限特征至第n种权限特征的权限值,n为第一权限特征集合中权限特征的种类数;Y为第一权限特征集合中第1种权限特征至第n种权限特征的权限值构成的矩阵;步骤S7、将需要检测其是否为恶意软件的Android软件作为测试样本,针对于测试样本,分析出其APK文件中所申请的权限,得到测试样本的权限特征向量,其中测试样本的权限特征向量由多个元素组成,其中一个元素对应表达第一权限特征集合中其中一种权限特征是否被测试样本申请;然后根据测试样本的权限特征向量以及步骤S6中获取到的第一权限特征集合中每种权限特征的权限值,通过以下公式计算得到测试样本所申请的权限特征的权重η:其中T为测试样本的权限特征向量,PVm为第一权限特征集合中第m种权限特征的权限值;步骤S8、将步骤S7得到的测试样本所申请的权限特征的权重η与判断因子k进行比较,若测试样本所申请的权限特征的权重η大于判断因子k,则将测试样本判断为Android恶意软件。2.根据权利要求1所述的基于权限特征的Android恶意软件检测方法,其特征在于,所述步骤S8中判断因子k为0.25~0.35中的其中一个值。3.根据权利要求1所述的基于权限特征的Android恶意软件检测方法,其特征在于,所述步骤S2中,获取到训练样本的第一权限特征向量的具体过程如下:步骤S21、通过开源Android静态分析工具Androguard分析训练样本的安装包APK:首先将APK文件解析成一个对象,接着生成APK文件申请的权限列表,然后将对应权限列表写入到其初步分析文本中;步骤S22、针对于各训练样本,逐行扫描其初步分析文件,若扫描到某种权限特征,则将该训练样本的第一权限特征向量中表达该种权限特征是否被该训练样本申请的对应元素置为一个值,表达该种权限特征被该训练样本申请;针对于没有在该训练样本的初步分析文件中扫描到的权限特征,将该训练样本的第一权限特征向量中表达该种权限特征是否被申请的对应元素置为另一个值,表达该种权限特征未被该训练样本申请。4.根据权利要求3所述的基于权限特征的Android恶意软件检测方法,其特征在于,所述步骤S22中,针对于各训练样本,逐行扫描其初步分析文件,若扫描到某种权限特征,则将该训练样本的第一权限特征向量中表达该种权限特征是否被该训练样本申请的对应元素置为二进制0,表达该种权限特征被该训练样本申请;针对于没有在该训练样本的初步分析文件中扫描到的权限特征,将该训练样本的第一权限特征向量中表达该种权限特征是否被申请的对应元素置为二进制0,表达该种权限特征未被该训练样本申请。5.根据权利要求3所述的基于权限特征的Android恶意软件检测方法,其特征在于,所述步骤S21中,通过Python程序批量化分析第一训练样本集和第二训练样本集中各训练样本对应的各APK文件;所述步骤S22中,针对于各训练样本,通过Java程序工具对其初步分析文本进行逐行扫描。6.根据权利要求1所述的基于权限特征的Android恶意软件检测方法,其特征在于,所述步骤S7中,得到测试样本的权限特征向量的具体过程如下:步骤S71、通过开源Android静态分析工具Androguard分析测试样本的安装包APK:首先将APK文件解析成一个对象,接着生成APK文件申请的权限列表,然后将对应权限列表写入到其初步分析文本中;步骤S72、针对于测试样本,逐行扫描其初步分析文件,若扫描到第一权限特征集合中的某种权限特征,则将测试样本的权限特征向量中表达该种权限特征是否被测试样本申请的对应元素置为一个值,表达第一权限特征集合中的该种权限特征被测试样本申请;针对于没有在测试样本的初步分析文件中扫描到的权限特征,将测试样本的第一权限特征向量中表达该种权限特征是否被申请的对应元素置为另一个值,表达该种权限特征未被测试样本申请。7.根据权利要求6所述的基于权限特征的Android恶意软件检测方法,其特征在于...

【专利技术属性】
技术研发人员:孙玉霞赵晶晶刘明翁健
申请(专利权)人:暨南大学
类型:发明
国别省市:广东,44

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

1