3.
相关工作
3.1.
数据集
数据集的可用性是获得关于主题的见解或评估方法或假设的关键
问题。我们在下面简要介绍了在
Android
应用程序的上下文中与此问
题相关的一些最值得注意的工作,更具体地说,它们可能存在的安全
问题。
多年 来 ,已 经提 出 了许 多用于研究 移动应用程 序的存储库 。F-
Droid
10
就是这样一个努力;它是一个免费开源Android应用程序的存储
库,已经在大量研究中使用。最近,Allix等人(2016)提出并继续维
护AndroZoo,这 无疑是最大 的Android应用 程序存储库 ,拥有 来自
Google Play商店和其他第三方市场的数百万个应用程序(和APK)。
最近,Geiger等人(2018)提供了一个基于图形的数据库,其中包含
GitHub和Google Play商店上提供的8,431个同样值得注意的是Krutz
et al.(2015),虽然稍早,但其公共数据集集中于来自F-Droid的1,
179个Android应用程序的生命周期。作为这些研究计划的补充,还有一
些网站,如AppAnnie和Koodous,收集Android应用程序并执行各种类
型的分析,包括随时间推移的下载和广告分析。
当涉及到安全方面时,已经有许多论文调查了大量的Android应用程
序,但很少有人提出公开可用的数据集。其中,我们可以引用Munaiah
等人(2016)提出的数据(例如,应用程序类别,每个任务)对来自
Google Play商店的反向工程良性应用程序和来自多个来源的恶意软件
应用程序进行
我们关于Android应用程序漏洞的数据集与Gkortzis等人(2018)的
工作有一些相似之处,后者也提出了一个安全漏洞数据集,但用于开源
系统(8,694)。与Krutz et al.(2015)类似,我们提出了一个知名
移动应用程序库的子集;我们从AndroZoo开始,而Krutz et al.(2015)
构建在F-Droid上。与Krutz等人(2015)类似,我们也提出了与知名
的反向工程和静态分析工具接口的工具,但我们这样做的重点是安全漏
洞,并使用不同的工具集总体而言,我们的数据集和工具为Android安
全研究人员提供了独特的产品。正如在介绍中所提到的,使用
AndroZoo进行的恶意软件研究涉及决定基准测试中存在的哪些应用程
序可以被视为恶意软件。 文献中有不同的方法。它们主要分为两类,
这取决于它们是否依赖于VirusTotal中预先选择的防病毒结果子集或给
定数量的防病毒标志,
AndroZoo
数据显示。
Zheng et al.(2012)关注VirusTotal中将应用程序标记为恶意软件
的十大防病毒产品。他们的结果随后被Shen等人(2014)用于评估防
病毒工具对恶意软件混淆的有效性。在Yousefi-Azar等人(2018)中,
Yousefi-Azar等人考虑了19种最知名的反病毒软件,包括卡巴斯基、赛
门铁克、Avast、McAfee、AVG、Malwarebytes等。
同样值得注意的是马等人的工作。(
2019
年),该报告将被四种
成 熟的反 病 毒软件
( 即,McAfee、360 安 全卫士 、 金山毒 霸 、诺
顿)。
其他一些方法基于他们的分析的数量反病毒标记的应用程序作
为可能的恶意软件。
Li
等人(
2017
)认为,即使是一个标志也足以
将 应 用 程 序 归类为 恶意 软 件 。 其 他 研 究 则较 为 宽 松 ,
Li et al.
(
2016
)在确定应用程序是恶意软件之前需要
8
个防病毒标志,
Wei
等人
(2017)在将应用程序识别为恶意软件之前,需要至少50%的VirusTo-
tal反病毒标记与这些工作不同,我们的论文试图在机器学习环境中评估
恶意软件标签的不同阈值的影响
3.2.
利用机器学习进行
我们的数据集的一个主要用途是作为恶意软件检测技术的输入。恶
意软件检测方法通常使用某种形式的机器学习来将候选应用程序分类为
恶意或非恶意。关于这一问题,现有的文献相当广泛。在本节中,我们
将重点介绍最近和最接近我们实验的工作。
在许多研究中,已将有害生物,尤其是危险的有害生物,用作各种
分类方法的输入。Bhattacharya和Goswami(2017)最近的一项特别
有趣的工作,他们提出了一个框架,从应用程序的清单文件中收集权
限,并应用高级功能选择技术。从这样的过程中获得的特征被组织成四
组, 并用 作来自Weka的十五个不同 机器学习分类器(包括 JRip、
J48、MPL和NB)的输入。作者在170个应用程序的样本上评估了他们
的方法,并报告了最高的准确率为77.13%。许多其他的研究工作调查的
功 能 以 外 的 权 限 恶 意 软 件 检 测 的 目 的 。 例 如 , Sharma 和 Sahay
(2018)试图利用 Dalvik
11
操作 码事件 进行恶 意软件分类。他们从
DREBIN存储库中选择了5531个Android恶意软件(Arp et al., 2014
年)和2691良性应用程序从谷歌播放商店。他们应用了不同的机器学习
技术,并报告了最佳检测准确率为79.27%。Sharma和Sahay(2018)
的工作也很有趣,他们专注于通过移动安全框架提取的功能,移动安全
框架
[12
]Sharma和Sahay(2018)提出的方法旨在将应用程序分为三个
级别(安全,可疑,高度可疑)。报告的实验涉及许多应用于13,850
个Android应用程序的语料库的改进机器学习分类器,当考虑三个建议
级别时,准确率结果高达81.80%,当考虑二进制良性/恶意决策时,准
确率高达93.63%
DroidDeepLearner是一种加权恶意软件检测技术
由Li et al.(2018)提出。该方法采用危险的API调用和危险的权限组
合作为特征,以构建能够自动区分恶意软件和良性软件的深度信念网络
模型。根据研究结果,他们的方法在Drebin数据集上具有237个特征,
准确率超过90%。
作者Lee等人(2020)研究了在确定应用程序是恶意还是良性时,危
险权限是否是检测的关键组成部分。他们总共使用了10,818个恶意和
良性应用程序。为了确定检测的准确性,他们使用了四种不同的深度学
习算法,并使用混淆矩阵对其进行了测量。所选的功能导致约90%的准
确性。我们与Li等人(2018)和Lee等人(2020)不同,他们只关注危
险权限,而我们调查了不同级别的漏洞使用情况,包括危险权限。
4.
AndroVul-T
:工具
我们的存储库提出了一个工具,该工具允许在给定
APK
目录的情
况下自动生成包含以下信息的
CSV
文件: