基于边缘侧的BP神经网络终端安全等级分级模型*
2018-10-15侯文静蒋屹新雷文鑫许爱东
侯文静,蒋屹新 ,文 红 , , 雷文鑫, 许爱东
(1.电子科技大学通信抗干扰国家级重点实验室,四川 成都 611731;2.南方电网科学研究院有限责任公司,广东 广州 510000)
0 引 言
随着物联网和通信技术的进步,万物联网应用需求的发展催生了边缘式大数据处理模式,即边缘计算模型。它能在网络边缘设备上增加执行任务计算和数据分析的处理能力[1]。基于边缘计算能力的支撑,移动智能终端与物联网能够完美结合。然而,移动智能终端越来越多地涉及商业秘密和个人隐私等敏感信息[2-3]。这种背景下,对于移动智能终端安全测评十分必要。在移动智能终端安全测评中,根据各测试单项的测试结果进行终端安全等级的划分,是涉及不同用户对移动智能终端安全需求不同的重要依据,可实现不同安全级别需求的安全使用。其中,移动智能终端安全测评成为最有效的方式之一。本文利用BP神经网络算法建立移动智能终端安全等级分类模型,通过边缘侧的计算资源支持算法,实现对移动智能终端安全等级的客观和准确分类。
1 BP神经网络算法原理
BP神经网络算法是一种神经网络学习算法[4],原理是在梯度下降法利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差最小。优点在于泛化能力、自学习和自适应能力强,特别适合于求解内部机制复杂的问题。首先给定带有特征的训练样本集T={(X1,x1),(X2,x2),…,(XK,xK),},其中∈χ=Rn,表示第i个智能终端的安全等级,i=1,2,3,…,N。然后,构造BP神经网络模型。
BP神经网络的过程主要分为两个阶段。第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是反向传播,从输出层到隐层,最后到输入层,依次调节隐层到输出层的权重和偏置,以及输入层到隐层的权重和偏置。具体算法流程如图1所示。首先,初始化权重,将样本模式计数器n和训练次数计数器设置为1,误差E设置为0;其次,输入样本并计算输出和误差;最后,根据误差调制各层的权值,当网络训练后达到精度Emin(设为一个较小的正数),结束神经网络参数训练。
图1 BP神经网络算法
2 基于BP神经网络算法的移动智能终端安全等级划分
通过对智能终端各单项安全性能的测试得到测评结果,然后利用BP神经网络算法划分智能终端的安全等级,提高了安全等级划分的准确性,有利于实现在不同安全级别需求下的安全使用。
2.1 智能终端边缘计算模型
边缘计算是指在网络边缘执行计算的一种新型计算模型。边缘计算中,边缘的下行数据表示云服务,上行数据表示万物互联服务[5]。传感器、智能手机、可穿戴设备以及智能家电等终端设备将成为万物互联的一部分,并产生海量数据。因此,需要更好地进行移动智能终端安全测评,以满足边缘计算模型中可靠性、数据安全性、隐私保护的需求。图2为终端边缘计算模型。
图2 智能终端边缘计算模型
2.2 智能终端安全等级划分
一台智能终端的安全性能由N个测试单项决定,如短信功能、通话功能、第三方软件、审计功能和数据存储等[6]。每个测试单项得分越高,安全性能越强。第j个测试单得分为mj,移动智能终端的测试结果由向量M表示,则M=[m1,m2,m3,…,mN]T。智能终端的总分X由测试结果M和测试单项的权重函数W(n)决定。W(n)可定义成均匀离散概率密度函数,即可表示成W=[w1,w2,…,wN],wj=1/N。于是,每台终端的总分X=M*W。
将智能终端划分为S个安全等级,设定S-1个门限值为正数 η1,η2,…,ηS-1。当满足 0<X ≤ η1,则定义终端安全等级为1级;当满足η1<X≤η2,则定义安全等级为2级;以此类推,当满足ηS-2<X≤ηS-1,则定义智能终端安全等级为S-1级;当满足X>ηS-1,则定义安全等级为S级。
例如,本文中将移动智能终端的安全等级划分为4级,设定3个门限值为正数η1、η2、η3,其中,η1=0.25、η2=0.50、η3=0.75。根据这三个门限将智能终端划分为4个等级,等级用x表示。x∈{1,2,3,4}代表4个等级,x的表达式如下:
其中1、2、3、4分别表示一级、二级、三级、四级。安全等级越高,安全性能越强。
通过对K台智能终端测试1次,得到测试结果M1,M2,…,MK。每次测试结果由N的测试单项组成。得分越高,安全性越强。计算每台测评的总分X,并通过上述门限给其定级,即可得到训练集样本T,T={(M1,x1),(M2,x2),…,(MK,xK)}, 其 中 xi∈ {1,2,3,4},i=1,2,…,K。
2.3 基于BP神经网络算法的智能终端安全等级定级模型
本文基于BP神经网络算法将终端安全划分等级,故要使用分层模型进行分类。以4级安全分类为例,采用三层BP神经网络模型,分层结构如图3所示。
图3 三层神经网络模型
本文将训练样本输入神经网络模型进行训练,网络输入层、隐层和输出层的节点数分别为3、4、4。输入层到隐层的权重ωij,隐层到输出层的权值为ωjk,输入层到隐层的偏置为aj,隐含层到输出层的偏置为bk。其中,输入层到隐层的激励函数为g(x)。g(x)取Sigmoid函数形式为:
隐层的输出Hj为:
输出层的输出OK为:
误差的计算,取误差公式为:
其中Yk为期望输出。
记Yk-Ok=ek,则E可以表示为:
权值更新公式:
隐层到输出层的偏置更新:
则偏置更新公式为:
输入层到隐层的偏置更新:
则偏置更新公式为:
对于每个样本,判断其误差。如果小于设定的阈值或者已经达到迭代次数,结束训练;否则,继续训练。
将OK代入输出层的Softmax激活函数得到最终结果:
σ1、σ2、σ3、σ4将安全等级分为了四类,得到了成熟的三层神经网络模型。具体地,将任一测试结果输入到训练好的分类器,能够判定其所属安全等级。
3 结 语
当前,移动智能终端安全与边缘计算结合越来越紧密,得到了越来越广泛的应用。本文根据移动智能终端各单项安全性能的测试,利用BP神经网络算法对智能终端的整体安全性能评估定级,对于实现用户在不同安全级别需求的安全使用具有重大意义。