提出了一种混合型Android恶意软件检测框架,该框架利用学习到的特征表示和传统分类器,以提高检测准确率,减少人工特征工程,并有效应对不断演变的恶意软件威胁。
研究文章
提出了一种混合型Android恶意软件检测框架,该框架利用学习到的特征表示和传统分类器,以提高检测准确率,减少人工特征工程,并有效应对不断演变的恶意软件威胁。
恶意软件安全情报涉及分析应用程序及其元数据以识别潜在的安全威胁。应用程序编程接口(API)调用是检测恶意软件的宝贵信息来源。在恶意软件分析中减少特征空间可提高威胁识别的效率。本研究旨在识别最重要的API调用特征,以提升安卓恶意软件检测的准确性。采用三种基于群体智能的优化技术——萤火虫优化、布谷鸟搜索优化和蚁群优化,并结合自编码器来提取最重要的特征。为了评估这些受自然界启发的包装式方法,使用了多种流行的机器学习分类器,包括K近邻(KNN)、随机森林(RF)、支持向量机(SVM)、决策树(DT)和线性回归(LR)。此外,一种混合人工神经分类器被证明可提升恶意软件分类的性能。实验结果表明,所提出方法的有效性:仅使用100个API调用特征中的7个,即可达到98.87%的准确率。
目前最受欢迎的移动操作系统是基于 Linux 的 Android,其全球市场份额为 72.55%1。与其他受严格法律和版权保护的操作系统不同,Android 是一个开源平台,欢迎全球开发者参与贡献。但由于其用户基数庞大,Android 常成为病毒攻击的目标。恶意软件(malware)是指旨在破坏计算机系统运行或窃取私人信息的恶意程序。在 Android 生态系统中,恶意软件最常见的入侵方式是通过应用程序下载。虽然从可信来源获取的应用程序通常较为安全,但从未经验证或恶意平台下载的应用程序可能包含有害软件。网络犯罪分子经常利用设备的安全漏洞,部署恶意软件以破坏其完整性2。
随着用户数量持续增长,网络攻击者可获取的有价值数据量也在增加。攻击者可能通过在官方移动应用市场上分发恶意应用程序来利用这一点。一旦毫无戒备的用户安装了该应用,便会无意中向攻击者开放对其设备的访问权限。鉴于此类威胁日益普遍,必须采用先进的恶意软件检测技术,以应对数量庞大的恶意应用程序3,4,5。目前已有多种技术被开发用于预测 Android 恶意软件6,7。然而,这些方法主要依赖基于签名的检测,即识别嵌入在应用程序代码中的数字痕迹。这些签名从软件的 Android 安装包(APK)中提取,并与已知恶意行为模式的数据库进行比对。尽管该方法在检测已被报告过的恶意软件方面效果显著,但无法识别尚未录入数据库的新型威胁8。
随着恶意软件不断发展,恶意软件的出现频率日益增加,因此开发一种能够准确检测各类恶意软件9,同时优化时间和计算资源的解决方案至关重要。为提升安卓智能手机上的恶意软件检测能力,已有大量研究工作开展。传统的基于签名的检测技术通过将APK文件的签名与数据库中已识别并存储的恶意签名进行比对来实现检测。但该方法对尚未发现的恶意软件无效,这凸显了对更复杂检测系统的需求10,11,12。
本文旨在验证以下假设:通过识别可疑的API调用,提高对良性与恶意Android应用程序分类的准确性;开发并实现一种将自编码器与人工神经网络相结合的混合分类模型;构建用于群体智能优化的目标函数,通过引入惩罚机制来增强学习过程,从而促进近似最优解的发现;评估多种性能指标,并选择最优方法用于Android恶意软件预测。
相关工作
由于 Android 平台的广泛使用,恶意软件的多样性和数量显著增加,这促使研究人员开发出高效的检测与防御技术13,14,15。Deckard 和 Rasoolzadegan16 通过统计学研究,解决了 Android 恶意软件检测中数据集不平衡的问题。他们在数据预处理和平衡阶段采用了合成少数类过采样技术(Synthetic Minority Oversampling Technique, SMOTE)、欠采样以及排序方法。该检测模型结合 KNN、SVM 和迭代二分器 3(Iterative Dichotomiser 3, ID3)分类器进行实验,当 SMOTE 方法与 KNN 分类器结合时,检测准确率达到 98.69%16。
Priya 和 Visalakshi17 在另一项研究中探讨了使用词频-逆文档频率(TF-IDF)进行 Android 恶意软件识别的方法。他们构建了一个权限评分器,用于对权限进行评分和分级,并随后使用人工神经网络进行分类。该方法的准确率达到 94.22%,优于现有系统。此外,Yildiz 等人18 基于线性回归提出了一种特征选择方法,以提升 Android 恶意软件分类性能。该方法减少了训练时间,并使准确率提高了 96.1%。本研究整体突显了在 Android 恶意软件检测中解决特征选择和数据集不平衡等问题对于提高准确性和效率的重要性。
Al Sarahh 等人提出的一个模型中采用了递归特征选择(Recursive Feature Selection, RFS)和集成分类器,以提升安卓恶意软件的检测能力19。该方法使用 LightGBM 算法对 RFS 识别出的最相关特征进行分类。实验结果表明,该模型效果显著,分类准确率达到 99.5%。在安卓恶意软件分类方面,Ding 等人20也提出了一种基于卷积神经网络(Convolutional Neural Network, CNN)的深度学习架构。在其方法中,从安卓 APK 文件中提取字节码文件,并将其转换为二维字节码矩阵。这些矩阵用于训练 CNN 模型,在实验中达到了 95.1% 的准确率。该研究凸显了深度学习模型与特征选择技术结合集成分类器,可有效提高安卓恶意软件检测系统的准确性。
通过使用深度学习技术,Elayan 和 Mustafa21 克服了传统恶意软件检测方法在更新后的 Android 系统中的局限性。他们采用门控循环单元(Gated Recurrent Unit, GRU)来区分恶意应用与良性应用,准确率达到 98.2%,优于传统技术。此外,Arif 等人22 提出了一种基于风险的模糊检测技术,并将层次分析法(Analytical Hierarchy Process, AHP)整合其中。该系统不仅能识别恶意软件,还能评估风险等级,并将其划分为四类:极低、低、中等和高。通过这一全面的方法,系统整体准确率达到 90.54%。这些研究证明了先进的机器学习方法(如模糊 AHP 框架和基于 GRU 的深度学习模型)在提升 Android 恶意软件检测系统的精确性与鲁棒性方面的有效性。
为了克服基于特征签名方法的局限性,Mercaldo 和 Santone23 采用音频信号处理技术,将应用程序可执行文件转换为音频文件,从而提取其中的数值信息。该方法结合神经网络分类器,实现了 95.2% 的检测准确率。为应对繁琐的特征工程难题,Zhang 等人24 提出了 TC-Droid,这是一种利用文本分类技术的自动化框架。该方法通过卷积神经网络分析应用程序分析报告中的文本序列,准确率达到 96.6%。
Imtiaz 等人25提出了 DeepAMD,这是一种基于人工神经网络的技术,旨在实现对 Android 恶意软件的有效分类和早期检测,准确率达到 93.4%。Firdaus 等人26创建了一种基于遗传搜索的特征选择技术,用于 Android 恶意软件检测中的静态分析。在测试中,功能树以 95% 的准确率优于其他机器学习分类器。Peynirci 等人27提出了一种名为 Delta_IDF 的特征选择方法,该方法基于 APK 文件中字符串的出现情况计算逆文档频率值。与其他算法相比,其实验结果表现出良好的性能。
Shi 等人28提出了一种混合的 CNN-DNN 框架,通过结合卷积层和全连接层在特征提取与分类方面的优势,实现了较高的检测准确率。类似地,Shu 等人29对基于 CNN 的安卓恶意软件检测方法进行了全面综述,强调了这些方法在捕捉 API 和操作码序列中空间依赖性方面的优势。在物联网(IoT)背景下,Naeem 等人30开发了一种堆叠式深度卷积网络集成模型用于恶意软件分类,提升了在异构 IoT 威胁环境中的鲁棒性。最近,Shu 和 Dong31提出了 LG-PN 方法,即在原型网络中引入局部-全局融合策略,以增强对先前未见过的安卓恶意软件的检测能力。尽管这些方法取得了显著成效,但它们主要依赖于深度卷积架构,并需要大量的计算资源。相比之下,本研究将群体智能与基于自编码器的特征选择相结合,以降低数据维度并提高效率,从而为基于深度 CNN 的解决方案提供了一种互补且轻量级的替代方案。
已有若干先前研究特别关注基于API调用的Android恶意软件检测,因为API序列是恶意行为的强有力行为指标。例如,Karbab等人32提出在API方法调用序列上应用深度学习以识别恶意应用程序,证明了API使用中的时序模式能够有效区分恶意软件与良性应用。类似地,Muzaffar等人33评估了多种机器学习模型在API调用特征上的表现,并强调了特征选择与表示在提升检测性能方面的重要性。尽管这些研究突显了API级别特征的实用性,但大多数方法依赖于深度序列模型或人工设计的特征工程,这可能计算成本较高或泛化能力较差。相比之下,本研究利用群体智能算法结合自编码器自动降低API特征的维度,并采用混合人工神经分类器以提升检测性能。这使得我们的方法成为一种轻量且高效的替代方案,可直接应对高维API调用数据带来的挑战。
本研究提出的方法通过整合人工神经网络(ANNs),旨在提升安卓恶意软件的检测与分类能力。首先,采用基于包装器的特征选择技术,利用自动编码器识别出区分恶意应用与良性应用的最重要特征。随后,评估一种结合了人工神经网络与归纳分类器的新型人工神经分类器,以提高安卓恶意软件分类的有效性。
访问受限。请登录或开始试用以查看此内容。
在建议的安卓恶意软件检测架构中,采用基于自动编码器的包装式特征选择方法,如图1所示。数据集被划分为70:30的训练集和测试集。恶意软件分析过程主要包括分类和特征选择两个步骤。
特征选择(FS):该步骤使用基于群体智能的算法(尤其是布谷鸟搜索优化(CSO)、蚁狮优化(ALO)和萤火虫优化(FO))迭代地搜索最优特征子集(见定义1)。随后,自编码器对所选特征进行处理,以生成输入数据的压缩表示。接着,归纳方法利用自编码器的输出来评估这些特征在区分恶意应用与良性应用方面的有效性。为了实现对后续样本的精确分类,归纳算法通过将特征空间映射到一组类别标签来构建分类器。
分类:在本阶段,使用建议的人工神经分类器和广为人知的归纳方法,对特征选择阶段得到的简化特征集进行评估,以检验其检测 Android 恶意软件的有效性。
通过采用复杂的分类方法并聚焦最具信息量的特征,该方法旨在提高安卓恶意软件检测的准确性和效率。
特征选择
机器学习中的一个关键步骤是特征选择,即确定哪些特征对于模型构建最具可靠性、相关性和非冗余性。随着数据集的规模和复杂性持续增加,系统性地减少特征集合变得愈发重要。特征选择的主要目标是在降低计算成本的同时最大化模型性能。通过去除重复和不必要的特征,该过程能够集中关注对模型最为重要的变量。在模型训练之前进行特征选择,相比依赖机器学习算法自行识别重要特征,具有以下优势:
简化模型:减少输入变量的数量可得到更简洁的模型,从而更易于解释和理解。
方差降低:通过关注关键特征,特征选择有助于降低模型方差,从而减轻过拟合现象,并提升模型对新数据的泛化能力。
减少训练时间:较小的特征集降低了计算负担,从而加快了模型的训练和评估速度。
缓解维度灾难:高维数据可能带来复杂性增加和过拟合等挑战;特征选择通过将特征空间限制在最具信息量的变量上,从而解决这些问题。
特征选择的定义1
假设有一个诱导器 I 和一个数据集 D,该数据集 D 在带有标签的实例空间上具有分布 D,并包含特征 (x1,x2,x3,... ,xn)。使分类器 C=I(D) 准确率最优的特征子集称为最优特征子集 Xopt。
在无监督特征选择中,基于包装器的方法旨在识别能够提升模型性能的最优特征组合。通过系统地添加或移除特征,通常采用贪心算法,这些方法评估多种模型以选出对模型构建最具影响的特征。此过程如图2所示。
在特征选择中,采用萤火虫优化(FO)、布谷鸟搜索优化(CSO)和蚁狮优化(ALO)等群体智能算法,以优于传统的贪婪策略。在适应度评估阶段所选择的目标函数对这些算法的有效性具有显著影响。基于迭代的包装式特征选择过程在每次迭代结束时综合考虑所选特征的数量以及模型的误差,以评估所选特征的适宜性。公式(1)对这一评估过程进行了形式化定义。
(1)
在该方程中,τ 表示学习算法在适应度评估过程中对所犯错误的惩罚,其中 τ ∈ [0,1]。所选特征子集的长度由变量 l 表示,特征总数由变量 u 表示。
自动编码器
专门学习输入数据压缩表示的神经网络被称为自编码器。它们主要由编码器和解码器两部分组成。编码器对输入数据进行处理,并将其压缩为潜在空间表示,而解码器则试图从该压缩形式中恢复原始输入。一旦编码器训练完成,便能够从原始数据中提取有价值的特征,从而简化机器学习模型的训练过程。
所提出的自编码器架构(如图3所示)包含一个编码器,该编码器由一个具有N个节点的输入层组成,随后是两个隐藏层,分别包含N×2和N个节点。接着是一个具有N/2个节点的隐藏层,称为潜在空间。解码器部分则复制了这一结构,包含两个节点数分别为[N, N×2]的隐藏层,最终以一个具有N个节点的输出层结束。
每个隐藏层后均接有批归一化,以加快并稳定训练过程,且所有层均采用LeakyReLU激活函数,以应对可能出现的梯度消失问题。公式(2)给出了LeakyReLU激活函数的数学定义:
(2)
其中 hθ(x) 通过公式 (3) 获得
(3)
其中,xi=(x1,x2,...,xn) 表示输入到节点的值,而 wi=(w1,w2,...,wn) 表示与这些节点相关联的权重。在学习过程中,权重首先在 [0,1] 范围内随机分配,随后逐步调整。为了防止参数经过原点,在每一层都添加了一个偏置项。公式 (4) 定义了阈值,若由公式 (3) 得到的输出超过该阈值,则触发相应节点。
(4)
基于蚁狮包裹器的特征选择优化(ALWFSO)
蚁狮优化算法(Ant Lion Optimizer, ALO)由 Seyed Ali Mirjalili 提出34,其灵感来源于蚁狮的自然捕食行为。该优化算法能够高效地找到最优解,且不受初始参数值的影响。ALO 具有快速收敛的特性,并能有效处理整数和离散约束。在 ALO 中,捕食过程包括猎物捕捉、陷阱构建、蚂蚁陷入、蚂蚁随机移动以及陷阱修复等步骤。
在蚁狮优化算法(Ant Lion Optimizer, ALO)中,蚂蚁代表在解空间中进行随机搜索的候选解,而蚁狮则对应根据适应度值影响蚂蚁移动行为的陷阱或引导者。这种双种群结构模拟了蚁狮在自然界中捕食蚂蚁的捕食行为。初始阶段,蚂蚁和蚁狮的种群均被随机初始化。针对每只蚂蚁,采用轮盘赌选择机制选取对应的蚁狮,随后执行随机游走过程(如算法1所示)。公式(5)进一步描述了该游走过程的归一化方法。
(5)
首先,随机生成蚂蚁和蚁狮种群。对每只蚂蚁,采用轮盘赌机制选择一只蚁狮,从而进行通过预定公式归一化的随机游走。该过程确保蚂蚁的移动受到蚁狮位置的影响,有效模拟自然界中的捕食过程。随后,根据此相互作用更新每只蚂蚁的位置,引导搜索趋向最优解。
由于其架构特性,ALO算法能够有效遍历复杂的搜索空间,使其成为解决多种优化问题的有力工具。每次迭代结束时,都会评估每只蚂蚁的适应度。如算法1所示,若蚂蚁的适应度优于其对应的蚁狮,则用该蚂蚁替换对应的蚁狮。在这种情况下
,表示 i 的位置th t 次迭代时的蚁群;I 为比值;
表示 j 的位置th t 代蚁狮
是在第 t 次迭代中通过轮盘赌选择的随机游走的精英个体;
是蚁狮在第 t 次迭代中的随机游走,该过程同样由轮盘赌机制决定。每个循环结束后,由集成封装分类器确认的全局最优解将被返回。
算法 1:ALWFSO
定义目标函数:f(x):x=(x1,x2,...,xd)
随机初始化蚂蚁与蚁狮种群
计算蚂蚁与蚁狮的适应度
选择最优的蚁狮,并将其视为精英个体。
重复执行以下步骤,直至满足终止条件或 f(x):x=(x1,x2,...,xd)
对每一对蚂蚁-蚁狮的选择:采用轮盘赌选择机制,以概率方式选择将影响蚂蚁移动的蚁狮
X(t) = [0,cum_sum(2r(t1) - 1),cum_sum(2r(t2) - 1),...,cum_sum(2r(tn)-1)]


蚂蚁循环结束
适应度评估:根据蚂蚁的新位置重新计算所有蚂蚁的适应度值。
若蚂蚁的适应度优于蚁狮,则用蚂蚁替换对应的蚁狮
如果某个蚁狮的适应度提高,则

结束 while 循环
基于布谷鸟搜索包装器的特征选择优化(CSWFSO)
受某些杜鹃物种育雏寄生行为的启发——这些杜鹃会将卵产在其他宿主鸟类的巢中,Xin-She Yang 和 Susah Deb35 于 2009 年提出了“杜鹃搜索”算法。在该算法中,每只杜鹃将一枚卵随机放入一个选定的巢中。后代将继承含有最优卵的巢。宿主鸟发现外来卵的概率为 0,且可用的宿主巢数量是有限的。
算法 2:CSWFSO
定义目标函数:f(x):x = (x1,x2,...,xd)
随机生成一个包含 n 个宿主巢穴的初始种群,每个巢穴对应一个候选解 xi(i=1,2,3,...,n)
重复执行以下步骤,直到满足停止条件或(t
对于一个随机选择的布谷鸟 i,通过莱维飞行(Lévy flight)生成一个新的候选解

计算新生成解的适应度 Fi [对于最大化问题,Fi ∝ f(xi)]
从种群 n 中随机选择一个宿主巢穴 j
如果(Fi>Fj),则用新解替换巢穴 j
结束 if
以 pa 的比例遗弃一部分较差的巢穴
在被遗弃的比例(pa)中通过以下公式构建新巢穴:
保留当前最优的解或巢穴
通过排序,选择当前可用的最佳巢穴或解
下一代继承当前最优的解
结束 while
初始时,所有鸟巢均被随机初始化。随着迭代的进行,每只布谷鸟通过莱维飞行在解空间内调整其位置,如算法2所述。步长由∝调节,而Sigmoid操作则将布谷鸟搜索优化算法(CSO)生成的连续值转换为二进制形式,如公式(6)和(7)所示。
(6)
(7)
如算法2所示,其中
和
为随机选取的鸟巢,且 δ ∈ [0,1],在每次迭代结束时,部分鸟巢将被遗弃,并以新的候选解进行更新。
受杜鹃鸟巢寄生行为的启发,布谷鸟搜索优化(Cuckoo Search Optimization, CSO)算法已被证明是特征选择任务中一种有效的工具35。该方法首先初始化一组巢穴,每个巢穴代表基于包装器的CSO特征选择中的一种可能解。通过预设的目标函数评估这些巢穴的适应度。根据适应度评估结果,算法在每次迭代中确定最优解——即所谓的全局最优解。为了更充分地探索解空间,按照CSO协议,部分巢穴(以豌豆表示)将被舍弃,并替换为新的巢穴。嵌入的包装器分类器在所有迭代完成后确认算法输出全局最优解。
基于萤火虫算法的特征选择优化(FWFSO)
算法 3:FWFSO
定义目标函数:f(x):x = (x1, x2, ..., xd)
生成由 n 只萤火虫组成的初始种群,每只萤火虫代表一个解 xi(i = 1, 2, 3, …, n)
根据目标函数值确定每只萤火虫的光强 I
定义光吸收系数 γ
重复执行以下步骤,直到满足终止条件或(t < MaxGeneration)
对每只萤火虫 i(∀ i = 1, 2, 3, ..., n)
对每只萤火虫 j(∀ j = 1, 2, 3, ..., i)
获取 Ii 和 Ij 的光强值
如果 Ii < Ij,则


否则
随机移动萤火虫 i 以探索搜索空间
结束判断
吸引度随距离按 
评估更新后的解,并相应调整萤火虫的光强
结束循环
结束循环
根据光强对萤火虫进行排序,并将光强最高的个体识别为当前最优解
萤火虫优化算法由 George Lindfield 和 John Penny 提出36,该算法模拟萤火虫吸引其他个体的自然行为。在该算法中,萤火虫的吸引力与其亮度成正比,而两只萤火虫之间的距离则与吸引力成反比。若附近没有更亮的萤火虫,该萤火虫将随机移动。
两只萤火虫根据其亮度相互吸引;较暗的萤火虫会向较亮的萤火虫移动。当没有更亮的萤火虫时,则采用随机移动。随着 β0 表示美丽程度,利用两只萤火虫之间距离 r=0 来计算它们的吸引力。rjk 萤火虫 j 与 k 之间的距离按如下方式计算:
此处,rji 和 rki 旁注:i 的空间组成部分th 萤火虫的维度th 和 kth,其中 n 表示维度数。萤火虫向另一只萤火虫的移动由它们之间的吸引力程度决定:
在此方程中,rj 萤火虫当前位置为 j,γ 是介于 0 和 1 之间的随机数,α 为变异率,κ 为吸收系数。若不存在更明亮的萤火虫,则萤火虫将依据 α 随机移动。每次迭代后,嵌入式包装器分类器对全局最小解进行验证,并返回该解。
分类器
结构化和非结构化数据集均可通过划分为离散的组或类别来进行分类。其目标是利用新数据点的属性来预测其类别或标签。该过程通过从输入变量到离散输出变量的映射函数近似,确定新数据所属的类别。
随机森林、决策树、K-近邻、逻辑回归和支持向量机是用于评估所提出的安卓恶意软件检测方案的归纳或分类算法之一37。此外,本研究提出了人工神经分类器,这是一种革命性的混合分类器,将传统归纳算法与人工神经网络相结合。
人工神经元分类器
所建议的人工神经分类器(ANC)设计结合了归纳分类器和人工神经网络(ANN),如图4所示。根据该架构,人工神经网络被训练以识别输入特征之间的模式和相关性。归纳分类器则利用人工神经网络所学习到的信息,提高将恶意软件与安全软件区分开来的准确性。
经过大量测试后,ANC中的ANN被配置为包含三个全连接隐藏层,每个隐藏层具有M个节点,其前为一个包含N个节点的输入层。在另一个具有M/2个节点的全连接隐藏层之后,连接有一个输出层,该输出层与感应分类器相连。隐藏层中节点数量由公式(8)确定:
(8)
其中,M 表示隐藏层中的节点数量,N 表示输入特征的数量,α 是一个介于 2 到 10 之间的参数。激活函数(如公式 (9) 所示)在决定神经元是否被激活方面起着关键作用,其激活条件是输出值超过指定阈值。
(9)
此处,hθ(x) 按照公式 (3) 计算。ANC 使用 Adam 优化器来调整网络权重和学习率。在 Adam 中,每个权重 ωij 的一阶矩估计
和二阶矩估计
的衰减率分别用 β1 和 β2 表示。设 N 表示学习率。Adam 的更新规则如公式 (10) 和 (11) 所示:
(10)
(11)
使用公式(12)和(13)计算偏差校正后的一阶和二阶矩估计值,
和
:
(12)
(13)
这些计算可确保优化器为每个权重维持适当的学习率,从而促进人工神经网络的高效且有效的训练。
神经网络中每个连接的权重更新规则由公式(14)定义:
(14)
更新神经网络权重后,使用损失函数评估模型性能,该函数用于衡量预测输出与实际输出之间的差异。在本模型中,采用公式(15)所定义的平均绝对误差(MAE)作为评估指标。
(15)
在此背景下,yi 表示实际输出,
表示预测输出,n 为输出实例的总数。在神经网络经过预定义的若干训练周期后,从特征空间中学到的表示将被传递给归纳分类器,以区分恶意软件与良性软件。
所提出的人工神经分类器(Artificial Neuronal Classifier, ANC)作为一种混合框架,结合了人工神经网络(Artificial Neural Network, ANN)的特征学习能力与传统归纳分类器(如随机森林和决策树)的决策优势。在此设计中,ANN 首先处理从自编码器获取的选定特征,以学习输入属性之间的复杂模式和关联性。所得到的学习表征随后传递给归纳分类器,由其完成对安卓应用程序的最终分类,判断其为良性或恶意。通过这种方式,ANC 充当一种封装器,在保留传统分类器可解释性的同时,利用深度特征嵌入对其进行增强。该混合机制使 ANC 能够同时利用 ANN 提供的高层特征抽象能力以及成熟机器学习分类器的稳健决策能力,从而提升检测准确率与泛化性能。
实验设置
实验设置中使用了配备 i5 处理器 - 2.30 GHz、8 GB 内存和 2 TB 硬盘的 64 位 Windows 10 操作系统。编程语言采用 Python 3.7,并配置了 Jupyter 平台以支持机器学习和深度学习软件包。
实验所用的API调用序列数据来自IEEE Dataport,其中包含43,876个序列,包括42,797个被归类为恶意软件的序列和1,079个被归类为良性软件的序列。数据验证使用了Virus Total,数据采集则在Cuckoo Sandbox环境中完成。表1对API调用序列提供了全面说明。
访问受限。请登录或开始试用以查看此内容。
在所提出的Android恶意软件检测系统中,采用多种性能指标(如均方误差(MSE)、均方根误差(RMSE)、精确率、召回率、F1分数和准确率)来评估分类的准确性。以下是这些指标的定义。

访问受限。请登录或开始试用以查看此内容。
安卓恶意软件威胁日益加剧,攻击者采用的规避技术愈发复杂。基于安卓的移动系统和应用程序在智慧城市和工业环境中发挥着关键作用。确保这些系统在关键领域的安全,迫切需要建立强大的恶意软件检测机制。近年来,基于机器学习的恶意软件检测研究受到广泛关注18。然而,许多现有方法依赖于特征工程17,这一过程耗时费力,需要基于模拟经验进行特征分析与选择。因此,持续改进特征选择方法并提升检测性能至关重要。
本研究探讨了一种基于自编码器的降维方法,用于优化特征选择。为了分析特征模式,首先使用自编码器对整个特征集进行处理。随后采用基于包装器的特征选择技术,以提取最重要的特征信息。利用优化后的特征子集训练机器学习模型,对安卓应用程序进行良性或恶意的分类。本文还提出了一种名为人工神经分类器的混合分类模型,该模型结合了人工神经网络与传统机器学习方法,同时结合了降维技术。
将基于包装器的特征选择技术与自编码器结合,显著降低了特征空间的维度,其中包括WALOFS、WC...
访问受限。请登录或开始试用以查看此内容。
本研究结果未受任何利益冲突或外部影响。所呈现的所有方法、结果和解释均为原创且无偏见
我谨向我的导师以及 KLU 表示诚挚的感谢,感谢他们对本工作的支持。在整个项目开展过程中,他们的指导、反馈和鼓励对我而言至关重要。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Anaconda Navigator | Anaconda, Inc. | Navigator-2023 | |
| Google Colab | Google LLC | N/A | |
| Jupyter Notebook | Project Jupyter | N/A | |
| Python | Python Software Foundation | >=3.9 | |
| PyTorch | Facebook AI Research | >=2.0 | |
| Scikit-learn | 社区驱动 | >=1.0 | |
| TensorFlow | Google Brain | >=2.8 | |
| Windows 操作系统 | Microsoft Corporation | 11 |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可