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

基于组合特征模式的Android恶意软件检测方法技术

技术编号:17541899 阅读:46 留言:0更新日期:2018-03-24 19:15
本发明专利技术公开了一种基于组合特征模式的Android恶意软件检测方法,首先获取一定数量的Android恶意软件和Android良性软件训练样本构造训练样本集;分析出各训练样本的权限特征和敏感API特征,组合生成各训练样本的特征向量;将各训练样本的特征向量作为输入对ELM模块进行训练,得到ELM模型;获取待检测的Android软件作为测试样本,分析出测试样本的权限特征和敏感API特征,组合生成测试样本的特征向量;将测试样本的特征向量输入ELM模型中,最终由ELM模型判断出测试样本是否为Android恶意软件。本发明专利技术方法具有Android恶意软件检测准确率高以及学习时间短的优点。

Android malware detection method based on combinatorial feature pattern

The invention discloses a Android combination pattern of malware detection method based on, first get a certain number of Android malware and benign Android software training samples to construct training samples; analysis of authority characteristics of each training sample and API sensitive characteristics, combination of feature vectors of training samples; the feature vector of each training sample as the input for training of the ELM module, ELM model; get the test software Android as test samples, analysis of the characteristics of the test sample permissions and sensitive API features are combined to generate a test sample feature vectors; test feature vector ELM model input samples, finally by ELM model to judge whether the test sample Android malware. The method of the invention has the advantages of high detection accuracy and short learning time for Android malware.

【技术实现步骤摘要】
基于组合特征模式的Android恶意软件检测方法
本专利技术属于移动安全领域,特别涉及一种基于组合特征模式的恶意软件检测技术。
技术介绍
移动互联网的火热已经引领了新的互联网的浪潮,Android已成为了移动互联网时代最流行的移动操作系统。Android流行的同时其本身的安全问题也日益凸显,比如安全漏洞被频频利用、恶意应用数量呈爆炸式增长,用户隐私和财产面临着严重的安全威胁。因此研究Android应用的安全性问题具有重要的学术和应用价值。Android恶意软件给用户的日常使用带来了很大影响,常见问题有:骚扰电话和短信、手机运行慢或死机、无故消耗流量、通知栏和弹窗广告、恶意扣费、手机内文件及数据被破坏、通讯录短信等个人信息泄露、手机中毒或木马和账号信息被窃取等等。这些问题都是由于恶意软件的恶意行为导致,其主要包括:a)通过劫持系统的短信和拨号,在后台自动拨打扣费号码或者发送扣费短信恶意吸费;b)后台默默获取隐私信息,将隐私信息经由网络或短信外泄给诈骗团伙诱骗欺诈;c)通过消耗系统资源、锁定手机等方式影响用户使用,并通过破坏系统的权益来为恶意App牟利;d)窃取隐私信息导致账号被盗及后续并发问题。针对恶意软件的检测,目前市面上和研究领域都有一些不错的检测技术;市面上主流常见的商业安全检测软件的检测技术都是通过已知的恶意样本的特征库去识别恶意App,但由于恶意样本的变种速度之快使得这种检测方式识别准确率不尽如人意。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于组合特征模式的Android恶意软件检测方法,该方法从Android软件的静态特征着手,提取了Android软件的权限和敏感API(ApplicationProgramInterface,应用程序接口)组合特征,并且配合上ELM机器学习方法,具有Android恶意软件检测准确率高以及学习时间短的优点。本专利技术的目的通过下述技术方案实现:一种基于组合特征模式的Android恶意软件检测技术,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本和一定数量的Android良性软件训练样本构造训练样本集;步骤S2、针对于训练样本集中的各训练样本,分别分析出各训练样本申请的权限特征和调用的敏感API特征,由上述分析出的各训练样本申请的权限特征和调用的敏感API特征组合生成对应各训练样本的特征向量;步骤S3、将各训练样本的特征向量作为ELM模块的输入对ELM模块进行训练,得到ELM模型;步骤S4、将需要检测其是否为恶意软件的Android软件作为测试样本,分析出测试样本的权限特征和敏感API特征,由上述分析出的权限特征和敏感API特征组合生成测试样本的特征向量;步骤S5、将测试样本的特征向量输入步骤S3训练得到的ELM模型中,根据ELM模型的输出判定出测试样本是否为Android恶意软件。优选的,所述步骤S2中,针对于训练样本,首先通过开源Android静态分析工具Androguard的Androlyze.py对其中的安装包APK文件进行分析,分析出其中的权限特征和敏感API特征,并且生成权限特征列表和敏感API特征列表,然后将对应权限特征列表和敏感API特征列表分别写入到其初步分析文本中;所述步骤S4中,针对于测试样本,首先通过开源Android静态分析工具Androguard的Androlyze.py对其中的安装包APK文件进行分析,分析出其中的权限特征和敏感API特征,并且生成权限特征列表和敏感API特征列表,然后将权限特征列表和敏感API特征列表分别写入其初步分析文本中。更进一步的,训练样本的特征向量由多个元素组成,其中一个元素对应表达一个权限特征是否被训练样本申请,或对应表达一个敏感API特征被训练样本调用的次数;测试样本的特征向量由多个元素组成,其中一个元素对应表达一个权限特征是否被测试样本申请,或对应表达一个敏感API特征被测试样本调用的次数;所述步骤S2中,各训练样本的特征向量生成过程如下:首先通过Java程序工具对各训练样本初步分析文本进行批量扫描;若在某训练样本的初步分析文本中扫描到某个权限特征,则将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为一个值,表达该权限特征被该训练样本申请;若在某训练样本的初步分析文本中扫描到某个敏感API特征,则将该训练样本的特征向量中表达该敏感API特征被训练样本调用的次数的对应元素置为在该训练样本的初步分析文件中该敏感API特征当前被扫描到的次数;针对于没有在某训练样本的初步分析文本中扫描到的某个权限特征,将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为另一个值,表达该权限特征未被该训练样本申请;针对于没有在某训练样本的初步分析文本中扫描到的某个敏感API特征,将该训练样本的特征向量中表达该敏感API特征被训练样本调用的次数的对应元素置为0,表达该敏感API特征未被该训练样本申请;所述步骤S4中,获取到的测试样本的特征向量的生成过程如下:首先通过Java程序工具对其初步分析文本进行扫描;若在某测试样本的初步分析文本中扫描到某个权限特征,则将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为一个值,表达该权限特征被该测试样本申请;若在某测试样本的初步分析文本中扫描到某个敏感API特征,则将该测试样本的特征向量中表达该敏感API特征被测试样本调用的次数的对应元素置为在该测试样本的初步分析文件中该敏感API特征当前被扫描到的次数;针对于没有在某测试样本的初步分析文本中扫描到的某个权限特征,将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为另一个值,表达该权限特征未被该测试样本申请;针对于没有在某测试样本的初步分析文本中扫描到的某个敏感API特征,将该测试样本的特征向量中表达该敏感API特征被测试样本调用的次数的对应元素置为0,表达该敏感API特征未被该测试样本申请。更进一步的,所述步骤S2中各训练样本的特征向量的生成过程中,若在某训练样本的初步分析文本中扫描到某个权限特征,则将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为二进制1,表达该权限特征被该训练样本申请;针对于没有在某训练样本的初步分析文本中扫描到的某个权限特征,将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为二进制0,表达该权限特征未被该训练样本申请;所述步骤S4中测试样本的特征向量的生成过程中,在某测试样本的初步分析文本中扫描到某个权限特征,则将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为二进制1,表达该权限特征被该测试样本申请;针对于没有在某测试样本的初步分析文本中扫描到的某个权限特征,将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为二进制0,表达该权限特征未被该测试样本申请。更进一步的,所述训练样本的特征向量中包括前后两部分元素,其中前面部分的各个元素对应表达各个权限特征是否被训练样本申请,后面部分的各个元素对应表达各个敏感API特征被训练样本调用的次数;所述测试样本的特征向量中包括前后两部分元素,其中前面部分的各个元素对应表达各个权限特征是本文档来自技高网...
基于组合特征模式的Android恶意软件检测方法

【技术保护点】
一种基于组合特征模式的Android恶意软件检测技术,其特征在于,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本和一定数量的Android良性软件训练样本构造训练样本集;步骤S2、针对于训练样本集中的各训练样本,分别分析出各训练样本申请的权限特征和调用的敏感API特征,由上述分析出的各训练样本申请的权限特征和调用的敏感API特征组合生成对应各训练样本的特征向量;步骤S3、将各训练样本的特征向量作为ELM模块的输入对ELM模块进行训练,得到ELM模型;步骤S4、将需要检测其是否为恶意软件的Android软件作为测试样本,分析出测试样本的权限特征和敏感API特征,由上述分析出的权限特征和敏感API特征组合生成测试样本的特征向量;步骤S5、将测试样本的特征向量输入步骤S3训练得到的ELM模型中,根据ELM模型的输出判定出测试样本是否为Android恶意软件。

【技术特征摘要】
1.一种基于组合特征模式的Android恶意软件检测技术,其特征在于,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本和一定数量的Android良性软件训练样本构造训练样本集;步骤S2、针对于训练样本集中的各训练样本,分别分析出各训练样本申请的权限特征和调用的敏感API特征,由上述分析出的各训练样本申请的权限特征和调用的敏感API特征组合生成对应各训练样本的特征向量;步骤S3、将各训练样本的特征向量作为ELM模块的输入对ELM模块进行训练,得到ELM模型;步骤S4、将需要检测其是否为恶意软件的Android软件作为测试样本,分析出测试样本的权限特征和敏感API特征,由上述分析出的权限特征和敏感API特征组合生成测试样本的特征向量;步骤S5、将测试样本的特征向量输入步骤S3训练得到的ELM模型中,根据ELM模型的输出判定出测试样本是否为Android恶意软件。2.根据权利要求1所述的基于组合特征模式的Android恶意软件检测技术,其特征在于,所述步骤S2中,针对于训练样本,首先通过开源Android静态分析工具Androguard的Androlyze.py对其中的安装包APK文件进行分析,分析出其中的权限特征和敏感API特征,并且生成权限特征列表和敏感API特征列表,然后将对应权限特征列表和敏感API特征列表分别写入到其初步分析文本中;所述步骤S4中,针对于测试样本,首先通过开源Android静态分析工具Androguard的Androlyze.py对其中的安装包APK文件进行分析,分析出其中的权限特征和敏感API特征,并且生成权限特征列表和敏感API特征列表,然后将权限特征列表和敏感API特征列表分别写入其初步分析文本中。3.根据权利要求2所述的基于组合特征模式的Android恶意软件检测技术,其特征在于,训练样本的特征向量由多个元素组成,其中一个元素对应表达一个权限特征是否被训练样本申请,或对应表达一个敏感API特征被训练样本调用的次数;测试样本的特征向量由多个元素组成,其中一个元素对应表达一个权限特征是否被测试样本申请,或对应表达一个敏感API特征被测试样本调用的次数;所述步骤S2中,各训练样本的特征向量生成过程如下:首先通过Java程序工具对各训练样本初步分析文本进行批量扫描;若在某训练样本的初步分析文本中扫描到某个权限特征,则将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为一个值,表达该权限特征被该训练样本申请;若在某训练样本的初步分析文本中扫描到某个敏感API特征,则将该训练样本的特征向量中表达该敏感API特征被训练样本调用的次数的对应元素置为在该训练样本的初步分析文件中该敏感API特征当前被扫描到的次数;针对于没有在某训练样本的初步分析文本中扫描到的某个权限特征,将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为另一个值,表达该权限特征未被该训练样本申请;针对于没有在某训练样本的初步分析文本中扫描到的某个敏感API特征,将该训练样本的特征向量中表达该敏感API特征被训练样本调用的次数的对应元素置为0,表达该敏感API特征未被该训练样本申请;所述步骤S4中,获取到的测试样本的特征向量的生成过程如下:首先通过Java程序工具对其初步分析文本进行扫描;若在某测试样本的初步分析文本中扫描到某个权限特征,则将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为一个值,表达该权限特征被该测试样本申请;若在某测试样本的初步分析文本中扫描到某个敏感API特征,则将该测试样本的特征向量中表达该敏感API特征被测试样本调用的次数的对应元素置为在该测试样本的初步分析文件中该敏感API特征当前被扫描到的次数;针对于没有在某测试样本的初步分析文本中扫描到的某个权限特征,将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为另一个值,表达该权限特征未被该测试样本申请;针对于没有在某测试样本的初步分析文本中扫描到的某个敏感API特征,将该测试样本的特征向量中表达该敏感API特征被测试样本调用的次数的对应元素置为0,表达该敏感API特征未被该测试样本申请。4.根据权利要求3所述的基于组合特征模式的Android恶意软件检测技术,其特征在于,所述步骤S2中各训练样本的特征向量的生成过程中,若在某训练样本的初步分析文本中扫描到某个权限特征,则将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为二进制1,表达该权限特征被该训练样本申请;针对于没有在某训练样本的初步分析文本中扫描到的某个权限特征,将该训练样本的特征向量中表达该权限特征是否被训练样本申请的对应元素置为二进制0,表达该权限特征未被该训练样本申请;所述步骤S4中测试样本的特征向量的生成过程中,在某测试样本的初步分析文本中扫描到某个权限特征,则将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为二进制1,表达该权限特征被该测试样本申请;针对于没有在某测试样本的初步分析文本中扫描到的某个权限特征,将该测试样本的特征向量中表达该权限特征是否被测试样本申请的对应元素置为二进制0,表达该权限特征未被该测试样本申请。5.根据权利要求3所述的基于组合特征模式的Android恶意软件检测技术,其特征在于,所述训练样本的特征向量中包括前后两部分元素,其中前面部分的各个元素对应表达各个权限特征是否被训练样本申请,后面部分的各个元素对应表达各个敏感API特征被训练样本调用的次数;所述测试样本的特征向量中包括前后两部分元素,其中前面部分的各个元素对应表达各个权限特征是否被测试样本申请,后面部分的各个元素对应表达各个敏感API特征被测试样本调用的次数。6.根据权利要求3所述的基于组合特征模式的Android恶意软件检测技术,其特征在于,所述训练样本的特征向量中,其中44个元素对应表达44个权限特征是否被训练样本申请;所述测试样本的特征向量中,其中44个元素对应表达44个权限特征是否测试样本被申请;其中44个权限特征分别为:清除App缓存权限特征CLEAR_APP_CATHE;获得安装包大小权限特征GET_PACKAGE_SIZE...

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

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

1