没有合适的资源?快使用搜索试试~ 我知道了~
⃝++++可在www.sciencedirect.com在线获取ScienceDirectICTExpress 6(2020)128www.elsevier.com/locate/ictePSI-rooted subgraph:一种使用分类器算法进行IoT僵尸网络检测的新功能Huy-Trung Nguyena,b,Chang,Quoc-Dung Ngod,Chang,Doan-Hieu Nguyenc,Van-Hoang Leca越南科学技术学院科学技术研究生院,越南b越南科学技术院信息技术研究所,越南c越南人民安全学院d越南邮电技术学院2020年1月7日在线提供摘要很明显,物联网设备在许多领域越来越广泛地使用。然而,由于资源有限(例如,存储器、CPU),许多物联网设备(如IP摄像头、路由器)上的安全机制较低。因此,僵尸网络是一个新兴的威胁妥协物联网设备最近为了解决这个问题,物联网僵尸网络检测的新方法起着至关重要的作用。在本文中,我们有一些贡献,对于IoT僵尸网络检测:首先,我们提出了一种新的基于PSI-rooted子图的高级特征来检测物联网僵尸网络;其次,我们生成了有限数量的具有精确行为描述的特征,这需要更小的空间并减少了处理时间;第三,通过对随机森林、决策树、Bagging、k-最近邻和支持向量机等五种机器分类器的测试,结果表明基于PSI的子图特征具有较好的有效性和鲁棒性,每种分类器的检测率都在97%以上,且耗时较短。此外,与其他工作相比,我们提出的方法获得了更好的性能。最后,我们在Github上公开了我们所有的材料,这将有利于未来的研究(例如,IoT僵尸网络检测方法)。c2020年韩国通信与信息科学研究所(KICS)。出版社:Elsevier B.V.这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。关键词:物联网僵尸网络;物联网安全;静态恶意软件检测; PSI根子图;机器学习;深度学习1. 介绍工业革命4.0之后的数字化转型,特别是物联网(IoT)的发展正在全球范围内蓬勃发展,影响着交通、医疗保健、能源管理、自动驾驶汽车等生活的各个领域。思科[1]的一项调查显示,物联网设备的数量每年都在增加,可能会超过500亿台到2020年到2020年,估计互联网上连接的事物之间将交换44 Zettabytes的数据(1 Zettabytes相当于1,000,000,000,000 Zettabytes)[2]。预测不应是晴天霹雳∗ 通讯作者。电子邮件地址:huytrung.nguyen. gmail.com(H.-T. Nguyen),dungnq@ptit.edu.vn(Q.-D. Ngo),doanhieunguyen. gmail.com(D.- H. Nguyen),levanhoang. gmail.com(V.H. Le)。同行评审由韩国通信和信息科学研究所(KICS)负责https://doi.org/10.1016/j.icte.2019.12.001因为几乎任何可以通过互联网管理的物理对象都可以变成物联网设备[3]。与此同时,物联网设备成为使用恶意软件(代表恶意软件)的网络犯罪分子的有吸引力的目标,因为它们比传统计算机更容易被感染(例如,台式机、笔记本电脑),原因如下[4,5]:许多物联网设备在没有安全更新的情况下全天候运行。在物联网设备的开发周期中,为了降低成本,安全性往往被忽视。例如,大约70%的现有物联网设备存在漏洞[6]。由于资源有限,在IoT设备中使用传统密码是昂贵的。许多IoT设备使用制造商的默认登录凭据或用户配置的弱登录凭据。例如,根据ESET的一份报告[7],大约15%的测试路由器使用弱或默认的用户名和密码。 据报道,“admin”是最常见的用户名。它2405-9595/2020韩国通信和信息科学研究所(KICS)。出版社:Elsevier B.V.这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128129+还发现,近20%的测试路由器将其端口暴露于Internet,这是一个严重的安全隐患。大多数物联网设备使用基于Linux的操作系统,因此本文的重点是ELF可执行文件物联网恶意软件(“恶意软件”的缩写物联网恶意软件,虽然,是不是一个全新的概念,在这个时候,恶意软件针对物联网设备被发现自2008年以来(Linux.Hydra恶意软件)[8]。物联网恶意软件有很多类型[9],如木马、蠕虫、Rootkit、僵尸网络等,其中僵尸网络现在被认为是物联网设备网络环境中的主要安全威胁[10]。物联网僵尸网络最突出的例子之一是Mirai,它被认为是历史上最大的僵尸网络,由大约500,000个受损的物联网设备组成,流量峰值为每秒1.2太比特(Tbps),是有史以来最大的DDoS攻击[8,11]。因此,值得注意的是,在这项工作中,我们专注于物联网僵尸网络。此外,“Mirai”的源代码因此,僵尸网络和恶意软件在本文中可以互换使用为了应对如此大量的物联网恶意软件样本,许多研究人员和网络安全公司正在使用自动恶意软件检测方法。其中一个可能的解决方案是应用机器学习。它涉及构建分类器算法,这些算法能够从输入数据中“学习”,然后使用它们来处理以前看不见的数据。输入数据以表征分析对象的特征的形式出现。特征可以是整数或浮点数、布尔值(“true”或“false”)和分类值。使用机器学习检测物联网恶意软件的研究,如[13然而,这些研究表明,分类器算法,如随机森林,k-近邻,支持向量机和决策树等的性能不仅取决于手头的任务,而且还取决于特征的数量和特征。最近,应用深度学习来解决机器学习模型的局限性已经成为一个势在必行的研究课题[16]。深度学习是机器学习的一个分支,由线性和非线性多层处理神经元组成。深度学习模型通过从数据中学习和训练神经网络,而不是手动设计特征,自动和自主地提取特征。从深度学习中提取的特征非常有效,并且优于使用手工工程方法提取的特征训练的其他机器学习分类器。然而,常见深度学习算法的一些限制如下[17,18]:- 它需要非常大的计算能力(使用昂贵的GPU)。- 由于深度学习是基于多次实验来选择合适的隐藏层,因此很难配置并且容易陷入过拟合。- 由于深度学习隐藏层的复杂性,结果不可解释,因此, Cult理解结果并理解算法机制。- 由于没有理论指导,很难提高因此,研究人员经常遇到权衡:机器学习算法速度快,能够理解“学到的东西”,但不那么准确。尽管如此,深度学习方法很耗时,但在检测恶意软件检测等问题时更准确。同时,选择合适的输入功能也是改进的首要任务每个学习模型的预测率[19]。根据 到[20],在检测僵尸网络恶意软件时,基于图的特征是更好的基于流的特征,因为它避免了跨数据集交叉比较流的需要。此外,图用于有效地表示应用程序的行为,因为图,特别是标记图,可以用来建模数据之间的许多复杂关系[21]。在本文中,我们提出了一种新的基于PSI的子图特征,它以完全静态的方式(没有动态分析)表示生命周期中的物联网僵尸网络中的行为。这些特征是根据物联网僵尸网络信息的行为和PSI-graph的拓扑结构定义的[22],并且通过处理深度学习和机器学习模型的组合来生成和处理在我们之前的研究中,我们初步证实了PSI有根子图用于两类分类的有效性[23](也称为检测)。此外,他们还处于不利地位子图的数量可以随着训练PSI图的大小呈指数增长。因此,本文改进了以往的分类方法,是快速的,物联网僵尸网络家族检测(例如Mirai,Bashlite),并具有较低的误报率时,与良性文件。本文的主要贡献可以总结如下:首先,我们通过处理深度学习和机器学习模型的组合,提出了一种新的基于高级PSI的子图特征,用于检测物联网僵尸网络。其次,我们生成了有限数量的具有精确行为描述的特征,这需要更小的空间并减少处理时间。最后,我们对不同的数据集进行了广泛的实验。实验结果表明,基于PSI根子图特征的多机分类器检测率达到97%以上,具有较好的有效性和鲁棒性。本文的其余部分组织如下:第2节讨论了这一领域的相关工作。第3节描述了物联网僵尸网络恶意软件。接下来,在第4节中,我们详细描述了我们提出的方法。第5节给出了评估结果,讨论了评估结果和我们提出的方法的缺点。最后,在第6节中给出了结论2. 相关作品如前所述,在基于机器学习的恶意软件检测中找到用于表示恶意软件的良好功能至关重要,例如操作代码(Opcode)、可打印字符串信息(PSI)、系统调用、控制流130H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128图(CFGs),处理器信息等。我们分组的研究方法分为两组,即非结构化的基于图和结构化的基于图的功能。在本节中,我们将展示如何使用这些功能的概述,并将重点放在基于结构化图的(例如,PSI-rooted subgraph)在所提出的方法进行特征提取。2.1. 基于非结构化使用基于非结构图的特征的恶意软件检测意味着使用单个特征或特征的组合来检测恶意特征,诸如处理器信息、操作码。字符串、系统调用(存在于文件头中)等。对这些特性的使用已经进行了以下研究。Jinrong Bai等人[24]提出了一种通过从Linux可执行程序的符号表中挖掘系统调用的实验结果表明,根据所选的机器学习分类器,区分良性和恶意软件的准确率达到98%以上。然而,这项工作遇到了使用混淆和打包技术的恶意软件Saxe等人。[25]提出了一种可部署的深度前馈神经网络,具有基于两个隐藏层的恶意软件检测器,使用静态特征,包括字节熵直方图,ASCII可打印字符串的2D直方图,可执行文件的元数据和导入的DLL。将这四类特征逐一转换为256维的特征向量,并将其聚合为1024维的特征向量。他们的方法实现了95%的检测率,而假阳性率为0.1%,一个40万样本的数据集此外,应该注意的是,当使用所有静态特征而不是单个特征时,他们达到了最高的真阳性率。然而,局限性在于分配给训练集的标签可能是不准确的,并且当样本被混淆时,所提出的方法的准确性显著降低。Igor Popov [26]建议使用word2vec,一个最近开发的流行工具来分析自然语言文本,用于Windows恶意软件(PE文件)分类。Popov使用word 2 vec从恶意软件操作码中生成单词嵌入,然后将机器指令输入Cap-stone反汇编器并生成操作码。然后使用这些词向量使用基于卷积神经网络的分类器对可执行代码进行分类。该系统的测试成功率高达97.0%。Hayate Takase等人[27]提出了一种通过机器学习将恶意软件分类的方法,该方法使用CPU信息和内存消耗等硬件资源作为特征。这些特性包括获取的程序计数器、操作码和寄存器号,它们通过使用QEMU模拟CPU来跟踪。他们的实验表明,该方法可以通过训练一个恶意软件来检测与同一恶意软件家族相关的恶意软件,准确率为100%然而,这项工作评估了非常小的数据集的实验结果,每个分类器的大小被抑制到大约2MB,因此,硬件实现对于IoT僵尸网络检测来说并不稳健。上述研究通过非结构化的基于图的特征来表示可执行文件,其中对特征值的依赖性(例如,系统调用inettoa),这些特征无法描述其中复杂的语义信息(如物联网僵尸网络生命周期中的依赖关系数据)。此外,结果指出,非结构化的基于图的特征是弱的混淆恶意软件,如加密,垃圾插入。为了处理它,其他研究人员使用控制流分析(例如,控制流图)以将恶意软件的行为表示为图。2.2. 基于结构其他一些研究人员专注于基于图形的特征(例如,控制流图、调用图、代码图)来表示可执行文件的行为,因为图是对数据之间的许多复杂关系进行建模的强大方法。Eskandari等人。[28]提出了一种基于可视化模型(CFG)和调用API组合的健壮的基于语义的方法来检测恶意软件在他们的研究中,作者通过添加恶意软件的行为属性来丰富当前的控制流图。行为信息通过调用API来获得。这个简单的CFG将变成CFG上的API,称为API-CFG,其中节点和边分别表示必要的指令和API调用。他们的方法能够以高精度对看不见的良性和恶意软件进行分类。Zhao等人。[29]提出了一种基于CFG特征的基于图的检测方法。他使用特定的图遍历算法来获得先前定义的特征的值。特征是关于图的节点、边的信息。然后,他们使用一些流行的机器学习算法进行分类,包括J48决策树,Bagging和随机森林。他们的实验表明,随机森林分类器的准确率高达96.8%。Zhiwu Xu等人[30]提出了一种基于卷积神经网络的Android恶意软件检测方法,从图的语义表示出发,将控制流图(CFG)和数据流图(DFG)结合在一起形成一个图。从实验结果来看,该方法的准确率和F1分数分别达到99.82%和99.191%。然而,基于图的特征并不总是单个连通图,因此研究人员使用子图来更深入地挖掘恶意软件的恶意行为,这可能是图中的特殊部分。Karbalaie等人。[31]提出了一种基于图的方法,他们构建了恶意软件行为的图表示,并在使用分类方法获得结果之前进行频繁子图挖掘。所提出的方法得到了96.6%的准确率。Silvio Cesare和Yang Xiang [32]在他们的方法中使用了CFG中每个可能的固定大小的子图作为特征他们首先消除了图中的循环,并进行了遍历-sal所有路径以生成子图。然后用H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128131+++这些子图来构造特征向量。然而,这些方法不应用机器学习技术。Aya Hellal等人。[33]提出了一种基于行为的机制,通过图形挖掘技术来检测恶意软件。他们从代码图中提取了最大频繁子图(作为特征),代码图具有精确的行为规范在可执行文件中。他们使用由1520个样本组成的数据集进行实验,以评估所提出的方法。实验结果表明,该机制生成的特征数量有限,这些特征是有效的检测恶意软件使用机器学习,最好的准确率为91%的SVM分类器。然而,这项工作遭受昂贵的子图同构问题,这是NP-完全的。Ming Fan等人[34]提出了一种基于频繁子图特征的Android恶意软件分类新方法,这些特征是从基于API的图中提取的。首先,它将Android恶意软件提取为函数调用图表示。然后,TF-IDF类的方法来计算每个敏感的API在不同的家庭的权重。接下来,图被简化为敏感API图(敏感API通常被调用以执行恶意软件中的恶意活动)。最后,他们将敏感的API图划分为一组- 子图,其中,将一个家族中的大多数恶意软件文件所使用的具有敏感API的子图确定为特定家族的频繁子图。实验结果表明,基于30个恶意软件家族的6650个恶意软件样本,该方法可以正确地将94.5%的恶意软件分类到它们的家族中。然而,本文在对抗高级混淆恶意软件方面存在局限性。上述大部分研究都是在PC平台和移动平台上进行的,并没有特别关注物联网设备。在我们之前的研究中,我们初步确认了子图检测物联网可执行文件是否是恶意软件的有效性[23]。然而,在本文中,我们将改进以前的分类方法,这是快速的,并具有较低的假阳性率时,与bening文件。3. IoT僵尸网络恶意软件僵尸网络Mirai发出的DDoS攻击的突出例子表明,攻击者利用物联网设备的目标是感染物联网僵尸网络。物联网僵尸网络是受感染的物联网设备(称为机器人)的集合,这些 设备 由僵 尸主 机( 有时 称为“both-erder”或“控制器”[ 35 ])远程控制与其他恶意软件的主要区别在于,僵尸网络包括与僵尸主机进行通信的通道,以执行各种网络攻击,如DDoS,泄露用户的机密数据和网络钓鱼。根据最近的观察和初步分析[36,8,7,37],物联网僵尸网络在功能上类似于个人电脑(PC)平台上的现有僵尸网络,除了一些在PC上很少观察到的特定功能[38]。由于物联网设备的计算能力有限,尝试杀死竞争家族的其他恶意软件,为自己获取更多的系统资源。例如,Mirai 还 将 杀 死 其 他 竞 争 对 手 的 恶 意 软 件 , 如 Qbot ,Zollard,Remaiten [7]。图1.一、 IoT僵尸网络生命周期尝试感染广泛的设备,如IP摄像机,路由器等。尝试与不同的处理器架构兼容,确保最大可能的成功感染。此外,物联网僵尸网络通常必须经历一个周期的阶段来感染物联网设备,使它们像机器人主人一样有用。根据研究材料的不同,相的数量和名称可能会有所不同,但一般描述可以如图所示。1.一、物联网僵尸网络的行为发生在物联网僵尸网络的生命周期中,它包括四个主要阶段:扫描,攻击,感染和违规。在扫描阶段,物联网僵尸网络通过向随机物联网地址(除了一些大型组织的IP地址,如惠普,美国邮政服务等)发送SYN数据包来开始扫描网络。等待他们的回应。一旦它发现服务端口打开的受损设备(如23、2323、23231),它尝试打开到该设备的套接字连接。然后,在攻击阶段,它尝试使用默认凭据列表,如果成功,它会将此信息(包括IP地址,登录凭据)发送到攻击者一旦成功登录,在感染阶段,物联网僵尸网络下载与设备的体系结构兼容的可执行文件。在执行此文件后,IoT僵尸网络删除此文件并仅在设备的临时存储器中运行(例如,随机存取存储器)。从这里开始,攻击者可以完全命令和控制处于违规阶段的受损物联网设备,以攻击网络,如DDoS。4. 拟议机制我们提出了一种物联网僵尸网络检测机制,用于结合深度学习和机器学习,使用PSI根子图作为特征。在本节中,我们将详细描述作为特征使用的PSI根子图,并对我们提出的机制进行总结。4.1. 概述在本节中,我们将讨论我们模型的主要组件,以及它如何处理我们的数据并实现物联网检测132H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128()≤ ≤ 100()==−−图二、提 出 的方法概述。僵尸网络样本。我们提出的方法包括四个主要步骤,如图2所示。首先,我们从ELF文件中提取PSI图。其次,应用了一种遍历算法生成PSI根的子图。在分类任务之前,我们对PSI根子图的原始数据进行了预处理,以便可以通过机器学习算法有效地学习数据。这一步包括三个阶段:特征提取用于矢量化我们的数据,归一化和特征选择用于提高学习算法的性能。最后,通过将几个分类器应用于预检测数据集,我们可以选择最好的分类器来检测物联网僵尸网络样本。4.2. PSI图生成阶段我们继承了用PSI图表示物联网可执行文件的方式[22]。定义1([22])。PSI图是一个有向图,定义为:GPSI(V, E)其中:N是一个集合,其顶点称为PSI元素。E是一组边,其中所有的边都是从一个节点指向另一个节点的。然而,[22]中的作者专注于PSI图的结构,而不是挖掘物联网僵尸网络恶意软件生命周期中的恶意行为。因此,通过这个图,我们希望找到生命周期中的恶意行为,物联网僵尸网络恶意软件出现在可执行文件中,每个恶意行为对应于PSI图中的有根子图。4.3. PSI有根子图生成阶段如前所述,我们的方法基于PSI图,它向我们展示了ELF文件实际上是如何执行的。但并非恶意软件文件的所有活动都被认为是有害的,它肯定有非常正常的活动,就像任何其他良性程序一样。因此,分析PSI图中的路径和圆被认为是一项重要的工作。可显示变幻我们的链条或循环的事件,这是真正有害的。我们通过带根子图-PSI图的一部分来进行这些分析。我们将其定义如下:定义2. 设GsgV′,E′,v,d表示由PSI-图GPSI生成的无圈有向PSI-根子图(V, E,λ)以顶点v为根;其中V′V是一组子图顶点,其中(θ,Vi′)之间的长度满足0v,Vi′d,E′E是V′中顶点之间的有向边的集合。d称为PSI-有根子图的度。其 中 , GETWLSUBGRAPH ( 称 为 算 法 2 ) 继 承 自Annamalai Narayanan [39]提出的算法。算法2取根顶点v,Gi,从其中必须提取有根子图,并且预期子图的度d作为输入,并且返回有根子图SGi。该算法利用顶点的所有(宽度优先)邻居来抽取子图。因此,提取PSI有根子图的过程是基于宽度优先搜索(BFS)算法,这是比深度优先搜索(DFS)更有效。主要原因是BFS从根节点开始,在移动到下一个深度级别的节点之前探索当前深度的所有邻居节点,而DFS在被迫回溯之前首先探索最高深度的节点。在有根子图的深度(度)固定的情况下H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128133--X102图3.第三章。P S I 图的一个例子。BFS显然更适合于提取有根子图。在将算法1应用于我们的PSI图数据集之后,我们得到了PSI有根子图数据集。对于每个PSI图文件,我们得到一个PSI根子图文件,其中每个句子是原始PSI图中一个顶点的PSI根子图。考虑到分类精度和计算复杂度之间的权衡,我们将d(参见定义2)设置为3。为了便于说明,我们遍历图3中的PSI图,以找到以顶点11为根的PSI有根子图的样本,其中d等于2(如表1和图3所示)。 4)。最后,以顶点11为根的PSI根子图是列表11,0,8,10,7,9,18,0,0,7,0,5,6,15,16接着,我们遍历以根为其他顶点的完整PSI图,从而得到PSI有根子图的列表。然后,我们确定了PSI-有根子图的集合,表1一个逐步生成PSI有根子图的例子。度顶点d= 0 11d= 10、8、10、7、9d=2 18,0,0,7,0,5,6,15,16图四、 一个以顶点11为根的PSI-Rooted子图的图示。比Annamalai Narayanan的算法[ 39 ](使用skipgram)更快(将学习时间从12我们得到的矩阵具有不同范围的特征,因此需要对其进行归一化,归一化是将单个样本缩放到具有单位范数的过程。将输入缩放到单位范数是文本分类的常见操作或集群。当我们将PSI根子图视为文档中的一个词时,归一化对于避免数据被馈送到我们的分类器时的不良结果至关重要。该工艺配方如下:一个包含恶意软件的IoT僵尸网络周期过程的生命周期中的行为,通过分类任务。x归一化=x(一)4.4. 数据预处理阶段在分类之前,我们需要将复杂的PSI根子图数据转换为向量。我们需要的是整个PSI-图通过这些PSI-有根子图的向量表示。为此,我们考虑了几种方法,如Word2vec,Doc2vec,Graph2vec和Subgraph2vec。这些方法都涉及一个名为skipgram的语言模型来学习嵌入。然而,skipgram需要很多时间,并且需要强大的硬件来学习。因此,我们决定用一个简单的方法来解决这个问题。这个过程被称为矢量化,在这个过程中,我们将一组图转换为数值特征向量。我们把每个图看作一个文档,它的有根子图看作这个文档的一个词;因此,我们可以对每个文档中出现的词进行计数。在该方案中,每个单独的有根子图的出现频率被视为一个特征。给定PSI图的所有有根子图频率的向量被认为是多变量样本。因此,我们的数据可以用一个矩阵来表示,每个图一行,每个有根子图一列。实验结果证明我们的决定是正确的。这种做法不仅是多其中x是PSI根子图数据集的样本。然而,在整个图数据集中,不同根的子图的数量非常大(在我们的数据集中提取了530155个不同的PSI根的子图),但不是每个子图对于分类任务是必不可少的。例如,有许多正常的子图,恶意软件和benigns执行。因此,我们将数据集转换为一个精简的特征集,这称为特征选择。我们降低数据的维度,不仅是为了减少分类所需的内存和计算能力,也是为了使我们的训练过程更快。我们使用一个元转换器,它通过分类器训练数据集,并通过评估特征重要性来选择最相关的特征。在这一步之后,我们准备好了分类任务的数据集。在对数据进行预处理后,我们得到一个具有约简特征的数量我们的数据集已经准备好被输入分类器。为了获得最有效的物联网安全分类器[40],特别是物联网僵尸网络检测,已经应用了五种常见的机器学习分类器来比较它们的效率,包括决策树(DT),随机森林(RF),k最近邻(kNN),支持向量机(SVM)和Bagging用于物联网僵尸网络检测。本研究中使用的分类器算法总结见表2。134H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128表2机器分类器说明。机器分类器描述SVM支持向量机(SVM)是一种机器学习算法,通常用于分类问题。主要这个想法依赖于找到这样一个超平面,它将以最好的方式分离这些类。SVM很适合处理高维数据集。RF随机森林是最流行的集成机器学习算法之一。他们的想法是基于数据集的独立子集的决策树,以产生更好的预测精度。但最根本的区别是,在随机森林中,只有一个子集的功能是随机选择的。DT决策树(DT)通过创建用于对测试数据进行预测的树来训练数据。决策树由于其简单性而越来越受欢迎。它可以很好地处理大型数据集。另一个优点是决策树以“white新数据点的标签由其邻居的多数投票进行分类,基于其k个数据点中最常见的类别。最近的邻居kNN算法计算训练数据和新数据之间的距离来分类。的最常见的距离度量是欧几里得距离。Bagging Bootstrap Aggregation(简称Bagging)的基本估计量是决策树。但最根本的区别是,所有的功能都被认为是分裂一个节点。5. 实验结果在本节中,我们执行一系列实验来评估我们的方法。首先,我们进行了一组交叉验证实验,以查看PSI根子图在基于ARM和MIPS的物联网僵尸网络检测中的有效性。其次,为了测试我们的方法在检测多架构物联网僵尸网络的能力和鲁棒性,我们运行我们的方法在一个由10,010个ELF样本组成的数据集上,包括6165个物联网僵尸网络样本和3845个良性样本,五个机器分类器包括SVM,RF,Bagging,DT,kNN。最后,我们还进行了一些实验,比较我们的方法与一些现有的物联网僵尸网络检测方法。5.1. 数据集描述我们主要从两个数据集收集样本,即IoTPOT [10]和VirusShare [41]。IoTPOT数据集包含4000个物联网僵尸网络样本,VirusShare数据集包含3779个物联网僵尸网络样本。我们还从在线存储库和IoT SOHO网站收集了4001个良性此外,反汇编程序(例如,IDA pro)无法反汇编或为非二进制或已从数据集中删除。为了确保我们的良性数据集中没有恶意软件样本,我们使用VirusTotal [42]检查了良性数据集,这是一个包含超过58个反恶意软件扫描程序的系统。只有当一个样本通过了VirusTotal中的所有反恶意软件引擎然后,我们将物联网恶意软件和良性可执行样本,并将其用作我们的实验数据集。因此,该数据集包含6165个恶意软件和3845个良性ELF可执行文件。之后 , 将 数 据 集 分 为 四 个 不 同 的 家 族 , 包 括 Mirai ,Bashlite,Other botnet和Benign。但是,我们对反恶意软件扫描程序提供的结果有一个问题,即不同的反恶意软件扫描程序在标签恶意软件(如Bashlite/Lizkebab/Gafgyt)方面存在微小差异。为了解决这个问题,我们用超过一半的反恶意软件扫描器返回的结果来标记恶意软件。表3显示了数据集的详细信息,表4显示了每个类的统计信息PSI根子图。表3实验数据集的描述姓氏样品编号臂MIPSMirai1,765331301硅铝石3,720762646其他僵尸网络680152103良性3,845561533总10,01018061583表4可执行集合的PSI根子图分析Bashlite Mirai其他僵尸网络良性最大25497253925311121最小5595总25708962779737863401904370图五. 描述三维LSA后不同系列之间数据点分布的散点图。此外,为了在三维空间中可视化我们的数据,我们通过对整个数据应用三维截断奇异值分解(截断SVD)来执行降维。这种方法也被称为潜在语义分析(LSA)。虽然降维会丢失一些信息,低维空间的可视化结果不能完全揭示高维空间的情况,但在一定程度上降维仍然是必要的图5显示物联网恶意软件和良性数据的分布相当接近,存在一些重叠区域,这使得任何现有的机器学习都很困难H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128135+++++=+=+=+−==分类器进行精确检测。因此,我们需要一个足够强大的特征和模型来将实例分类为两个类别之一:恶意软件或良性,甚至是几种类型的恶意软件和良性。我们所有的实现都是在具有以下规格的台式计算机上进行的:Ubuntu操作系统16.04 64位,32 GB RAM,GPU NVIDIA GeForce GTX1080i,Python语言。5.2. 交叉验证交叉验证技术(例如,重复随机子采样)通常用于避免过拟合问题并信任机器学习准确性结果。它验证了算法分类器的应用超参数调整不会导致过拟合,如果变化精度保持在可接受的值范围内。在这项工作中,我们在所有实验中使用了5倍交叉验证,因为数据集的大小是有限的。在旋转估计中,将数据分成五个相等的部分,其中四个部分用于训练模型,剩下的一个部分用于测试。5.3. 评价标准为了评估我们提出的方法的性能,我们定义了以下术语:真阴性(TN)是正确分类为良性的预测良性样本的数量。假阴性(FN)是被错误地标记为良性的预测恶意软件的数量。真阳性(TP)是正确分类为恶意的预测恶意软件样本的数量。假阳性(FP)是被错误地标记为恶意的预测良性样本的数量。这些术语用于定义DT、RF、kNN、Bagging和SVM之间的四个性能比较标准。我们使用的指标如下:真阳性率(TPR):被正确分类为恶意软件的预测恶意软件样本数除以恶意软件总数。RT PT P+ F N误报率(FPR):被错误标记为恶意的预测良性样本数除以良性文件总数。F P RF PF P+ T N准确性:指的是正确的样本数量与恶意软件和良性文件数量精度T P+T NT P+ F P+ T N+ F NF-measure(F-score):将查准率和查全率合并为一个数字,以评估整个系统的性能F评分2×召回率×精度查全率+查准率表5建议的特征模型的分类器结果分类器TPR(%)FPR准确度(%)AUC(%)F1评分(%)DT970.04396.396.497RF980.0397.297.198SVM980.0419796.898套袋980.0497.397.198KNN970.04496.896.798表6基于ARM数据集的恶意软件检测评估结果分类器TPR(%)FPR准确度(%)AUC(%)F1评分(%)DT990.01998.398.398RF990.0198.898.899SVM1000.0199.399.399套袋990.0198.898.899KNN980.01997.897.898表7基于MIPS数据集的恶意软件检测评估结果分类器TPR(%)FPR准确度(%)AUC(%)F1评分(%)DT980.0079998.798RF990.00599.399.198SVM1000.00799.499.699套袋960.01198.397.696KNN990.00499.499.299其中,召回率是TPR,精确度是预测的恶意软件正确为恶意软件的比率,定义如下:精密度T PT P+ F P第五个标准是ROC曲线下面积(称为AUC)。受试者工作特征(ROC)曲线是通过绘制假阳性率与真阳性率的关系图来获得的,因为阈值在数据值范围内变化。左上角的数据点与最佳的高效率相关。曲线越接近ROC区域的顶部和左侧边界,检测率越准确。AUC值越高,意味着FPR越低,检出率越高。值得注意的是,我们的每个度量值与1.00之间的距离越近,所采用的方法的性能越好。5.4. 结果和讨论使用五个选定的分类器进行实验的5倍验证测试获得的结果见表5分类器性能通过五个评估指标来衡量,即TPR,FPR,准确性,F分数和AUC。可以看出,所提出的方法对于使用包括许多不同架构文件的数据集的每个分类器具有高检测率,如表5所示。与所有其他分类器相比,随机森林表现出更好的结果此外,分类器的曲线下面积136H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128≥| || || | | |+||+见图6。 Bagging、RF、DT、kNN和SVM检验结果的ROC曲线在dataset上。见图7。 Bagging、RF、DT、kNN和SVM检验结果的ROC曲线基于ARM的数据集见图8。 Bagging、RF、DT、kNN和SVM检验结果的ROC曲线基于MIPS的数据集。在上述实验中使用的所有分类器都提供了大于96%的最佳AUC值,这意味着极好的预测,其中随机森林分类器是最好的,具有97%,如图1A和1B所示。六七八AUC值验证了恶意软件实验提供了有关物联网僵尸网络检测的强制性结果。我们分别在表6和表7中给出了每个基于ARM的样本和基于MIPS的样本的预测性能指标。由于每个数据库只包含基于ARM或MIPS架构的良性和恶意文件,因此SVM的分类结果略高于其他分类器。SVM在两个实验数据集上均达到了100%的真阳性率。如前所述,精度是从所有数据中正确识别的实例的百分比。换句话说,精度是分类器在预测积极实例方面的强大程度。同时,F-分数是从Pre-cision计算的。因此,随机森林和SVM分类器的F值大于98%,这意味着它可以很好地预测阳性实例。所提出的方法的另一个优点是它的时间复杂度。改进的算法(算法1)具有相当低的时间开销。我们证明了我们提出的方法可以实现比使用整个子图2vec模型更有效的时间复杂度[39]。正如我们所知,subgraph2vec模型由两个主要组件组成:在每个节点周围生成有根子图的过程以及学习这些子图的嵌入的过程。考虑到有根子图提取函数,我们有图的最大度k(最大数目图中一个顶点的邻点的个数),抽取的有根子图D.该函数是一个递归函数,它取根节点并得到所有度为D-1的子图它的邻居来构造有根子图;因此, 在最坏的情况下,这个函数的时间复杂度显然是O(kD)。另外,我们需要得到所有顶点的有根子图,所以时间复杂度为O(VkD)。它是一个耗时的函数,因为顶点的数量和k可能很大。此外,虽然我们可以选择小的D(3),但存储整个有根子图所需的空间可能是一个问题。然而,通过负采样的径向跳跃图来学习它们的嵌入的过程要耗时得多。这主要是因为它是一个基于深度学习的模型。因此,在我们的方法中拒绝skipgram更有用,同时我们仍然保证高结果,我们的PSI-有根子图生成的所有时间复杂度是O(G VD. k D)。 跳图的时间复杂度比较大。给定负样本大小n,嵌入维数h,正对集合(目标词,上下文)S,总的时间复杂度是O((n1)S h),其中n1表示n个负样本和1个正样本。我们可以看到,S是一个大集合,有着大量的词汇。在我们的情况下,有根子图的词汇量很大(大约500000),因此S可以很容易地达到百万级甚至更高。该过程必须经过多个时期来更新权重。每个epoch的时间复杂度如上所述。实验表明,skipgram模型可以H.- T. 阮,Q.-D. Ngo,D.H. Nguyen等人/ICT Express 6(2020)128137表8处理时间的比较。处理时间(秒)特征选择的处理时间6. 结论和今后的工作本文提出了一种基于有根子图的物联网僵尸网络检测它从PSI中提取了新的特征ELF文件的图形。 这些特征在过程机器学习来实现一些分类器,用作恶意软件检测器。综上所述,本文的主要贡献如下:(1)提出了一种新的基于PSI的高层次子图特征,用于物联网僵尸网络的检测;(2)生
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功