一种针对Android恶意软件分类的方法及装置制造方法及图纸

技术编号:33437013 阅读:13 留言:0更新日期:2022-05-19 00:25
本发明专利技术公开了一种针对Android恶意软件分类的方法及装置,属于目标识别技术领域,包括数据采集模块、流量过滤模块、特征提取模块、特征向量构建模块和分类器。被测试软件或公开数据集通过数据采集模块收集流量信息,Android移动设备实时启动被测试软件;流量过滤模块会过滤第三方流量并筛选出适于分类的流量;特征提取模块从获得的流量数据中提取出有效信息;特征向量构建模块将有效信息进行特征工程,并将流级流量转化为主机级流量,形成特征向量;最后分类器使用集成学习的方式学习特征向量的特征,并对恶意软件进行分类。并对恶意软件进行分类。并对恶意软件进行分类。

【技术实现步骤摘要】
一种针对Android恶意软件分类的方法及装置


[0001]本专利技术属于软件测试
,具体一种针对恶意流量的Android恶意软件分类装置,其被测试的程序为嵌入式软件,可自动化的产生测试用例。

技术介绍

[0002]随着移动互联网的出现,移动设备逐渐进入了人们的生活。根据爱立信的报告显示,截至2020年底,全球移动设备数量为80亿台,预计到2026年底,这个数字将增加到88亿台。其中安卓作为最受欢迎的移动端操作系统,在2020年的市场份额占到了72.83%。互联网以及智能手机的普及给民众的生活带来了极大的便利,但在享受便捷生活的同时,人们也遭受到了来自恶意软件对移动设备的攻击。根据360安全公司发表的官方报告显示,2020年全年,360移动安全研究办公室共截获移动端恶意样本约456.4万个,环比2019年(180.9万个)增长了151.3%。安卓恶意软件包括许多类型,例如勒索软件、钓鱼软件、广告软件等,这些恶意软件可以获取用户的隐私、侵犯用户的权益,对人们的生活造成了极大的困扰,因此,恶意软件的检测问题越来越受到人们的重视。
[0003]近些年来,人们针对恶意软件的检测问题进行了多方面的研究,《A survey of network anomaly detection techniques》文献表明,异常网络流量检测作为一种新兴的检测技术,由于其具有数据收集便利,恶意软件检测准确率高等特点,受到了科研人员的青睐。《Data traffic monitoring and analysis》文献提出,目前,针对安卓恶意软件进行检测主要有四种方法:基于端口的方法、基于deep packet inspection的方法、基于统计的方法和基于行为的方法。最近几年,越来越多的恶意软件采用了先进的混淆技术,这使得基于端口的检测方法不再那么有效,且绝大多数流量采用了加密传输手段,这使得我们难以使用基于deep packet inspection的检测方法。为了应对绝大多数恶意软件使用加密流量的现状,目前的恶意软件检测方法几乎都采用基于统计的检测方法和基于行为的检测方法。

技术实现思路

[0004]为了解决单个机器学习模型对恶意软件分类准确率不高的问题,本专利技术使用了一种结合基于统计数据和基于行为的恶意软件检测方法,并利用基于stacking的集成学习方式对恶意软件进行分类。
[0005]为了达到上述目的,本专利技术采用如下技术方案:
[0006]本专利技术提供了一种针对恶意流量的Android恶意软件分类方法,包括以下步骤:
[0007]步骤1、在Android移动设备实时执行被测试软件,并收集被测试软件产生的流量信息,或通过公开数据集获得流量信息;
[0008]步骤2、将收集获得的流量信息执行过滤第三方流量,获得纯净的第一方流量;
[0009]步骤3、提取步骤2得到的第一方流量中的有效信息并将其特征化,得到特征向量;
[0010]步骤4、将特征提取模块中的特征向量进行特征工程,生成总特征向量,并把流级流量转换为主机级流量;
[0011]步骤5、使用集成学习构建分类模型,针对于二分类情况,分类器只识别出恶意软件及非恶意软件;针对多分类情况,分类器识别出恶意软件和非恶意软件,并将恶意软件划分为具体的恶意类别。
[0012]上述技术方案中,步骤2包括:
[0013]步骤2.1、使用聚类的方式初步筛选出可能的第三方流量,首先提取出PCAP文件中的流,并将不同PCAP文件中的流进行随机排列,将所有的流均匀地分配到相同大小的M个区域中,对每个区域内的流进行聚类,如果一个区域内的某条流被多个PCAP共享,则认为这个流可能是第三方流量,并标记这个流;
[0014]步骤2.2、设定一个阈值K,如果步骤2.1中被标记的流在所有区域内的出现比例超过阈值K,则标记该流量为第三方流量,并从原PCAP文件中去除该流量,否则,则将该流量视为第一方流量,不予处理。
[0015]上述技术方案中,步骤3具体包括:
[0016]步骤3.1、使用wireshark从PCAP文件中提取出流;
[0017]步骤3.2、借助CICFlowMeter工具从流中提取86个统计特征,得到特征向量。
[0018]上述技术方案中,步骤4具体包括:
[0019]步骤4.1、对得到的特征信息中的流的持续时间、流与流之间的时间间隔特征进行特征工程;
[0020]步骤4.2、将所有的流划分为n组,基于统计学方法计算每组流中各个特征值的聚合函数,如最大值、平均值;
[0021]步骤4.3、将每组流的特征向量进行聚合,生成能够表示整个PCAP文件的总特征向量。
[0022]上述技术方案中,步骤5具体包括:
[0023]步骤5.1、将步骤4得到的总特征向量处理为libsvm标准格式,并将其输入到csv文件中,作为训练模型的输入样例的数据集;
[0024]步骤5.2、将数据集划分为6:2:2的比例,分别作为训练集、验证集和测试集,数据集之间互不交叉;
[0025]步骤5.3、训练模型,使用Scikit

learn工具库中的GridSearch进行超参数选择;
[0026]步骤5.4、利用交叉验证方法不断进行参数调优,变换训练集和验证集以增强模型的鲁棒性;
[0027]步骤5.5、分别输出各分类器针对具体数据的评价值并从中选择最优分类器作为该数据的最终分类器。
[0028]本专利技术还提供了一种针对恶意流量的Android恶意软件分类装置,包括以下模块:
[0029]数据采集模块:Android移动设备实时执行被测试软件,并收集被测试软件产生的流量信息,或通过公开数据集获得流量信息;
[0030]流量过滤模块:将数据采集模块获得的流量信息执行过滤第三方流量操作,获得纯净的第一方流量;
[0031]特征提取模块:提取流量中的有效信息并将其特征化;
[0032]特征向量构建模块:将特征提取模块中的特征信息进行特征工程,并把流级流量转换为主机级流量;
[0033]分类器:使用集成学习构建分类模型,针对于二分类情况,分类器只需要识别出恶意软件及非恶意软件;针对多分类情况,分类器不仅需要识别出恶意软件和非恶意软件,还需要将恶意软件划分为具体的恶意类别。
[0034]被测试软件、公开数据集通过数据采集模块收集流量信息;通过流量过滤模块将第三方流量去除,保留特征突出的第一方流量;特征提取模块通过相应的工具提取流量中的有效特征;特征向量构建模块将特征赋予合适的权值,并将特征值放缩到合理的范围内,然后把流级流量转化为主机级流量,并为流量设置标签;分类器最后对恶意软件进行划分,针对二分类,分类器将识别恶意软件和非恶意软件,针对多分类,分类器在识别出恶意软件后,还将恶意软件划分到具体的类别。
[0035]上述技术方案中,将使用自动化工具包Scikit

learn本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对恶意流量的Android恶意软件分类方法,其特征在于,包括以下步骤:步骤1、在Android移动设备实时执行被测试软件,并收集被测试软件产生的流量信息,或通过公开数据集获得流量信息;步骤2、将收集获得的流量信息执行过滤第三方流量,获得纯净的第一方流量;步骤3、提取步骤2得到的第一方流量中的有效信息并将其特征化,得到特征向量;步骤4、将特征提取模块中的特征向量进行特征工程,生成总特征向量,并把流级流量转换为主机级流量;步骤5、使用集成学习构建分类模型,针对于二分类情况,分类器只识别出恶意软件及非恶意软件;针对多分类情况,分类器识别出恶意软件和非恶意软件,并将恶意软件划分为具体的恶意类别。2.根据权利要求1所述的一种针对恶意流量的Android恶意软件分类方法,其特征在于,步骤2包括:步骤2.1、使用聚类的方式初步筛选出可能的第三方流量,首先提取出PCAP文件中的流,并将不同PCAP文件中的流进行随机排列,将所有的流均匀地分配到相同大小的M个区域中,对每个区域内的流进行聚类,如果一个区域内的某条流被多个PCAP共享,则认为这个流可能是第三方流量,并标记这个流;步骤2.2、设定一个阈值K,如果步骤2.1中被标记的流在所有区域内的出现比例超过阈值K,则标记该流量为第三方流量,并从原PCAP文件中去除该流量,否则,则将该流量视为第一方流量,不予处理。3.根据权利要求2所述的一种针对恶意流量的Android恶意软件分类方法,其特征在于,步骤3具体包括:步骤3.1、使用wireshark从PCAP文件中提取出流;步骤3.2、借助CICFlowMeter工具从流中提取86个统计特征,得到特征向量。4.根据权利要求3所述的一种针对恶意流量的Android恶意软件分类方法,其特征在于,步骤4具体包括:步骤4.1、对得到的特征信息中的流的持续时间、流与流之间的时间间隔特征进行特征工程;步骤4.2、将所有的流划分为n组,基于统计学方法计算每组流中各个特征值的聚合函数,如最大值、平均值;步骤4.3、将每组流的特征向量进行聚合,生成能够表示整个PCAP文件的总特征向量。5.根据权利要求4所述的一种针对恶意流量的Android恶意软件分类方法,其特征在于,步骤5具体包括:步骤5.1、将步骤4得到的总特征向量处理为libsvm标准格式,并将其输入到csv文件中,作为训练模型的输入样例的数据集;步骤5.2、将数据集划分为6:2:2的比例,分别作为训练集、验证集和测试集,数据集之间互不交叉;步骤5.3、训练模型,使用...

【专利技术属性】
技术研发人员:牛伟纳薛志行张小松李杰李梓慕
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1