恶意软件检测
Towards a Network-Based Framework for Android Malware Detection and Characterization Canadian Institute for Cybersecurity(网络安全研究所)
概述:
建立数据库,1900个APP,其中1400个良性APP,150个恶意APP,250个广告APP(来自于12个不同的APPstore)。通过特征提取算法(信息增益,最小特征数,支持向量机),从以往特征中提取出9个特征,通过5中基本算法对比,随机森林最好,准确率92%
背景:
到2020年,80%的流量来自于移动网络
动机:
是保护移动设备用户和蜂窝基础设施公司免受恶意应用程序的侵害
数据:
建立数据库,1900个APP,其中1400个良性APP,150个恶意APP,250个广告APP(来自于12个不同的APPstore)。1900个APP(真实手机,但是电脑脚本控制,一次20个APP,获取流量,来自不同的应用store,所以可以对进一步的可靠性测试得到保证)
特征:
通过特征提取算法(信息增益,最小特征数,支持向量机,软件weka),从CICFlowMeter提取的特征中提取出9个核心特征
实验:
- 用Droidkin进行程序相似性检测
- 用Weka划分不同的数据集(80%训练集/测试集,评估集20%)
- 用5中普通算法进行分类:随机森林,决策树,随机树,KNN,回归
- 用十折交叉验证方法进行分类
- 用precision,accuracy,recall进行评估
结果:
平均准确率91%
亮点:
- 建立数据库,1900个APP(真实手机,但是电脑脚本控制,一次20个APP,获取流量,来自不同的应用store,所以可以对进一步的可靠性测试得到保证)
- 通过特征提取算法,从以往特征中提取出9个特征
- Droidkin是一个应用程序相似性检测器,显示所选择的家族在我们的数据集中不是相似的,也不是密切相关的。其原理是通过解析APP的源数据,资源,代码提取特征,进而判别相似性。
- Androguard检测样本创建数据的时间
- CICFlowMeter提取特征
- Weka中可用的预处理函数(重新取样)来划分不同的数据集(训练集和测试集)
特征提取:
- 淘汰协议特征,因为协议基本上都是HTTP/HTTPS,而且70%不是HTTPS
- Behavior-based, Byte-based, Packet-based, and Time-based,Flow-based
- 特征提取算法:信息增益,Cfs Subset,SVM
weka软件:
是一个机器学习和数据挖掘的软件,类似于SPSS,可以对数据进行预处理,交叉验证,划分训练集与测试集,机器学习训练