安全性和通信网络

PDF
安全性和通信网络/2020年/文章

研究文章|开放获取

体积 2020年 |文章的ID 6726147 | 10 页面 | https://doi.org/10.1155/2020/6726147

战斗移动规避恶意软件通过Skip-Gram-Based恶意软件检测

学术编辑器:Petros Nicopolitidis
收到了 2019年11月11日
修改后的 2020年2月19日
接受 2020年3月28日
发表 2020年4月20日

文摘

Android恶意软件检测安全领域是一个重要的研究课题。有很多现有的恶意软件检测恶意软件模型基于静态和动态分析。然而,大多数的这些模型不是很成功时规避恶意软件检测。在这项研究中,我们旨在创建一个恶意软件检测模型基于自然语言模型称为skip-gram检测准确率最高的规避恶意软件。为了训练和测试我们的模型,我们使用了一个最新的恶意软件的数据集称为Argus Android恶意软件数据集(AMD)由于AMD包含各种规避恶意软件的家庭和他们的详细信息。同时,良性的样本,我们舒适地使用Android良性的数据集。我们建议的模型开始从指令序列中提取skip-gram-based特性的Android应用程序。这几个机器学习算法适用于分类样本为良性或恶意软件。我们测试了我们的模型有两个不同的场景。在第一个场景中,随机与森林有关的分类器进行95.64%的检测精度对整个数据集和95%检测精度对规避只样品。 In the second scenario, we created a test dataset that contained zero-day malware samples only. For the training set, we did not use any sample that belongs to the malware families in the test set. The random forest-based model performed with 37.36% accuracy rate against zero-day malware. In addition, we compared our proposed model’s malware detection performance against several commercial antimalware applications using VirusTotal API. Our model outperformed 7 out of 10 antimalware applications and tied with one of them on the same test scenario.

1。介绍

移动设备技术的进步使得开发者将内容丰富的应用程序等不同的目的社交媒体、医疗、金融、政府。因此,移动设备的使用大大增加,和恶意软件(恶意软件)开发人员将注意力转向移动应用市场1- - - - - -4]。恶意软件可能会有很多不同的目标等加密的个人数据,使用设备资源(cryptocurrency)窃取敏感信息(财务信息、图片、联系人等),将受害者的机器转换成机器人,并限制访问关键服务(5]。

在应用市场领域,主要有两个球员,即苹果的应用商店和谷歌的商店。根据Statista报告(6),Android操作系统的市场份额最高自2011年以来,全球移动设备上。此外,2017年5月,Android每月有超过二十亿活跃用户,2018年12月谷歌播放存储特性的超过260万个应用程序(6]。

此外,这是一个众所周知的事实,发表在谷歌应用商店不接受严格的审查过程(7]。因此,Android操作系统已经成为最喜欢的操作系统恶意软件开发人员(5]。因此,一个健壮的恶意软件检测方法的要求为Android平台比以往变得更加迫在眉睫。

广泛的恶意软件检测技术往往是基于签名的检测技术。在签名检测技术中,应用程序的签名,即它的指纹,对数据库进行比较已知的恶意软件组成的指纹。所以,这些技术只局限于以前遇到的检测恶意软件和脆弱的反对零日恶意软件和/或恶意软件配备闪避能力。为了应对规避和/或零日恶意软件,有必要设计一个有效的恶意软件检测的方法。

近年来,安全研究人员提高了恶意软件检测技术通过分析恶意软件的静态和动态。在静态分析方法,重要的特性,比如应用程序权限,库依赖和二进制代码结构提取恶意软件无需执行。另一方面,在动态分析中,恶意软件是运行在沙箱环境来观察和研究其运行时行为如系统调用、文件访问,网络访问和注册中心活动。动态分析方法可能会提供一个更广泛的恶意代码的能力称为现代恶意软件。现代恶意软件使用方法如代码混淆,叫间接,字符串加密来误导静态分析工具或感官的运行时环境以应用对策避免动态分析。

在这项研究中,我们提出一个有效的恶意软件检测方法采用配重平衡逃避技术现代化的恶意软件。我们建议的恶意软件检测方法是基于静态分析。我们运用语义分析与句法分析给定应用程序的源代码,以把它归类为良性的或恶意的。我们建议的模型反编译应用程序和提取操作码序列。然后,它使用最先进的NLP字嵌入算法,叫做skip-gram,为每一个独特的操作码生成嵌入这个词向量获取语义之间的关系。通过使用这些词嵌入向量,我们产生密集的向量来实现的高层表示操作码序列。然后,我们使用这些密集的向量作为输入来检测模型,检测恶意软件的准确性达95.64%。同时,由于使用密集的向量,我们能够减少训练时间,内存使用量和处理能力显著。

本手稿的其余部分组织如下:部分2给相关的工作信息。部分3描述了我们的模型和方法。节4,实验结果进行了讨论和分析。最后,部分5总结了工作和描述了未来的发展方向。

静态的恶意软件分析方法已被广泛用于恶意软件检测的问题。的一些安全研究人员专注于静态的恶意软件分析使用自然语言处理方法称为语法或skip-gram特征提取。这些方法被应用于恶意软件检测问题,因为恶意软件分析恶意软件的字节码/操作码序列类似于文本和文档分类问题。与此同时,其他研究人员专注于更明显的特性,比如API调用,调用图和用户权限的恶意软件检测的问题。在这项研究中,我们提出的模型是建立在一个叫做skip-gram自然语言处理的方法。正因为如此,我们专注于现有NLP-based静态恶意软件分析研究相关工作。重要的是要注意,虽然我们提到的检测准确率的所有先前的研究下面,这些结果并不相互可比由于缺乏标准数据集评估拟议的模型的性能。

Moskovitch等人提取操作码语法从Windows可执行的二进制文件和应用特征选择方法像费舍尔得分,获得比,和文档频率来确定最重要的语法术语(8]。他们创造了一个数据集是基于5677年恶意软件和20416年良性的文件。他们提出的方法执行2克基于数据集上有94.43%的准确度提高了决策树(DT)方法。

麦克劳林等人提出了一个基于字嵌入的方法获得操作码来检测恶意软件(9]。卷积神经网络(CNN)分类器被用于恶意软件检测。从2123年到48000年他们有多个数据集不同样品。最大的恶意软件检测的准确性和操作码率是98% 3-gram和小数据集。然而,恶意软件检测率是69%的最小精度与大型数据集,其中包含24000恶意软件和24000良性的Android应用程序。

Karbab等人提出了一个方法,从API调用序列,提取字嵌入的是来自应用程序的汇编代码,区分恶意软件从良性10]。33066年的数据集包含恶意软件(20089 MalDozer 5555 Drebin和1258 Malgenome)和37627年良性的应用程序。的最大精度恶意软件检测率是96%,和最小的恶意软件检测率是95%在整个数据集。99%的准确率是通过只使用Drebin与5倍交叉验证数据集。本研究关注Android恶意软件检测,依靠API调用序列特性和CNN分类器。

Awad等人关注word2vec特征提取方法的有效性在恶意软件检测区域(11,12]。实验完成了10868 Windows恶意软件包含九个不同的家庭。他们提取skip-gram和连续Bag-of-Words (CBOW)从操作码和操作码与抽象参数特性。最大精度为98%与CBOW 5的窗口大小,而最低精度76% skip-gram相同的窗口大小。这项研究没有关注恶意软件检测但自然语言处理(NLP)方法的有效性在Windows恶意软件分类。

许等人提出了一个方法,包括两个不同的检测阶段,用户提供的阈值。应用程序在第一次检测层分类或传递给第二个检测层(13]。第一层由XML特征向量和使用多层感知器(MLP)作为分类器。同时,第二层包括字嵌入应用程序操作码的表示。超过200个独特的操作码分组在15个不同的类别为简化预处理成本。47525数据集包括62915个恶意软件和良性的应用程序。10倍交叉验证申请评估,和有一个验证集深度学习hyperparameters的微调。他们提出的模型执行的准确性达97.74%。

Yousefi-Azar等人提出了一个语法的方法来区分恶意软件和良性的。在他们的研究中,他们使用了恶意软件的数据集称为PDF份额。数据集由10980恶意PDF和8999良性的PDF。n-gram-based特性从恶意软件获得的操作码。Skip-gram和创建CBOW语法而不是操作码(14]。他们应用等多种机器学习算法来检测恶意软件再(资讯),极端学习机(ELM)、支持向量机(SVM) [15],XGBoost(也称为GBDT GBM) (16,17]。最大的恶意软件检测率是98%,精度和最小的恶意软件检测率是92%。

在[18)、风扇等人尤其关注狡猾的恶意软件。上下文和性特征被用来描述恶意软件。不同类型的实体及其语义关系建模和metagraph-based方法,即称为异构信息网络(HIN),提出了描述这些关系。作者还提出了一个新欣嵌入模型meta-graph2vec降低培训成本,形成低维表示节点在欣。因此,一个分类模型是由喂养SVM的低维表示Windows可移植可执行文件。此外,实验研究是进行真正的恶意软件集合从舒适地云安全中心测量的性能建议的方法对已经存在的恶意软件检测方法。0.97获得的模型的准确性。作者的名字他们作为蝎子的恶意软件检测软件。

王等人提出了一个恶意软件检测方法,它使用url访问应用程序来识别恶意软件(19]。首先,skip-gram方法是用于表示特征向量;那么多视图神经网络被用来创建一个恶意软件检测模型,强调深度和宽度。实验研究进行了测量模型的性能。此外,对比该方法的检测结果和野外应用程序是由10流行的杀毒扫描器。与其他traffic-based研究相比,F-Measure和准确性都报告为0.98。此外,本研究进行了只使用url的http流量,因此,考虑在范围之外的其他的url。

你们等人提出了一个实时的恶意软件检测方法为Android恶意软件利用异构图(20.]。在这项研究中,首先,运行时应用程序编程接口(API)从Android应用程序调用序列提取,然后他们的高层语义关系在生态系统进行了分析。异构图(HG)结构化建模准备模型(即不同类型的资产。、应用程序API,设备,签名,和连接)和它们之间的关系。为了有效地分类节点(例如,应用程序)中创建了HG,使用HG学习方法进行了培训。当时给深神经网络分类器,以学会了HG表示为输入实时Android恶意软件检测。报告作者称其方法作为其精度为0.99 AIDroid和报告。

另一方面,安德烈(21),是基于聚类的方法来检测恶意软件。它使用多个来源的信息,比如静态代码分析结果、元数据的应用程序,从杀毒软件供应商和原始标签弱标记Android恶意软件。恶意软件的恶意行为是接近现有的家庭网络上的,也是使用三层深层神经网络分类(款)。未知的恶意软件是集群使用标准density-based聚类算法。作者评估他们的方法利用从Drebin 5416真实恶意软件和9000组成的恶意软件从VirusShare 3324弱标记恶意软件。报道了最大精度值为0.91的MLP分类器。在这项研究中,混淆恶意软件没有考虑,和白名单的方法被用来排除常见的Android应用程序的第三方库。

叫AMDroid通用电气等人提出了一个方法,它使用函数调用图(FCGs)代表应用程序的行为和使用图形内核自动从FCGs学习应用程序的结构意义(22]。AMDroid评估在基因组计划的性能,实验结果表明,AMDroid Android恶意软件检测到支持向量机分类器的准确率达到了97.49%。

在[23),作者使用的API调用图表作为一个图表示所有可能的执行路径,恶意软件在执行过程中可以遵循。嵌入式API调用图转化为低维数值向量特性集然后引入神经网络。然后,相似性检测的方法是为每个二元函数有效地训练和测试。实验结果表明,该恶意软件的分类精度为98.86%。然而,这项研究是由使用API调用图,通过关注一般的成功而不考虑恶意软件的家庭根据动态分析的原则。

1总结了相关工作的研究方法的基础上,使用数据集,和功能类型并给出精度。


研究 Acc。(%) 数据集的大小 方法 功能类型

(8] 94.4 26093年 提高了DT 操作码语法
(9] 69年 48000年 美国有线电视新闻网 操作码字嵌入
(9] 98年 2123年 美国有线电视新闻网 操作码字嵌入
(10] 96年 70693年 美国有线电视新闻网 嵌入
(11] 98年 10868年 然而, API调用序列操作码skip-gram CBOW
(13] 97.7 110438年 延时+ LSTM APK XML操作码嵌入
(14] 98年 19979年 XGBoost Skip-gram-based操作码语法
(18] 97年 59749年 支持向量机 欣metagraph2vec
(19] 98年 - - - - - - 多视图神经网络 Skip-gram
(20.] 99年 190696年 HG学习 异构图形API调用图
(21] 91年 14416年 集群+款 Skip-gram CBOW
(22] 97.49 2520年 支持向量机 Skip-gram
(23] 98.86 58139年 API调用图skip-gram

3所示。现代恶意逃避所使用的技术

现代恶意软件使用多种技术来对抗防病毒系统。一些恶意软件应用技术,有助于避免检测从防病毒系统,而其他的开发和/或使用一些antianalysis方法为一个特定的恶意软件检测系统。所使用的一些技术时避免检测恶意软件使用其他技术是用来防止分析。最著名和最常用的逃避现代恶意软件使用的技术总结如下。(我)重命名是最基本的技术之一,通过防病毒软件。这种技术的恶意软件重命名本身或使用的变量和函数的名字。(2)改装是一个简单但有效的规避方法。在这种技术中,像神秘的,恶意软件作者要么压缩,加密,或重新安排一些恶意软件的一部分24]。当恶意软件运行时,首先它解包,然后开始执行。(3)字符串加密是一种恶意软件的技术使用静态分析复杂化。任何有意义的字符串这可能导致恶意软件的指纹加密使用一个自定义的加密方案。静态分析只能指纹的恶意软件后正确的解密字符串。(iv)源代码加密是一种模糊技术从防病毒软件隐藏的恶意软件。它可以在应用程序级别或在类级别。当应用程序级别时,整个恶意软件加密;而当它应用于类级别,要么选择类或类都是加密的。源代码加密失败的正确指纹识别恶意软件。(v)叫间接和反射技术是一种转换操作应用程序的调用图。以这种方式自动匹配的电话是可以避免的。一个方法调用转换为一个电话然后调用原始调用(25]。(vi)动态加载技术,恶意软件外部动态加载数据和/或代码,从外部服务器启动时间。这个外部采购在运行时有效地避开一个静态分析。另外,按照惯例,外部来源的数据和代码也加密。(七)资源模糊是另一个antidetection antianalysis技术作者使用的恶意软件。他们混淆了项目资源,比如字符串和图形图像,存储在磁盘上,然后deobfuscate他们,这样他们就可以在运行时使用的恶意软件。(八)Antidisassembly是另一个恶意软件作者所使用的技术。反拆卸旨在利用先进的拆卸技术的固有局限性隐藏代码从恶意软件分析。(第九)Antidynamic分析方法是专门为避免开发动态分析。有两个主要类别对运行时环境的决心。第一类并不需要知道它是否正在运行在分析环境。这些类型的恶意攻击等固定的时间或事件等特定的用户交互激活恶意代码。第二组有各种方法目前正在运行的环境意识。这种类型的恶意软件从来没有激活恶意代码如果它感觉上运行分析环境;因此被认为是一个良性的应用程序。它可以获得这些信息通过各种方法,如访问全局变量(联系人、图片数量等)、测量高速缓冲存储器访问时间的不一致,甚至找到一个侧槽泄漏敏感信息分析环境,不应该被恶意软件。

4所示。原始数据集

当数据集的研究中提到的相关工作部分进行检测时,发现两个基本的问题出现了。首先,最公开的数据集是过时了。第二,这些数据集包含有限的恶意软件不同的家庭。现代恶意软件复杂的逃避技术,给他们提供对鲁棒性的静态和动态分析。因此,重要的是使用数据集,包含复杂的恶意软件的家庭能够准确评估恶意软件检测的性能模型。另一个问题是,我们所知没有公众良性可用数据集。在这项研究中解决这些问题我们创建自己的恶意软件检测恶意软件的数据集,数据集由AMD Argus实验室舒适地良性数据集(26),和手工良性从谷歌应用程序商店。数据集的总大小是107 GB。Argus实验室恶意软件在2017年公布的数据集被公开Argus实验室(27]。它包含71种不同的恶意软件的家庭和大量独特的恶意软件实例为每个家庭。24553安卓包(上年)收集在2010年和2017年之间。行为分析应用于每一个家庭和一些属性如安装方法,获得成分,激活,antianalysis方法、货币化,信息窃取和详细的图表显示的恶意软件是如何工作的。提取antianalysis属性,对重命名,每个家庭测试字符串加密,动态加载,本地负载,和一些动态分析逃税的方法来探索他们的能力。详细的元数据信息,我们可以告诉我们的模型的鲁棒性这样的逃避技术。数据集是非常大的和详细的,充满现代研究人员和大型数据集的差距。apk在这个数据集的大小随10 KB 48 MB。在这个数据集,我们可以获得操作码从24.304使用Apktool样本。剩余的样本被丢弃的最终数据集由于困难在反编译阶段(27]。另一方面,ISL良性数据集包含16630个良性的应用程序。其中一半是来自谷歌播放存储在不同的类别,而另一半是来自科摩多安全组。半从谷歌获得播放存储包含应用程序从34个不同的类别,分类由谷歌,而舒适地安全组提供的数据集包含只有12个不同类别的应用程序。从谷歌应用程序选择玩商店都标记为良性,谷歌玩保护。为了安全起见,良性中的每个样本数据集验证使用VirusTotal API的善举。通过VirusTotal API每个样本扫描前15名的防病毒软件,只有样品显示为良性的防病毒软件都添加到良性的数据集。ISL良性数据集包含应用程序完全不同类别和不同大小从2 KB到50 MB。

5。预处理

我们的数据集由原始的APK档案。APK是Android应用程序特定的档案格式。它包含Dalvik可执行文件(敏捷),资源、用户权限、元数据和各种配置文件。敏捷文件就像在Java类文件但它们转化为敏捷格式自不同的用于Dalvik字节码格式或Android运行时(ART)虚拟机。操作码序列获得敏捷属于每个APK文件内的数据集,然后他们各自写入文本文件。这个过程导致数据集的规模显著增长,所以,我们使用哈夫曼编码的操作码编码(28]。因此,所需的空间来存储预处理的APK文件被减少,因此更少的IO操作执行时间培训,验证和测试明显减弱。从APK文件中提取opcode-based特性包括几个阶段。如图1Apktool获得相应的敏捷文件用于每个APK文件(29日]。然后,每个DEX文件转化为Android操作码序列(smali)使用baksmali解码器(30.]。由此产生的反编译文件处理与霍夫曼编码来表示操作码空间效率。最后,文件合并成一个单一的文件中。这个过程被重复每个APK实例的数据集内。

6。恶意软件检测模型

我们认为从Android应用程序操作码序列人工语言。在这个语言,独特的操作码是语言文字,函数作为句子和整体序列作为语料库的一部分。构建语义操作码之间的关系,我们使用了skip-gram Word2Vec模型的方法是(31日]。

Word2vec是一组相关的模型,用于生产字嵌入。这些模型是浅,两层神经网络训练重建语言语境的单词。Word2vec需要大型文本语料库作为输入,并生成一个向量空间,通常几百维度,为每一个独特的词语料库。

6.1。Skip-Gram

词向量向量空间中定位,这样的话共同语境的语料库位于靠近彼此的空间。Skip-gram特征提取模型,用于预测潜在的词可能会前后所选的词。我们称这个选中的词作为目标周围和单词在特定的上下文窗口大小。skip-gram模型是一种无监督的方式训练元组为每个目标和上下文。培训部分完成后,相应的权重视为一个字嵌入向量的每个单词的词汇量。在图2这个过程是解释说。

6.2。Apk2Vec

应用程序在我们的数据集有一个伟大的多样性在操作码序列长度。这将创建一个不一致的输入层维度的问题基于机器学习模型的训练。这个问题的一个可能的解决方案是将填充输入层中的所有样本数据集。这个解决方案可以在口语句子或文档长度有显著低方差。然而,在我们的数据集,输入层维度从几百到三个数百万。所以,填充创建一个稀疏数据集的问题。为了克服这个问题,我们使用了一个简单但有效的方法,叫做“Apk2vec”来描述每个smali文件与一个固定大小的向量。我们代表smali文件中的每一个操作码对应的嵌入向量;然后我们为每个操作码和嵌入向量。然后我们计算平均嵌入向量。 We consider this vector as fingerprint of the APK (Figure3)。我们重复这个过程对于每个APK文件在我们的数据集来创建我们的最后的恶意软件检测数据集,适合基于机器学习的分类。

7所示。实验和结果

skip-gram方法操作码的应用是一个新概念。Skip-gram旨在为演讲语言创建模型,具有非常大的句子词汇但小尺寸的大小。但操作码序列完成相反的特征。我们发现219独特的积极操作码用于完成安卓操作码集,其中包含238种不同的操作码。我们认为操作码字和功能作为句子的语言模型。这使我们大大长句子与一个非常小的词汇。因此,使用普遍hyperparameters skip-gram培训自然语言分类可能会伤害我们最后的检测性能。为消除这一隐患,之前我们进行了分类试验获得最佳hyperparameters执行。对于这个测试,我们创建了一个小数据集只包含1500恶意软件和1500良性从我们的大型数据集应用程序池。在1500年恶意软件编制实例,我们特别关注包含实例从71年所有的恶意软件有均匀分布的家庭。 As to the 1500 benign samples they were randomly selected from the benign dataset. There exist no families among benign instances.

然后我们这个小数据集分割成测试和训练数据集比例为70%和30%,分别。我们试图创建一个平衡的数据集,其中包含至少一个实例从恶意软件家族和窗口大小的2和3字嵌入大小50、300和500。随机森林(32),决策树(33),朴素贝叶斯,支持向量机作为分类器。

7.1。恶意软件检测和零日性能

我们探索了两种不同的场景来测试我们的模型对零日恶意软件的性能和鲁棒性。对于第一个场景,我们试图创建的训练和测试数据集包含至少一个实例从71年的每一个家庭的恶意软件,而为零日恶意软件性能21家庭排除在组成相应的数据集。因为我们有一个庞大而均衡的情况下,我们选择了70%到30%之间的平衡训练和测试数据,而不是使用交叉验证。我们创建了相应的训练数据集包含至少一个实例从每个包含恶意软件的家庭。后来我们预处理的训练和测试数据集获取霍夫曼编码的操作码序列的实例。这种编码导致减少超过80%的原始数据集,大约相当于500 GB。为每一个场景中,我们考虑了训练数据集使用的语料库skip-gram模型和生成一个嵌入矩阵窗口大小的3和一个嵌入大小为500。窗口大小,我们尝试2和3的值;嵌入的大小我们尝试值50,300和500。所选分类器获得的精度不同窗口大小和嵌入表进行了总结2。因此,上述值大小分别选为他们导致最好的精度值。使用嵌入矩阵从上一步获得,我们跑Apk2vec算法为每个测试场景,并获得相应的固定大小的矢量表示。这些向量作为机器学习分类器的输入。我们使用决策树(DT),随机森林(RF), 1-NN小区,随机子空间,支持向量机和梯度下降法。忽略时21的实例被用来测试零日恶意软件家庭性能与50个恶意软件使用模型生成的家庭场景2的一部分。实例的数量及其分布对于每个场景给出了表3


J48 朴素贝叶斯 随机森林 支持向量机
窗口大小 - - - - - - 2 3 2 3 2 3 2 3

嵌入的大小 50 79.77% 78.91% 60.51% 60.44% 83.89% 83.56% 60.01% 59.78%
300年 81.93% 81.50% 60.81% 62.37% 87.08% 87.14% 59.61% 60.04%
500年 82.63% 82.82% 61.60% 65.99% 86.51% 88.54% 59.21% 57.25%


场景1 场景2

训练集 恶意软件 16982年 15593年
良性的 11641年 11641年
测试集 恶意软件 7322年 6712年
良性的 4988年 4988年
零日 恶意软件 - - - - - - 1999年

7.2。结果

绩效评估、F1测量精度,回忆,和精度指标计算。以后,我们的整体数据集包含平衡的良性和恶意软件的实例数量,我们选择精度指标的决定性标准反映了我们提出的模型的性能。表45总结了精度值生成的模型。这两个模型,RF算法给最好的精度为97%和97.4%,分别。1999年家庭忽略时恶意软件的检测实例malwareness使用RF-based模型从第二场景。我们的模型成功地检测到747个实例是恶意的。


恶意软件 良性的 总精度
精度 回忆 F1度量 精度 回忆 F1度量

支持向量机 86.5 79.7 82.9 73.2 81.7 77.2 80.48%
随机森林 97年 95.6 96.3 93.7 95.7 94.7 95.64%
决策树 91.9 93.6 92.7 90.3 87.9 89.1 91.25%
随机子空间 95.7 94.4 95.1 92年 94.8 92.9 94.18%
SGD 82.9 93.4 87.8 88.8 71.7 79年 84.58%
然而, 93.4 96.9 95.1 95.2 90年 92.5 94.09%
套装1 95年 96.5 95.7 94.7 92.5 93.7 94.88%


恶意软件 良性的 总精度
精度 回忆 F1度量 精度(%) 回忆(%) F1测量(%)

支持向量机 87.6 79.8 83.5 75.8 84.8 80年 81.94%
随机森林 97.4 95.8 96.6 94.4 96.6 95.5 96.12%
决策树 92.5 93.9 93.2 91.6 89.7 90.6 92.04%
随机子空间 96.4 94.6 95.5 92.9 95.2 94年 94.86%
SGD 70.4 97.4 81.7 92.7 45 60.6 75.04%
然而, 93.5 97.1 95.3 95.9 90.9 93.4 94.48%
套装1 94.8 96.9 95.8 95.7 92.8 94.2 95.15%

我们还把我们的模型的性能最高的表演11可靠的防病毒软件应用程序。随着这些防病毒软件使用精度作为性能指标,我们相比精度值相应的值。比较的结果表6,这表明,我们的模型优于7 11商业软件应用程序和联系在一起。


商业软件 真阳性 假阴性 精度

停住 2900年 4422年 0.39
AVG 2902年 4420年 0.39
小红伞 6797年 525年 0.92
科摩多 6367年 955年 0.86
eset nod32 7304年 18 0.99
f - secure 6311年 1011年 0.86
卡巴斯基 4144年 3178年 0.56
迈克菲 7265年 57 0.99
微软 4075年 3247年 0.55
Sophos 7074年 248年 0.96
赛门铁克 7225年 97年 0.98
提出的模型 7066年 256年 0.96

此外,我们也评估的性能模型的鲁棒性与规避恶意软件。在第一个场景中48 71恶意软件的家庭被标记为规避数据集所有者,导致6667规避恶意软件在测试数据集的实例。我们的模型的精度分布的基础上,给出了模棱两可的恶意软件在桌子上7。可以看出,我们的模型能够确定95%的闪避实例测试数据集内。


逃税的方法 结果
重命名 字符串加密 动态加载 本地负载 Antidynamic分析 总菌数 精度(%)

Airpush 2353年 95年
Andup 14 92年
BankBot 195年 99年
Bankun 21 90年
Boqx 65年 75年
拳击手 14 One hundred.
一家名为 6 One hundred.
Dowgin 1015年 91年
DroidKungFu 164年 98年
FakeAngry 3 66年
FakeDoc 7 One hundred.
FakeInst 651年 One hundred.
FakePlayer 7 85年
FakeUpdates 2 0
Finspy 3 One hundred.
Fobus 2 One hundred.
Fusob 383年 One hundred.
GingerMaster 39 97年
还装有 11 63年
Gumen 44 88年
科尔 21 One hundred.
Ksapp 11 90年
Kuguo 360年 98年
Kyview 53 86年
水蛭 39 One hundred.
Lotoor 95年 96年
Minimob 61年 88年
Mseg 71年 53
Mtk 21 One hundred.
Obad 3 One hundred.
Opfake 3 66年
Ogel 2 One hundred.
科学家Roop 155年 99年
RuMMS 121年 One hundred.
SlemBunk 52 One hundred.
Simplelocker 48 One hundred.
SmsKey 50 98年
偷窃者 8 One hundred.
Svpeng 4 75年
Tesbo 2 One hundred.
“特里 63年 95年
UpdtKiller 8 One hundred.
Utchi 4 One hundred.
维京部落 3 33
Winge 6 16
Youmi 390年 97年
Zitmo 8 87年
Ztorg 6 One hundred.
总菌数 6462年 2856年 1796年 433年 1432年 6667年 - - - - - -
精度(%) 95年 96年 94年 93年 92年 - - - - - - 95(总)

8。结论

在这个研究中,我们提出了一个新颖的现代Android恶意软件和一个有效的方式分类。在我们的方法接近Android软件作为人工生成的文本但skip-gram应用技术,为NLP,提取有用的特性。

我们也证明NLP-based静态分析方法应用程序源代码有不错的效果。我们使用新发布的数据集Argus AMD。这个数据集提供恶意软件行为等家人逃税的方法。这详细的信息让我们评估我们的模型的鲁棒性对某些逃避使用机器学习算法的方法。总之,95.64%的精度实现无需运行目标应用程序和系统稳定性的风险。

数据可用性

科摩多提供的数据集和AMD Argus实验室。AMD Argus实验室数据集是公开的;然而,科摩多数据集是私人的,作者没有共享权限。

的利益冲突

作者宣称没有利益冲突。

确认

作者要感谢科摩多公司和AMD Argus实验室向他们提供必要的数据集。我们应感谢VirusTotal,允许他们使用他们的服务来验证数据集。特别感谢将BURAK TAHTACI和偏向OZTUNC为他们的努力提供的工作环境。

引用

  1. 诉切比雪夫,“手机恶意软件进化2018”,2019年,https://securelist.com/mobile-malware-evolution-2018/89689/视图:谷歌学术搜索
  2. gdatasoftware,“手机恶意软件进化2017”,2017年,https://www.gdatasoftware.com/blog/2018/03/30610恶意软件-数量- 2017视图:谷歌学术搜索
  3. gdatasoftware”, 2017年移动趋势,“2017年,https://www.gdatasoftware.com/blog/2018/03/30610恶意软件-数量- 2017视图:谷歌学术搜索
  4. Statista.com,“移动android版本分享全球2018 - 2019 |统计,“2019年,https://www.statista.com/statistics/921152/mobile-Android-version-share-worldwide/视图:谷歌学术搜索
  5. r . Benzmuller”,恶意软件统计2017年”,2017年,https://www.gdatasoftware.com/blog/2018/03/30610恶意软件-数量- 2017视图:谷歌学术搜索
  6. Statista,”谷歌商店,可用的应用程序数量”https://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/视图:谷歌学术搜索
  7. 谷歌,“谷歌玩商店”,https://play.google.com/store视图:谷歌学术搜索
  8. r . Moskovitch c .视野中时,n . Tzachar et al .,未知的分析检测使用操作码表示,“欧洲的情报与安全信息学大会施普林格,柏林,德国,2008年。视图:谷歌学术搜索
  9. n·麦克劳克林,j·马丁内斯▽林康,b .康et al .,“深android恶意软件检测,”第七届ACM学报》上的数据和应用程序安全会议上和隐私ACM,页301 - 308年,纽约,纽约,美国,2017年3月。视图:谷歌学术搜索
  10. e . b . Karbab m . Debbabi a . Derhab和d . Mouheb”MalDozer:自动框架使用深度学习android恶意软件检测,”数字调查,24卷,S48-S59, 2018页。视图:出版商的网站|谷歌学术搜索
  11. y Awad、m·纳塞尔和h .南非“恶意软件建模语言,”通信学报2018年IEEE国际会议(ICC)IEEE,页1 - 6,堪萨斯城,密苏里州,美国,2018年5月。视图:出版商的网站|谷歌学术搜索
  12. word2vec Dav。”“2019年,https://github.com/dav/word2vec视图:谷歌学术搜索
  13. k, y, r·h·邓和k·陈,“深澄清:多层android恶意软件检测系统应用深层神经网络”学报2018年IEEE欧洲安全和隐私(EuroS&P)研讨会上IEEE,页473 - 487年,伦敦,英国,2018年4月。视图:出版商的网站|谷歌学术搜索
  14. m . Yousefi-Azar l . Hamey诉Varadharajan,陈,“学习潜在字节级的特性表示恶意软件检测,测试”神经信息处理国际会议施普林格,页568 - 578年,柏林,德国,2018年。视图:谷歌学术搜索
  15. Amarappa和s . Sathyanarayana”数据使用支持向量机(svm)分类,一个简化的方法,”国际期刊的电子和计算机科学工程,3卷,第445 - 435页,2014年。视图:谷歌学术搜索
  16. d . Opitz和r . Maclin流行乐团方法:一个实证研究,“人工智能研究杂志》上11卷,第198 - 169页,1999年。视图:出版商的网站|谷歌学术搜索
  17. h·罗宾斯和美国孟氏随机近似法”,数理统计年鉴中,22卷,不。3、400 - 407年,1951页。视图:出版商的网站|谷歌学术搜索
  18. y的粉丝,侯,y, y,和m . Abdulhayoglu Gotcha-sly恶意软件!蝎子一个基于metagraph2vec恶意软件检测系统”《24日ACM SIGKDD国际会议上知识发现和数据挖掘,页253 - 262,计算机协会,伦敦,英国,2018年7月。视图:谷歌学术搜索
  19. z s . Wang Chen问:燕et al .,“深度和广泛的url功能挖掘为android恶意软件检测,”信息科学卷,513年,第613 - 600页,2020年。视图:出版商的网站|谷歌学术搜索
  20. y, s .侯l . Chen等人“学习样本外节点表示异构实时图android恶意软件检测,”28日学报》国际联合会议上人工智能AAAI出版社,页4150 - 4156年,澳门,中国,2019年8月。视图:出版商的网站|谷歌学术搜索
  21. y, y隋,s .锅et al .,“家族聚类为weakly-labeled android恶意软件使用混合学习表示,“IEEE取证和安全信息,p . 2019。视图:出版商的网站|谷歌学术搜索
  22. 电气x, y, y风扇,c .方“Amdroid: Androidmalware检测使用函数调用图,”学报2019年IEEE 19国际会议软件质量,可靠性和安全性的同伴(QRS-C)IEEE,页71 - 77年,索非亚,保加利亚,2019年7月。视图:出版商的网站|谷歌学术搜索
  23. a . Pektaş和t . Acarman深度学习有效使用api调用图嵌入的android恶意软件检测,”软计算,24卷,第1043 - 1027页,2020年。视图:谷歌学术搜索
  24. j·萨克斯和h·桑德斯恶意软件数据科学:攻击检测和归因,没有淀粉出版社,旧金山,CA,美国,2018年。
  25. 伊·m·p·玻美,m . a . Kaafar”DaDiDroid:一个模糊弹性工具检测android恶意软件通过加权直接调用图造型,“2019年,https://arxiv.org/abs/1905.09136视图:谷歌学术搜索
  26. 舒适地,“舒适地反恶意软件数据库,”2019年,https://www.comodo.com/home/internet-security/updates/vdp/database.php视图:谷歌学术搜索
  27. ArgusLab“Android恶意软件的数据集,”2016年,https://amd.arguslab.org/视图:谷歌学术搜索
  28. d·霍夫曼,”minimum-redundancy建设规范的方法。”《愤怒,40卷,不。9日,第1101 - 1098页,1952年。视图:出版商的网站|谷歌学术搜索
  29. ApkTool”ApkTool——逆向工程第三方的工具,关闭,二进制android应用程序,”2019年,https://ibotpeaches.github.io/Apktool/视图:谷歌学术搜索
  30. j . Freke“Baksmali敏捷的汇编/反汇编程序格式,“2019年,https://github.com/JesusFreke/smali视图:谷歌学术搜索
  31. g . t . Mikolov k . Chen拉和j·迪恩,“有效评估词表示的向量空间,”2013年,https://arxiv.org/abs/1301.3781视图:谷歌学术搜索
  32. l . Breiman“随机森林”,Machinelearning卷,45 5-32,2001页。视图:谷歌学术搜索
  33. j·r·昆兰C4.5:机器学习项目爱思唯尔,荷兰阿姆斯特丹,2014年。

版权©2020高山Egitmen等。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

416年 的观点 | 262年 下载 | 0 引用
PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单

相关文章

我们致力于分享发现相关COVID-19尽可能快速和安全。任何作者提交COVID-19纸应该通知我们help@hindawi.com以确保他们的研究顺利和尽快预印本服务器上可用。我们将提供无限的豁免的出版费用接受COVID-19相关文章。注册在这里作为一个评论家,帮助快速新提交。