信息物理交通系统中面向安全移动边缘计算的深度学习

摘要

移动边缘计算(MEC)能够直接在交通网络边缘执行计算密集型应用。因此,连接的边缘设备之间的通信流量显著增加。由此,通信安全正成为一个严重的问题,而主动特征学习作为通信安全的一个重要研究课题,在本文中被用于主动检测未知攻击。设计了一种基于深度学习的模型来学习攻击特征。该模型使用无监督学习完成主动学习过程。在评估中,使用了10个数据集进行实验。我们将该模型与另外四种基于机器学习的算法进行了比较,比较结果表明,我们的模型在准确率上提高了6个百分点。

引言

信息物理交通系统(CPTS)利用大量异构传感器和移动无线设备实现感知、通信和交通控制能力。借助这些能力,在CPTS中,移动边缘计算(MEC)可用于使连接的移动车辆和交通传感器等异构设备直接在网络边缘共同执行实时计算密集型应用[1, 2](图1展示了应用场景)。在这种MEC中,传感器与交通控制器之间的通信采用无线模式,而无线过程的开放特性对攻击者具有吸引力,因为它使得通信容易受到安全攻击的威胁;例如,窃听和干扰攻击如图2所示。此外,根据信息传输功率,窃听者和干扰者可以自我调整功率策略,以最大程度地影响无线通信。为了检测窃听和干扰攻击,必须通过主动特征学习追踪功率调整的变化。受主动特征学习的启发,本文提出了一种基于深度学习的模型,并利用无监督学习来实现安全攻击特征学习的主动过程。

在过去的10年中,信息物理交通系统的安全问题引起了工业界和学术界的关注。基于加密的方法已经被提出。然而,这些方法需要大量的计算能力,因此在移动边缘计算环境中,由于大量传感器的计算能力有限,其应用受到限制。为了应对这一限制,研究人员已经对物理层安全方法进行了研究[3, 4]。此外,在安全研究中,学习安全攻击的特征是一个重要的研究课题,已有部分研究在此方向展开。然而,现有工作尚未考虑以主动方式进行学习,即在学习过程中无需手动标注所用的数据。

本文提出了一种基于深度学习框架的模型,该模型利用深度置信网络主动提取攻击特征。以安卓系统安装的MEC设备为研究案例,我们在开放的MEC环境中对该模型进行学习,涵盖窃听和干扰攻击。

本文的贡献如下所述:

  • 该模型采用深度学习框架,旨在学习MEC环境中大量异构无线设备相互连接时的攻击特征。
  • 提出的模型对恶意攻击的特征具有主动学习能力,即在学习过程中无需手动标注所用数据。
  • 通过无监督学习实现主动过程,以主动检测未知攻击。
  • 本文可视化了信息物理交通系统应用场景中移动边缘计算的通信安全。

基于特征学习的检测:研究现状

根据特征学习的方法,我们可以将现有的攻击检测方法分为两类:基于静态学习的攻击检测和基于动态学习的攻击检测。

基于静态学习的攻击检测

在这种检测中,方法通过检查攻击的源代码而不运行代码来进行分析。此外,它们分析安全攻击的静态特征,以学习这些攻击的模式。通过这种学习,恶意的攻击的行为可以被学习,并且可以进一步用于防御这些攻击。

接下来,我们回顾基于静态学习的检测方法的重要研究成果。在[5]中提出了SigPID。它通过静态学习权限—MEC设备上应用程序的权限使用情况。SigPID通过三个级别的剪枝来识别最重要的权限,而无需分析所有权限。此外,基于机器学习的分类方法被用于分类恶意和良性的行为。在[6]中提出了DERBIN,它是一个用于提取攻击特征和反汇编攻击代码的静态分析框架。此外,它使用支持向量机对提取的特征进行分析。在[7]中提出了DroidMat,用于从AndroidManifest.xml文档中提取不同的特征。K均值算法被用来建模恶意攻击,其中提取的特征被聚类。在[8]中,基于贝叶斯网络、决策树、k‐最近邻、随机森林和支持向量机的算法被部署以实现自动分类来检测恶意攻击。在此基础上,在[9]中训练了一个支持向量机分类器来构建一个系统,该系统从安卓系统中提取攻击的静态特征。

基于动态学习的攻击检测

该检测通过分析攻击的运行状态来检查攻击行为,并学习攻击的动态行为特征,例如学习窃听者和干扰者的功率策略。

接下来,我们回顾一些基于动态学习的检测方法的重要研究工作。在[10]中提出了一种通过动态分析网络流量文本语义的自动攻击检测方法。此外,该研究利用文本语义特征分析为网络流量构建了动态攻击检测模型。在[11]中提出了一种基于人工神经网络的系统,用于检测安卓系统中的未知攻击。此外,该研究使用了前馈神经网络和循环神经网络。因此,循环神经网络利用动态特征(例如,系统调用)来训练模型。

在过去的10年中,特征学习 increasingly 被用于攻击检测方案中。在表1中,我们列出了一些现有研究中用于恶意攻击检测的机器学习方法。

基于深度学习的模型

我们设计了一种基于深度学习的模型,通过学习攻击特征来检测攻击。该模型针对安装了安卓系统的设备所遭受的攻击进行了评估。

该模型包含两个组件:特征预处理引擎和攻击检测引擎。具体介绍如下。

特征预处理引擎

该引擎使用静态/动态学习来预处理攻击特征。在我们的研究中有三类特征:所需权限、敏感应用程序编程接口(API)和动态行为。静态学习用于处理两类特征:所需权限和敏感API。动态学习用于处理动态行为。

在此引擎中,边缘设备的安卓安装包(APK)文件被解包,然后从文件中提取特征元素,并将其输入到下一个攻击检测引擎中。

攻击检测引擎

该引擎包含两个模块:基于深度置信网络的特征学习模块,以及基于softmax函数的预测输出模块。

示意图0

图3(右半部分)展示了深度置信网络结构,该网络结构用于实现安全攻击的主动特征学习。该深度置信网络结合了一系列无监督网络(例如受限玻尔兹曼机,RBMs)。受限玻尔兹曼机是一种生成式随机人工神经网络。在受限玻尔兹曼机中,包含一层可见单元、一层隐藏单元以及可见单元层与隐藏单元层之间的相应权重。多个受限玻尔兹曼机可以堆叠在一起,其中隐藏层输出作为下一个受限玻尔兹曼机的输入。在本例中,合理的隐藏单元数量m为512。该值通过训练调整获得。

此外,从MEC环境中提取的一组特征被用作未标记2样本。这些特征用于分析攻击行为。所使用的特征包括:振动、访问粗略更新、访问GPS、访问诺顿安全、访问WiMAX状态、调用内部处理器、安装主题、接收广播、读取帧缓冲、读取输入状态、读取配置文件、写入Gmail以及挥手锁屏和解锁。

在受限玻尔兹曼机层上方设置隐藏单元和顶层单元,以构建反向传播网络。这些单元用于实现深度学习中的微调,并通过将有标签样本输入到顶层单元来辅助微调。

图3的左侧展示了深度置信网络的训练结构,训练过程包括两个阶段。

使用未标记样本的预训练阶段

预训练过程是无监督的,如下所示:
- 可见单元和隐藏单元的初始化
- 使用可见单元的输出对隐藏单元进行更新
- 使用隐藏单元的输出对可见单元进行重构
- 使用重构后的可见单元输出对隐藏单元进行重新更新
- 对可见单元与隐藏单元之间的权重值进行更新

使用有标签样本的微调阶段

在此阶段,反向传播被设计用于微调在预训练阶段已训练的预训练参数(例如每个神经元的权重)。
- 误差计算。误差描述了设计模型的输出与实际输出之间的偏差。
- 误差最小化。反向传播检查误差是否已最小化。如果误差未最小化,反向传播将更新参数(权重)。此过程重复进行,直到误差被最小化。

在一般分析方面,通过使用来自系统的样本数据训练提出的模型,该模型将更适用于该系统。在真实系统中,存在许多相互依赖的参数。仅使用简单公式准确建模系统是不可能或困难的,更不用说捕捉参数间相互依赖的本质。然而,系统中的数据包含了足够的信息,通过分析这些数据有可能反映相互依赖参数之间的关联性。因此,可以通过使用数据训练人工神经网络来对复杂系统进行建模。

提出的模型有两个优点:
- 该模型能够捕捉攻击与相应特征之间的非线性关系。通过这种关系捕捉,所提出的模型在攻击检测性能上优于其他四种基于机器学习的算法(软最大回归[12]、决策树[13]、支持向量机[14]和随机森林[15])。此外,我们的模型能够利用无标签数据实现主动学习,而对于其他四种算法而言,设计一个良好的特征适配器以实现此类主动学习仍需大量改进。
- 提出的模型中包含多层堆叠模块,用于计算输入和输出之间的非线性映射。也就是说,通过使用多个非线性层,可以实现提出的模型输入的复杂函数。

实验评估与分析

实验设置

使用了十个不同的数据集对提出的模型进行评估。

在所使用的数据集中,每个数据集分别包含来自MEC环境的500个恶意攻击样本以及500、1000、1500、2000、2500、3000、3500、4000、4500和5000个非攻击样本。在每个数据集中,训练和测试所用数据样本的比例为0.8:0.2。将提出的模型与另外四种基于机器学习方法的检测算法进行了比较,分别是softmax回归、决策树、支持向量机和随机森林。每种算法均运行10次,以计算性能指标的平均值。

对于提出的模型,在受限玻尔兹曼机中部署了512个隐藏单元。可见单元的数量与输入特征相同。在预训练阶段,我们使用200个训练周期来训练模型,在微调阶段,迭代次数设置为200。

对于我们的模型的输入和输出,softmax函数的输入是深度置信网络的输出。softmax函数的输出表示一个类别分布。在本研究中,softmax函数的输出是一个0‐1类别分布:如果输出为1,表示测试样本是恶意的;如果输出为0,表示测试样本是良性的。

实验结果

我们提供了五种算法在10个数据集上的准确率比较,结果如图4所示。此外,我们在图5中展示了不同训练轮次下的预训练误差和微调损失。

在比较结果中,测量准确率用于衡量算法检测攻击的效果。它可以直观地描述为
accuracy = number of correctly classified samples / total number of samples,
即正确分类的样本所占的比例。

从图4所示的结果来看,在准确率方面,提出的模型比基于softmax回归的检测算法高出12.61%,比基于决策树的算法高出5.76%,比基于支持向量机的算法高出3.20%,比基于随机森林的算法高2.61%。

我们提供了提出的模型与其他四种算法的性能比较分析,并给出了每种算法的时间复杂度。

示意图1

基于软最大回归的检测算法

(时间复杂度:O(n + 1)m,其中训练数据的大小表示为m,特征数量表示为n。在该算法中,为了最小化代价函数,我们获得软最大回归参数的最优值。软最大回归用于线性可分的数据集。然而,本文所使用的数据集并非线性可分。

基于决策树的检测算法

(时间复杂度:O(mn))。通过将数据集分解为更小的子集并逐步重新组合这些子集,可以增量式地构建相应的决策树。然而,仅通过增加子集的数量,这种增量方案并不总能提升决策树的性能。

基于支持向量机的检测算法

(时间复杂度:O(m³))。支持向量机的核函数决定了算法的性能,而不是基于数据的训练。

基于随机森林的检测算法

(时间复杂度:O(nm log(m)))。大量的决策树构成一个随机森林,森林的输出是每棵决策树的分类或预测结果。该森林构建过程类似于决策树的构建过程。因此,仅仅增加数据量,并不能总是有助于提升随机森林的性能。

基于深度学习的检测模型

(时间复杂度:O(m²))。该提出的模型基于深度学习框架,并受益于基于数据的模型训练。具体而言,攻击数据包含足够的信息和特征,能够反映攻击的复杂行为。通过训练数据,从数据中挖掘信息和特征有助于提高对攻击的检测准确率。此外,该模型在灵活性方面具有优势:
- 在此模型中,使用新的输入特征很容易满足复杂攻击场景的需求;例如,将攻击的位置特征作为输入参数添加。
- 新模块可以轻松添加以实现新功能;例如,添加无监督学习模块来开发主动特征学习功能。

此外,提出的模型在性能上对数据集大小较为敏感。随着训练数据集大小的增加,模型的性能也随之提升,但性能并不单纯依赖于数据集的大小。性能与数据集中恶意样本与良性样本之间的差异存在关系。如果该差异越大,则使用该数据集训练出的模型在检测攻击方面的性能越好。

示意图2

预训练后的模型误差如图5a所示。随着训练轮次的增加,误差逐渐降低,在某一训练轮次时,误差趋于稳定,表明在该轮次达到了最小训练误差。具体而言,随着轮次的增加,模型对训练数据进行拟合,并学习到数据中的更多特征。通过这一学习过程,模型的检测准确率得到提升。然而,当训练时间超过一定时长后,模型将对训练数据过拟合。由于过拟合,模型分析输出的结果与训练数据过于相关,导致模型无法在未参与模型训练的数据上有效工作。

在微调过程中,随着轮次的增加,损失值有所下降,尽管存在一些波动,结果如图5b所示。

在移动边缘计算中,最关键的挑战是处理流数据,并进一步利用这些数据进行模型训练。使用流数据训练提出的模型非常耗时。另一个挑战是实现模型的在线训练,然后将训练好的模型用于实时应用。

结论

本文提出了一种基于深度学习框架的模型,用于检测移动边缘计算(MEC)中的攻击。与另外四种基于机器学习的检测算法相比,该模型的主动特征学习在准确率提升方面具有优势。此外,采用具有512个隐藏单元的深度置信网络持续学习攻击特征,其中数字512是通过基于数据训练的调整确定的。同时,使用对比散度算法迭代更新模型的参数值。另外,通过观察结果可知,在提高准确率方面,训练数据集大小具有重要影响。平均而言,我们的模型在检测准确率方面取得了较好的提升,分别比基于Softmax回归的算法高12.61%,比基于决策树的算法高5.76%,比基于支持向量机的算法高3.20%,比基于随机森林的算法高2.61%。然而,提出的模型在流数据处理和实时应用所需的在线训练方面仍存在局限性。

更多推荐