APP下载

基于改进遗传算法和神经网络的数据库访问控制方法

2017-10-12杜豫冬韩海东

网络安全技术与应用 2017年10期
关键词:访问控制权值遗传算法

◆金 京 杨 明 杜豫冬 韩海东

(中国人民解放军31011部队 北京 100091)

基于改进遗传算法和神经网络的数据库访问控制方法

◆金 京 杨 明 杜豫冬 韩海东

(中国人民解放军31011部队 北京 100091)

针对数据库访问控制中如何从角色层次中选择最优角色集使用户获得相同权限时风险最小这一问题,引入风险量化,设计了基于风险属性的神经网络,并利用改进遗传算法设计其结构,提出基于改进遗传算法和神经网络的角色选择算法,实现了对风险进行评估并选择相同权限下最优角色集。仿真实验验证了该方法的有效性。

数据库访问控制;风险;改进遗传算法;BP神经网络;最优角色集

0 引言

随着计算机的普及,用于信息存储的数据库得到广泛应用。然而,与数据库相关的安全事故不断涌现,数据库安全问题亟待解决,数据库安全技术成为人们研究的重点。

数据库访问控制是数据库安全的基础,目前,已有多种形式的数据库访问控制[1]方式。如基于属性的数据库访问控制[2]、自主决策数据库访问控制、基于角色的数据库访问控制[3]等。其中,基于角色的数据库访问控制由于其方便管理的优点得到广泛应用。文献[4]提出一种基于角色的两级数据库安全访问控制,从系统级和应用级两级进行安全管理,解决了用户及权限分配问题,但并没有保证最小权力。文献[5]指出对基于属性的数据库访问控制,利用XACML策略来更改访问控制列表以应对不断变化的属性,但是,本文并没有解决最优策略的选择问题。文献[6]提出基于RBAC模型多级角色的SQLite3安全访问控制,基于RBAC模型,结合SQLite3数据库内核源码。设计了多级角色,虽然对角色进行了分级,但并没有考虑不同等级角色权限分配以及最小权限问题。

如今,对于大型数据库访问控制系统,用户、角色、权限之间存在多种指派方案,每种指派方案均存在一定执行风险。如何从角色层次中选择最优的数据库访问控制策略,即最小角色集,使得用户在对数据库访问权限不变的情况下达到风险最低是一个亟待解决的问题。

针对上述问题,本文提出一种基于遗传算法[7]和神经网络[8]的数据库访问控制方法,利用BP网络对风险进行定量计算,选择最优数据库访问控制策略,即最小角色集,使得用户获得相同权限时风险最小。

1 研究基础

1.1 风险量化

每种数据库访问控制策略中的访问权限都有一定风险,对风险进行量化,依据风险大小确定最优的数据库访问控制策略。权限的风险大小与主体安全级、客体重要程度以及操作失败发生的概率等有关系。根据文献[9]所提出的方法可以计算权限的风险值,如公式(1)。

通过比较权限之间的风险值,找出最优数据库访问控制策略,确定最小角色集。

1.2 遗传算法及其改进

遗传算法(Genetic Algorithm,GA)是由J.Holland及其学生提出的一种模拟生物进化的全局寻优算法,基于自然优化和自然遗传的原理,通过群体搜索策略和个体信息交换,自适应的进行全局搜索来获得最优结果。遗传算法简单、易操作,在组合优化、模式识别和自动控制等方面等到了广泛应用。遗传算法主要包含选择、交叉、变异三种操作。

在遗传算法中,问题空间由代码空间来替换,性能评价的标准是合适的函数,选择和遗传机制的确定是多个不同基因个体的代码。不同个体通过不断演变的基因和代码位链的一些重要基因随机组合产生,并通过不断最优化实现问题的最终解。为了突破遗传算法的低收敛速度和低精度局限,一种用来改进遗传算法的帮助操作被提出。帮助操作位于选择操作后,算法如下:

1:m=1;

2:定义一个实数r,使得0≤r≤1,如果r≤hP,执行3,否则跳转到6;

3:n=1;

hP表示帮助的可能性,l表示编码无性别长度。

2 BP神经网络

1986年,以Rumelhart和McCelland为首的科学家,完整地提出了误差逆传播学习算法,简称BP(Back Propagation)神经网络。BP神经网络是一种多层次前向型、采用误差反向传播学习算法的神经网络。该网络包括输入层I、隐含层(也称中间层)J和输出层K。相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,同一层神经元之间无连接。同层神经元之间无任何耦合使得每一层神经元只接受前一层神经元的输入,而每一层神经元的输出只影响下一层神经元的输出。只含一个中间层的BP模型如图1所示。

图1 BP神经网络模型

对于复杂的评估问题,人们常常凭借经验和知识参与判断决策,这其中包含许多定性因素影响评估结果。而BP神经网络通过自学习来确定网络结构并进行调整,直到达到一个相对稳定的状态,使系统误差达到精度要求,同时其学习方法属全局逼近,具有良好的泛化能力,这消除了许多人为因素,提高了评价结果的准确性,而且BP神经网络能够随着时间推进和参与比较样本的增加,不断进行自学习和动态跟踪,实时性非常好。

3 基于改进遗传算法和神经网络的数据库访问控制方法

3.1 基于风险属性的神经网络设计

在上述关于改进遗传算法及神经网络研究的基础上,给出本文设计的BP神经网络的设计结构,初始权值和阀值以及训练方法。

将视野网络的结构、权值和阀值、训练率以及运量因子当作一系列染色体,并利用二进制编码。每个个体的编码均包含6部分:时权值编码、阀值二进制编码,节点间连接状况的编码,训练率的编码,运量因子的编码,个体性别的编码,其值为0或1。

假设权值、阀值、训练率及运量因子的参数值之间的关系如公式(2):

其中,bin表示N位特征字符;

权值、阀值、训练率运量因子的变化范围如公式(3):

3.2 BP神经网络训练

取一组训练数据输入网络,并计算网络的输出值,然后计算该输出值与期望值之间的误差,并从输出层反向计算到隐含层,向着减少该误差的方向调整各条弧边的权值。对训练样本中的所有训练数据都重复上述操作,直到整个训练的误差达到能被接受的程度。

为避免训练过程中频繁冲击或陷入局部最小导致收敛速度很慢这个问题,增加运量因子。即增加一个与原来变量和目前变量以及权值和阀值相匹配的数据项。新增加的权值和阀值的运量因子由以下方式进行调节:

其中k表示训练时间,dt表示训练率,mc表示运量因子,dt和mc由个人经验来确定。

4 风险属性权值矩阵

经过BP神经网络的自学习训练过程,得出各输入层至隐含层、隐含层至输出层各神经元之间的连接权值,即可组成权值矩阵,其基本结构为:

其中,权值矩阵的行表示输入的不同风险属性因素变量,列表示每个输入变量的神经元权值。

神经网络算法与普通的函数曲线拟和算法相比,其输入、输出关系更加复杂,对象数据的随机性更大,使用一般的曲线拟和算法难以达到目的。同时,神经网络算法通过权值矩阵代替原来函数的一维系数,实际上依然表征了同阶变量变化时对输出的影响大小。因此,为了使分析过程更为直观和简便,需要对权值矩阵进行处理,将其转化为一维系数的形式,本文采用“均值滤波”[10]的方法来解决这一问题。

经过均值滤波处理,可以实现权值矩阵与风险属性影响系统的转换,其转换结果为:

s即表征了不同风险属性对系统安全性的影响程度系统,这也是后续进行角色选择的关键因素和参考。

5 基于改进遗传算法和神经网络的角色选择算法

基于BP神经网络的角色选择算法设计如图2所示。

图2 算法设计

该算法以BP神经网络为基础,利用神经网络的自学习获得风险属性权值矩阵,然后,使用“均值虑波”数学表征法求取风险属性影响程度系数矩阵。然后,根据信息系统的风险等级从角色集中寻找合适角色,使风险达到最小。

5.1 算法描述

算法描述如下:

(1)系统初始化,设置BP神经网络的权值和阈值;

(2)读取训练样本,用公式逐层计算网络输出,然后计算隐含层和输出层的训练误差,并计算样本的总误差;

(3)判断样本总误差后一次迭代结果是否大于前一次迭代结果,如果是,则减少学习步长并转回到2,否则转到4;

(4)增大学习步长并修改权值和阈值,自适应地调整误差;

(5)读取网络参数以及权值、阈值,构造最终的神经网络;

(6)将权值矩阵转化为一维系统,表征同阶变量变化时对输出结果的影响大小。其中,权值矩阵的行表示输入的不同影响因素变量,列表示每个输入变量的神经元权值。在此,采用“均值滤波”数学表征法进行权值矩阵向一维系统的转换;将求出的同一变量的名权值系统的平均值取绝对值后,作为相应因素最后对系统安全性能的影响程度系统。这是因为同一变量的不同权值算术取平均值可以获得其在整个神经网络中的整体权重值;而不同变量的权重值取绝对值又可以保证它们的基准相同,因此,可以全部通过正向比较来区分不同权重值的大小;

(7)得出不同风险属性的影响程度系数矩阵(即不同风险属性对系统安全性能的影响)后,系统自动地选择对数据库相同操作权限的风险最小的角色集。

5.2 算法分析

该算法的复杂度主要有以下两个方面:

(1)BP神经网络的自学习过程;

(2)风险属性权值矩阵的计算。

对于BP神经网络的自学习,目前MATLAB已经提供了完整的神经网络工具箱对神经网络模型进行训练,使用newff函数实现网络建立,可以根据样本数据确定输入层、输出层的神经元数目、隐含层及输出层的变换函数,同时能够自动调整隐含层的神经元数目;使用init函数对网络进行连接权值和阈值的初始化;使用train函数对网络进行训练;使用sim函数对测试数据进行仿真计算。使用MATLAB中的M语言编程实现BP神经网络算法,其算法设计已经比较成熟和可靠。

对于风险属性权值矩阵的计算,假设条件权值矩阵的规模为n× m,则其计算复杂度为:

其中,m为风险属性,n为隐含层的神经元个数。可见,风险属性权值矩阵的计算复杂度依赖于BP神经网络在自学习过程中构建的隐含层的神经元个数以及风险属性的个数,但其计算复杂度仅为完全在可接受的范围内。

6 实验及分析

以税务系统为例,系统包含多个角色,不同角色对数据库拥有不同的操作权限。图3所示表示角色混合层次关系,主要包含税收经理TM、评估员AC、账单员BC、初级征管员JCC、征管员CC、和财产税职员PC六种角色,并且包含对数据库的四种操作权限该系统中,可以有四种角色集满足提供权限上述算法的目标是选择最优的角色集,使得系统风险最低。

图3 混合角色层次树

神经元输入输出间的关系为:

其中,

图示的税务系统实例中,对于用户user,数据库db,存在如下策略:它们获得相同的访问权限,即利用本文的神经网络模型来寻求最优数据库访问控制策略使得对数据库的访问控制的风险等级最小。选取依据公式(1),利用Matlab分别计算四种数据库访问控制策略风险数据。表1和表2分别表示角色集{CC}以及角色集{BC, JCC, PC}的风险实验数据。

表1 角色集{CC}风险实验数据

利用相同的方法可以得到角色集{CC, PC}以及角色集{CC,JCC, PC}的风险实验数据。并得到基于神经网络模型的数据库访问控制策略风险图,如图4所示。

表2 角色集{BC, JCC, PC}风险实验数据

由图4可以看出最佳的访问策略是:

即获得最小角色集{CC},也就是用户只需要指派角色CC就可以获得相同的权限,且此时风险最小。

图4 基于神经网络模型的角色风险图

7 结束语

在对数据库的访问控制中,由于数据库系统的复杂性以及角色之间的复杂层次关系,使得在相同的权限或权限集下,往往具有多个角色集合,即一定的用户权限往往可以通过不同的角色指派方案来获得。本文利用遗传算法及神经网络模型,针对现有角色指派关系来选择最优角色集使得用户在执行权限的时候风险最小。

[1]李翠梅.基于 SQL 的数据库访问控制安全研究[J]. 现代计算机: 上下旬, 2011.

[2]Poddar I, Nadalin A J, Nagaratnam N. Declarative instance based access control for application resources with persisted attributes and state[J],2016.

[3]Tarai T, Mishra P K. Modeling Level Wise Role-Based Access Control for Commercial, Database Systems[J]. International Journal of Engineering Research & Applications,2014.

[4]张志勇.基于角色的两级数据库访问控制机制及其实现[J].微机发展, 2004.

[5]Jahid S, Gunter C A, Hoque I, et al. MyABDAC:compiling XACML policies for attribute-based database access control[C]// ACM Conference on Data and Application Security and Privacy, Codaspy 2011, San Antonio, Tx, Usa, February 21-23, 2011, Proceedings. 2011.

[6]白晋国,胡泽明,孙红胜.基于 RBAC 模型多级角色的 SQLite3 安全访问控制[J].计算机系统应用,2015.

[7]Vishakha V Patel,Kamal Sutaria.A Survey on Community Detection in Social Network using Genetic Algorithm[J].International Journal of Engineering Development and Research,2015.

[8]郭嗣琮.信息科学中的软计算方法[M].东北大学出版社,2001.

[9]Cheng P C, Rohatgi P, Keser C, et al. Fuzzy Multi-Level Security: An Experiment on Quantified Risk-Adaptive Access Control[J]. Ibm Corporation,2007.

[10]张笑东, 蒲宝明, 霍红等.均值滤波和形态学在振荡脉搏波提取中应用[J].计算机系统应用, 2016.

猜你喜欢

访问控制权值遗传算法
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于权值动量的RBM加速学习算法研究
ONVIF的全新主张:一致性及最访问控制的Profile A
基于多维度特征权值动态更新的用户推荐模型研究
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
软件发布规划的遗传算法实现与解释