您的训练数据集仍然有效吗?关于时间线在基于机器学习的恶意软件检测中重要性的研究
摘要
本文探讨了在构建数据集时时间线的重要性,以突出其对基于机器学习的恶意软件检测方案性能的影响。通常情况下,我们发现像文献中许多评估场景那样,简单地随机选取已知恶意软件来训练恶意软件检测器,会产生显著偏见的结果。在通过各种实验评估这种影响程度的过程中,我们还证实了关于安卓恶意软件的一些直观假设。例如,我们讨论了安卓恶意软件变种的存在,以及它们如何影响现实环境中恶意软件检测的性能。
1 引言
恶意软件检测在移动计算领域是一项具有挑战性的任务,每天都有数千个应用程序上传到应用市场[1],并且通常免费提供给最终用户。因此,市场维护者需要高效的工具和技术来持续分析、检测和分类恶意应用程序,以尽可能保持市场的清洁并维持用户信心。例如,谷歌已在安卓应用程序的官方市场谷歌应用商店中部署了多种工具和流程。然而,使用杀毒软件对来自谷歌的大规模数据集进行检测时发现,仍有数百个可疑应用程序通过该市场秘密分发[2]。
不幸的是,恶意软件对用户、开发者和零售商构成了各种不容忽视的威胁。这些威胁从简单的用户跟踪和个人信息泄露[3],到未经授权的短信高额收费订阅、高级欺诈,甚至参与破坏性僵尸网络[4]。为了应对这些威胁,研究人员和从业者 increasingly 转向文献中已评估过的用于野外恶意软件检测的新技术。相关研究工作确实提出了许多有前景的恶意软件检测方法。各种技术的全面综述可在[5]中找到。大规模检测的方法通常基于机器学习技术,这些技术能够通过特征相似性度量,从大量应用程序中筛选出异常。
为了评估野外的恶意软件检测,文献采用了10折交叉验证方案,但所使用的数据集存在偏见,导致结果有偏差。实际上,训练数据集构建的诸多方面通常被忽视。其中的一个方面是历史因素,该因素假设训练数据集用于构建分类器,而测试数据集用于评估技术的性能,两者应保持历史一致性:前者必须在时间上早于后者。这一方面对于实际应用场景而言确实是一个非常重要的约束条件,我们认为,对最先进的恶意软件检测方法进行评估和实际应用时,必须遵循一个能够模拟应用程序在市场中的创建/出现历史以及恶意软件出现历史的过程:在恶意软件公开分发到市场之前就检测到它们,可能比在它们发布数月后再识别要更有价值。
然而,在前沿文献中,评估所用的数据集通常借自知名的应用标注仓库(例如Genome项目),或通过从应用市场下载应用并借助杀毒产品随机构建。但是,构成数据集的各种应用的创建历史几乎从未被考虑,导致出现以下情况:训练数据集中的某些项目“来自未来”,即在时间线上晚于测试数据集中的项目。因此,在讨论恶意软件检测器性能时,一些研究问题被系统性地忽略了:
- 研究问题1 . 随机抽样的训练数据集是否等同于与测试数据集历史一致的数据集?
- 研究问题2 . 使用“来自未来”的恶意软件知识来检测当前的恶意软件会产生什么影响?
- 研究问题3 . 恶意软件家族的潜在存在如何影响机器学习分类器所考虑的特征?
- 研究问题4 . 训练数据集中的应用需要多么“新”才能获得最佳分类结果?
- 研究问题5 . 在构建训练数据集时考虑所有已知的恶意软件是否合理/明智?
本文提出研究在基于机器学习技术的恶意软件检测过程中,训练数据集和测试数据集的选择中忽略或考虑历史一致性的影响。事实上,从文献综述中我们注意到,大多数作者并未考虑这一点。因此,我们的最终目标是为构建与应用程序(包括恶意软件)开发及在市场上的注册实践相一致的方法提供见解。为此,我们设计了多个典型的机器学习分类器,并构建了一组特征,这些特征是从应用程序字节码的控制流图中提取的基本块的文本表示。我们的实验还基于一个大规模数据集,该数据集包含约200,000个安卓应用程序,这些应用程序来自以往基于机器学习的恶意软件检测相关研究贡献所使用的来源。
本文的贡献是:
- 我们提出对训练数据集选择中的历史因素进行深入研究。我们的讨论强调了如果忽略或误用这一因素可能引入的不同偏见。
- 通过对数以万计的安卓应用进行大量实验,我们展示了数据集的新旧选择对恶意软件检测结果可能产生的影响。据我们所知,我们是首个提出这一问题并实际评估其重要性的研究团队。
- 我们验证或通过实验支持了关于安卓恶意软件的各种直觉判断,包括所谓谱系的存在。
- 最后,基于我们的发现,我们讨论了(1)基于机器学习的恶意软件检测技术的评估协议,以及(2)用于训练现实世界恶意软件检测器的数据集设计。
本文其余部分的结构如下。第2节介绍了基于机器学习的恶意软件检测的一些背景知识,并强调了数据集构建中的相关假设。我们还简要描述了我们自己的基于机器学习的恶意软件检测示例。第3节介绍了支持本研究工作的相关工作。第4节描述了我们为回答研究问题而进行的实验,并展示了从我们的实证研究中得出的关键结论。我们在第5节中对发现进行了最后讨论,并在第6节中做出总结。
2 预备知识
安卓移动平台现已成为最受欢迎的平台,仅官方谷歌应用商店中就估计有数十万款应用程序,下载量超过数十亿次。不幸的是,随着其受欢迎程度的增长,针对该平台的恶意软件(即恶意软件)也在增加。研究表明,平均而言,安卓恶意软件在被安全研究人员发现之前可能长达3个月都未被察觉[15],在此期间用户处于易受攻击状态。安全研究人员正不断努力提出新的恶意软件检测技术,包括基于机器学习的方法,以缩小这三个月的差距。
机器学习:特征与算法
根据Alpaydin的总结,“机器学习是通过示例数据或过往经验来编程计算机以优化性能标准”[16]。一种常见的学习方法被称为监督学习,该方案中计算机通过第一步的训练得到辅助。训练数据由特征向量组成,每个特征向量都带有标签,例如在我们的情况下,已知为恶意(恶意软件类)或良性(良性软件类)的应用程序。在运行学习算法后,将输出结果与目标输出进行比较,并根据误差大小调整学习参数。因此,为了执行能够将应用程序分类到恶意软件和良性软件类别的学习过程,该方法必须定义相关性度量和判别函数。安卓恶意软件检测的相关文献中包含了多种特征实例,如字节码 n元语法、API使用、应用权限使用等。同时,也存在多种分类算法,包括支持向量机(SVM)[17]、随机森林集成决策树算法[18]、RIPPER规则学习算法[19]以及基于树的C4.5算法[20]。在我们的研究中,由于我们仅关注历史因素,因此将上述所有变量限制为文献中广泛使用的值,或基于我们自己的实验来选择最合适的设置。此外,值得注意的是,我们并不追求绝对性能,而是衡量不同训练数据集构建方法之间的性能差异。
工作示例
我们现在提供将用作研究训练数据集和测试数据集选择中历史重要性的工作示例的机器学习方法的详细信息。实际上,为了获得我们机器学习过程所需的特征,我们对安卓应用程序的字节码进行静态分析,以提取程序控制流图(CFG)的抽象表示。我们采用Pouik 等在其关于建立安卓应用程序相似性的工作中提出的方法[21],并基于切萨雷和向提出的语法[22],获得以字符串形式表达的CFG。CFG的字符串表示是对应用程序代码的一种抽象;它保留了有关代码结构的信息,但舍弃了变量名或寄存器编号等低级细节。这一特性在恶意软件检测中是理想的,因为一种恶意软件的两个变种可能具有相同的抽象CFG,但其字节码不同。给定一个应用程序的抽象CFG后,我们收集构成该 CFG的所有基本块,并将其称为该应用程序的特征。基本块是CFG中仅有一个入口点和一个出口点的指令序列,因此代表程序中总是整体执行的最小单元。通过从训练数据集中学习,可以发现(如果存在)在恶意软件中统计上出现频率更高的基本块。
我们方法中使用的基本块表示是安卓应用程序原子部分的高级抽象。有关该特征集的更完整描述,请参见[23]。为了可复现性,并便于研究社区基于我们的经验开展工作,我们所使用的数据(完整特征矩阵和标签)可根据要求提供。
方法论
本研究是一项旨在探究历史数据在评估基于机器学习的恶意软件检测中的相关性程度的大规模实验。该研究对于推动安卓恶意软件检测流行方法取得真正成功具有重要意义。为此,我们的工作必须依赖一个广泛且能代表真实世界安卓应用以及前沿文献中所用数据集的数据集。
数据集
为了进行本研究,我们从多个市场收集了大量安卓应用数据集:78,460(38.04%)个来自谷歌应用商店,72,093(34.96%)个来自应用汇,55,685(27.00%)个来自其他市场1。我们的数据集大部分来源于作为官方市场的谷歌应用商店和应用汇。
一个安卓应用程序以.apk文件的形式分发,实际上是一个ZIP压缩包,包含应用程序运行所需的所有资源,例如应用程序二进制代码和图像。这种包格式的一个有趣副作用是表1. 安卓恶意软件检测方法的选例
| 方法 | Year | 来源 | 历史一致性 |
|---|---|---|---|
| DREBIN [6] | 2014 | “Genome、谷歌应用商店、中国和俄罗斯市场、VirusTotal | No |
| [24] | 2013 | 用于良性软件的“常见安卓应用市场”,用于恶意软件的“反病毒公司公共数据库” | No |
| [13] | 2012 | 未披露 | No |
| DROIDMAT[25] | 2012 | 恶意软件使用Contagio mobile,良性软件使用谷歌应用商店 | No |
| [26] | 2013 | Genome、VirusTotal、谷歌应用商店 | No |
| [27] | 2013 | Contagio mobile 和 Genome 用于恶意软件,未披露的用于良性软件 | No |
| [28] | 2013 | 来自官方和第三方Android市场的良性软件,Genome的恶意软件 | No |
| [29] | 2013 | 谷歌应用商店(来自10个商业病毒扫描器的标签) | No |
所有构成应用程序的文件从开发者的计算机传输到最终用户设备时不会有任何修改。特别是,.apk包中包含的所有文件的元数据(例如最后修改日期)都会被保留。所有表示应用程序二进制代码的字节码将被汇编成一个打包时生成的 classes.dex文件。因此,此文件的最后修改日期即代表打包时间。在本文其余部分,打包日期和编译日期均指此日期。
为了推断数据集应用程序的历史分布,我们依赖于生成Dalvik2字节码(classes.dex文件)的编译日期。然后,我们将所有应用程序包发送至由VirusTotal 3托管的病毒扫描器进行扫描。VirusTotal是一个网络门户,汇集了约40种来自知名反病毒厂商的产品,包括McAfee、赛门铁克或Avast。在本研究中,只要至少有一个扫描器将其标记为恶意软件,该应用程序即被标注为恶意软件。
机器学习参数
在所有实验中,我们使用了在之前一项大规模研究[23]中获得最佳结果的参数。因此,我们将特征数量固定为5,000,并从训练集中选择信息增益值最高的5,000个特征。所有实验均采用Weka4框架中实现的随机森林算法。
3 相关工作
在本节中,我们建议重新审视相关工作,以突出本文贡献的重要性。我们简要介绍了以往的实证研究及其对恶意软件检测领域的意义。然后,我们回顾了恶意软件检测的相关文献,以讨论评估协议。
实证研究
多年来,实证研究在计算机科学领域引起了越来越多的关注。实证发现的重要性确实有助于确保研究方向和结果与实践保持一致。这在评估研究方法的性能时尤为重要。大量文献采用了广泛的实证研究来设计可靠的实验协议[30, 31, 32]。最近,Allix et al.对评估中使用的数据集规模进行了大规模的实证研究基于机器学习的恶意软件检测方法[23]。在他们的工作中,作者已经对前沿文献中使用的评估协议提出了质疑。Rossowet al[33] 提出了进行可靠恶意软件检测实验的指导方针。我们的工作遵循相同的目标,旨在强调为研究方法建立可靠评估协议的重要性,以使其对现实世界的问题更具实用性。
在计算机安全领域,实证研究面临独特的挑战,包括网络犯罪数据的稀缺性。我们建议读者参考Böhme和Moore的报告[34]。最近,Visaggio et al.对文献中用于检测混淆代码的不同方法进行了实证评估[35]。我们的工作与他们的研究精神一致,因为我们同样比较了选择训练数据集的不同方法,并为研究社区提供了见解。
在本节其余部分,我们列出了一些重要的相关工作示例,提供了其数据集规模的详细信息,并将其与我们未考虑历史因素的10折实验进行比较。这些研究中确实都没有在其评估协议中考虑历史因素。2012年,萨斯和汗[13]构建了一个安卓恶意软件检测器,其特征基于安卓特定权限和控制流图表示的组合。他们的分类器在一个包含91个恶意软件和2,081个良性软件的数据集上使用k折5交叉验证进行了测试。吴等人[25]以权限和API调用作为特征,在一个包含1500个良性软件和238个恶意软件的数据集上进行了实验。2013年,阿莫斯等人[26]在其恶意软件检测器中利用了动态应用分析。戴姆等人[27]也使用动态应用分析来执行
萨斯和汗使用的 k值未公开。
4 实验结果
在本节中,我们报告了所进行的实验,并重点介绍了相关发现。首先,我们讨论数据集保持历史一致性的重要性程度,而非随机选择(参见第4.1节)。该讨论基于定性方面以及定量评估。其次,我们在第4.2节中开展实验,尝试揭示安卓恶意软件中存在谱系的迹象。接着,我们在第4.3节中研究使用新数据训练、旧数据测试(反之亦然)所带来的偏见问题。最后,我们探讨一种简单方法的局限性,即随着时间推移不断累积信息关于恶意软件样本,以期在未来更全面地实现恶意软件检测(参见第4.4节)。
4.1 基于历史感知的数据集构建
如第2节所述,机器学习方法的关键步骤之一是分类器的训练。因此,相应训练数据集的构建至关重要,但关于如何实现这一点的细节在文献中大多缺失,正如第3节所示。
训练数据集有两种常见的选择模式:(1)使用已收集并发布的恶意软件数据集(例如Genome),并向其中添加一部分确认的良性软件;(2)通过从在线市场或开源仓库中收集的数据集中随机选取一部分良性软件和恶意软件来构建数据集。这两种模式都会导致相同的情况:即训练数据集中的某些项目在时间上可能晚于测试数据集中的项目。换句话说,(1)训练集的构建相当于从已知的恶意软件和良性软件混合体中进行无历史感知的随机选择;(2)在评估实验中,安卓应用程序的创建/出现历史并未被作为参数考虑,尽管恶意软件检测的实际应用将面临这一限制。
遵循行业实践,当需要对新上传的一组应用程序进行恶意软件识别分析时,所使用的训练数据集必然在时间上早于该新数据集。然而,在研究文献中对恶意软件检测技术的验证过程中,这一限制通常被忽略。为了明确揭示当前评估协议引入的偏见,我们设计了一个实验,用于比较机器学习检测器在不同场景下的性能。这些恶意软件检测器基于两种不同设置下构建的分类器:一种是使用图1中描述的过程随机构建训练数据集,另一种是使用符合历史约束的数据集。
为了减少这些比较之间的偏见,我们确保各数据集大小相同,并且良性软件与恶意软件之间的类别不平衡程度一致。因此,为了构建一个无历史感知的数据集R0,以便与由第M0,月数据构成的训练数据集进行比较,我们从完整数据集中随机选取与M0中相同数量的良性软件和恶意软件。实验过程首先在M0上进行训练并在其后所有月份上进行测试,然后在R0上进行训练并在所有月份上进行测试(参见图2)。
图3 展示了我们的实验结果。当我们从整个数据集中随机选择训练数据集,并为按月重新分组的测试应用构建分类器时,恶意软件检测器的精确率和召回率在 0.5 到 0.85 之间。获得的 F值 也相对较高且大致稳定。该性能与文献中报道的最先进的方法的性能一致。
然后,我们将训练数据集限制为与测试数据集历史一致。我们从特定月份(例如 M0)的应用集合中选择恶意软件和良性应用,作为构建训练数据集的数据来源。分类。测试集与之前实验中的保持一致,即按月分组的应用程序数据集。我们观察到,当我们从M0开始选择测试数据并逐渐远离时,性能显著下降。
我们重复了该实验,依次从时间线中选择不同的月作为训练数据集的选取月份。使用非历史一致的训练集始终比使用历史一致的训练集表现出显著更高的性能。
研究问题1的发现 :构建一个与应用程序出现历史相一致的训练数据集,其性能明显低于简单地从应用市场和仓库中随机收集应用程序所获得的性能。因此,在没有进一步评估的情况下,最先进的方法不能被认为在实际应用场景中具有强大性能。
研究问题2的发现 :通过随机选择,我们允许“来自未来的”恶意软件成为训练集的一部分。然而,这会导致有偏结果,因为性能指标被人为提高。
4.2 安卓恶意软件中的谱系
我们的第二轮实验旨在研究训练数据集在构建能够长期保持高性能的分类器方面的能力。在本研究阶段,我们的目标是发现恶意软件的多样性在时间上的分布情况。为此,我们考虑使用每个月的应用程序来构建训练数据集,并使用随后各月的数据对得到的分类器进行测试。
图4和图5提供了恶意软件检测器的F值和精确率随时间演变的图表,这些检测器使用第 Mi月的训练数据集构建,并应用于第Mk,k>i月。忽略导致曲线上出现大量急剧上升和中断的异常值后,得到的分类器平均表现出稳定且较高的精确率,数值约为0.8。这一发现表明,无论训练和测试数据集的月份如何组合,所构建的分类器仍能以良好的精确率识别出在训练期间学习到其特征的恶意软件。
另一方面,F值性能会随着时间的推移而下降:对于某个特定月份 Mi,其应用程序被用于训练数据集,所获得的分类器在接下来的几个月Mk,k>i中识别恶意软件的能力逐渐降低。这一发现与前述结果相关,表明随着时间的推移,在存在安卓恶意软件谱系的情况下,从训练数据集中学习到的特征与所有恶意软件的实际特征越来越不相符。我们将谱系定义为具有一组共同特征的恶意软件集合,无论是在行为上还是编码属性方面。需要注意的是,我们区分“谱系”和“家族”这两个术语,其中“家族”在文献中指的是利用相同漏洞的一组恶意软件。谱系是一个更通用的术语。
实验还凸显了使用特定且未更新的恶意软件集合(如广泛使用的 Genome数据集)训练分类器时所引入的偏见。这也证实了为何如第4.1节所述,在整个时间线中随机选择恶意软件能够提供良好的性能:
发现‐RQ3 :安卓恶意软件具有多样性。恶意软件变种的存在使恶意软件检测更加复杂,因为训练数据集必须定期更新,以包含更多种类的恶意软件变种代表。
4.3 来自未来的知识是圣杯吗?
先前的实验表明,使用整个时间线上的应用程序(没有任何历史限制)有利于提升恶意软件检测器的性能。我们进一步表明,当训练数据集相比测试数据集过于陈旧时,该性能会显著下降。我们现在进一步研究,相较于使用历史较早的数据(一致的情况),严格晚于测试数据集的训练数据是否能够带来更好的性能。当目标是积极防止恶意应用进入公共领域时,这种对数据集的偏见性构建是不公平的。然而,这种构建方式可以通过以下假设得到合理化:即当前可能始终包含过去出现过的恶意软件变种的代表性样本。
安卓生态系统中,开发者每周都会创建数千个应用程序。其中大多数程序,包括来自新变种的恶意软件,无法得到彻底检查。然而,经过一段时间后,杀毒软件厂商可能会识别出这些新出现的恶意软件。因此,可以利用机器学习过程来自动化大规模识别已发布一段时间的应用程序中的恶意软件。图6展示了恶意软件检测器的F值性能演变情况:针对用于训练的每个月份Mi,所获得的分类器被用来预测之前月份Mk,k<i中的恶意软件。总体而言,随着测试和训练数据集之间的时间差异增加,性能显著下降。
发现‐RQ4 :用于机器学习恶意软件检测的训练应用程序(包括恶意软件)在时间上必须与被测试的目标数据集接近。较旧的训练数据集无法涵盖所有恶意软件变种,而更新的数据集则缺乏足够的过去恶意软件代表性样本。
4.4 构建训练数据集的简单方法
鉴于我们在前几节中展示的研究发现,我们通过大量实验探讨了一种潜在的恶意软件检测研究方法的设计,该方法将符合行业实践的约束条件。在给定时间 t,只能使用早于 t 的数据集来构建分类器。然而,为了提高保持性能的可能性,可以遵循两种协议:
(1) 持续完全更新训练数据集,以保持与测试目标数据集在时间上接近。然而,这种更新过程必须实现自动化才能切实可行:在此场景中,我们假设在第 M0月通过杀毒产品完成引导步骤,以获得一个初始可靠的训练数据集。
恶意软件检测系统在此之后的几个月内将独立运行。因此,在第M1月获得的分类结果(使用第 M0月的数据进行训练)将直接用于训练针对第M2月应用程序测试数据的分类器。该系统将持续迭代至第 Mn月,如图7所示,这意味着一旦系统启动,检测系统便实现自动化,并仅依赖其测试结果来持续训练新的分类器。在实践中,由于此前实验中记录的高精确率值,这种做法是合理的。
(2) 贪婪地包含尽可能多的关于恶意软件变种的知识:此场景也是自动化的,并且需要引导。然而,不是每个月完全更新训练数据集,而是将新的分类结果添加到现有的训练数据集中,并用于构建下个月的分类器。
图8显示,场景2的F值性能略好一些。详细图表表明,从长期来看,场景2的召回率确实更高,而精确率则低于场景1。总之,这两种场景在长期内表现出不同的精确率与召回率之间的权衡:场景1能够以较高的精确率识别出少量恶意软件,而场景2则以较高的误报率为代价发现了更多的恶意软件。
尽管这些场景单独来看用途不大,但它们通过实证证据为基于机器学习的恶意软件检测系统如何考虑训练集的构建提供了见解。
发现‐RQ5 :仅通过根据先前运行的输出在训练数据集中添加/更新信息,无法保持恶意软件检测器的性能。然而,这些场景对随时间演变的性能产生了有趣的影响,必须进一步研究以确定适当的平衡。
5 洞察与未来工作
发现 。(1) 在构建基于机器学习的恶意软件检测器的训练数据集时,不得忽视历史约束。事实上,忽略这些约束会在解释恶意软件分类器性能时引入显著偏见。(2) 需要建立一个可靠且持续更新的基准,用于评估基于机器学习的恶意软件检测方法。我们可应要求提供为此项工作所构建的基准版本。我们的基准数据集包含约 200,000 个安卓应用程序,涵盖两年的安卓恶意软件历史数据。
Insights .(1) 机器学习无法确保识别出训练数据集中未包含的全新恶意软件谱系。因此,有必要定期引入外部信息(例如来自杀毒软件厂商的新恶意软件谱系)来辅助该过程。(2) 在现实环境中,从业者无法获得可靠的训练数据集。实际上,大多数恶意软件是在其已对终端用户可用之后很久才由杀毒软件厂商发现,且常常是手动发现[15]。因此,必须使用大规模基于机器学习的恶意软件检测技术,以自动化发现那些已在独立流程中被确认的恶意软件变种。
效度威胁 . 为了进行本研究,我们考虑了一个使用基于机器学习的恶意软件检测的独特用例场景。该场景包括 主动阻止恶意软件 进入市场 ,并且与大多数现实世界的约束高度相关。事实上,在实践中,保持可利用时间窗口非常窄至关重要。因此,为了限制受感染设备的数量,必须在安卓恶意软件进入市场时立即检测到它们。因此,评估最先进的方法时,必须充分考虑历史约束。
然而,还有第二种用例场景,涉及用于研究的在线仓库,即定期清理此类仓库。在此在该场景中,仓库维护者会在发现新型恶意软件后尝试过滤恶意应用。在这种情况下,从业者可以等待较长时间,再构建用于识别此后存在于仓库中的恶意软件的分类器。然而,这些仓库通常规模适中,可以通过人工结合杀毒产品进行扫描。本文所得结果在使用不同特征集和/或不同数据集的情况下可能无法复现。然而,我们没有理由认为数据集的收集方式引入了任何偏见。
未来工作 。 (1) 基于我们实验的洞察,我们计划研究如何在杀毒软件厂商能够检测到新型恶意软件之前,保持基于机器学习的恶意软件检测器的性能。这一研究方向有助于将研究成果应用于现实世界流程中,与目前仍被广泛使用但无法跟上当前恶意软件生产速度的杀毒产品相结合。(2) 为了应对训练数据集中恶意软件变种表示随时间演变的问题,我们计划研究一种多分类器方法,每个分类器使用新旧程度不同的数据进行训练,并相应地赋予不同权重。首要挑战之一是如何推断或自动化地选择时间线上各个月份的权重,以构建最具代表性的训练数据集。
6 结论
鉴于全球智能手机的普及率持续上升,以及针对这些设备的应用程序开发不断增长,保护用户免受恶意应用侵害变得愈发重要。因此,近年来恶意软件检测重新受到关注,研究人员正在探索可扩展的技术,以在成千上万的良性应用中识别并过滤出具有恶意特征的应用。
然而,与其他领域相比,计算机安全领域的研究必须产生真正适用于实际应用场景的技术和方法。为此,恶意软件检测研究方法的评估协议必须反映市场维护者和用户所遵循的实践与约束。通过这项实证研究,我们旨在防止安全研究产生脱离现实的方法和技术。此外,鉴于前沿文献中报道的恶意软件检测性能,而市场维护者仍在努力阻止恶意软件进入市场,因此有必要通过对当前评估协议提出质疑来澄清研究领域。
本文中,我们研究了历史在评估数据集选择中的相关性。我们进行了大规模实验,以突出不同数据集选择场景可能表现出的不同偏见。我们的主要结论是,前沿文献中当前方法所采用的评估协议与恶意软件检测的实际场景相去甚远。保持应用市场清洁的实践。我们进一步研究了训练数据集构建的简单方法,并为研究社区的未来工作提供了见解。
3181

被折叠的 条评论
为什么被折叠?



