基于序列匹配的数据库交互行为公开验证仿真

2021-11-17 08:37
计算机仿真 2021年6期
关键词:数据库特征用户

赵 敏

(贵州民族大学数据科学与信息工程学院,贵州 贵阳 550025)

1 引言

在当今信息化社会,互联网的应用越来越广泛,人们通过网络访问数据库,并经过数据库的允许,从中提取出自己需要的数据信息。然而,伴随网络安全问题的日益突出,非法者为窃取信息,模拟用户与数据库之间正常的交互行为,使得攻击方式更加隐蔽,导致数据库无法有效检测出非法入侵者,也就无法进行及时阻拦[1]。对用户与数据库交互行为进行公开验证是保证数据安全,防止非法入侵的重要手段,因此,研究数据库交互行为公开验证方法具有重要意义。

目前主要采用基于协议分析的方法、基于聚类的方法以及基于信任值的方法进行数据库交互行为异常的验证。其中基于聚类的方法主要通过正常用户与数据库之间的交互数据,提取聚类中心,然后分类异常交互行为与正常交互行为来完成验证;采用主分析协议的报文特征对恶意入侵攻击进行识别,是基于协议分析方法的核心思想;基于信任值的方法主要通过计算访问用户的信任值来进行交互行为异常的检测。以上三种方法的验证效果并不理想,验证过程中查全率和查准率较低[2,3]。

针对上述三种传统方法存在的问题,以序列匹配为基础,提出对数据库交互行为进行公开验证的方法。对正常交互的行为序列特征进行采样提取,将之与实际网络中的交互行为序列进行配对,得到不相符的配对序列特征,实现公开验证,完成用户异常行为的检测。最后为验证本方法的性能,进行仿真。实验结果表明:相比上述三中传统方法,基于序列匹配的数据库交互行为公开验证方法的查全率和查准率是四种方法中最大的,由此可见应用本文方法,能有效检测出数据库交互行为的异常现象,保证数据库中数据的安全。

2 数据库交互行为的异常分析和验证流程设计

2.1 数据库正常交互行为与异常交互行为对比

用户进行的各种查询、录入等数据提取活动被称为数据库的交互行为。而这些活动均是在用户身份公开验证无误的前提下进行的。图1为一个正常的交互过程。

图1 用户与数据库之间正常交互过程

正常的交互行为是具有起始动作的,序列关系完整有序,它是遵从一定的协议规范进行活动的。然而,一旦发生非法入侵或攻击,其交互序列必然有别于正常的序列关系[4]。表1为常见的异常交互行为特征以及具体攻击方式。

表1 常见异常交互行为特征及具体攻击方式

2.2 数据库正常交互行为公开验证的流程设计

对表1中这些异常行为进行验证流程设计,

其具体过程如图2所示。

图2 基于序列匹配的交互行为验证流程

从图2中可以看出,基于序列匹配的数据库交互行为公开验证方法的流程主要分为三个步骤:

1)交互行为记录采集。从网络审计记录中选取部分数据作为训练数据,为下一交互行为序列特征提取做准备。

2)交互行为序列特征提取。通过对以往正常用户访问数据进行训练,提取出正常交互行为的序列特征。

3)交互行为序列特征匹配。将实际交互行为验证序列与正常交互行为序列特征进行匹配、对比,发现异常交互行为[5]。

3 基于序列匹配的交互行为公开验证方法

3.1 交互行为记录数据的采集

在交互行为序列特征提取之前,需要从以往用户与数据库交互行为记录数据中选取部分数据作为训练数据,从中提取正常交互行为序列特征。

交互行为记录数据的采集可以分为基于服务器端采集和基于客户端采集两类。其中,前者最为常用,其原理是通过Web服务日志文件中HTTP相关内容对用户访问行为数据进行统计和汇总[6]。当用户与数据库完成一系列交互行为后,记录在网络审计记录为一组属性信息,具体包括用户ID、交互日期、服务器、请求、状态、停留时间、协议版本等,具体Web服务日志格式表示如表2所示。

表2 Web 服务日志格式具体表示以及说明

Web服务器日志对应着用户访问数据库的每一次请求,用户与数据库每完成一次交互,Web服务器日志中就增加一条记录,表示如下

(1)

在完成交互行为记录数据的采集之后,并不能直接将采集后的交互行为数据用于交互行为序列特征提取,还需要对选取的部分记录数据进行处理,以方便后续交互行为序列特征的提取,从而提高提取效率。

交互行为记录数据处理,即是对交互记录中的错误记录和不相关交互行为冗余记录进行清洗处理。由于机器故障、网络拥塞、人工疏忽等行为会导致交互行为记录破损,完整性遭到破坏,因此这类数据,能够通过相似度计算尽可能地恢复破损数据,对不能恢复的数据直接进行删除处理[7]。对于不相关交互行为冗余记录,需要在检查URL的基础上,完成冗余记录数据的删除。

此外,除了上述交互行为数据处理外,还需要对记录数据属性进行删减,以减少特征提取的时间。交互行为记录数据除了包括特征提取所需要的信息,如用户的ID、交互日期、请求内容外,还有一些特征是不需要提取的内容,如用户年龄、登录地点、登录方法等信息。对于这类信息可以进行删除处理[8]。

3.2 交互行为序列特征的提取

序列特征提取的目的是发现数据库交互行为记录之间的相关性,从中提取出正常交互行为的序列模式[9]。以下为序列模式挖掘过程:

将采集并处理好的交互行为记录数据集以用户ID为主关键字,交互日期为次关键字、请求为最次关键字进行排序,组成一个记录数据库,如表3所示。

表3 记录数据库表示形式

设W为滑动窗口大小;Ni为用户i所拥有的记录数据。模式p在用户i的支持度为

(2)

式中,Qi(p,s)为用户i中满足滑动窗口大小的序列,给定最小支持度min-sup ,若sup(p)≥min-sup ,则模式p为用户i中的频繁序列。因此,最大序列算法提取过程如图3所示。

图3 最大序列算法提取过程

依据上述过程,提取出的正常数据库交互行为序列如图4所示。

图4 正常数据库交互行为序列

3.3 交互行为序列特征的匹配

如果在实际验证过程中,发现用户在与数据库交互时,出现了许多与正常交互行为序列特征无关的操作,访问了数据库中许多以前没有访问过或很少访问的机密文件,则可以推断出该交互行为出现了某种异常[10]。这种异常可能是由用户本身引起的,该用户访问了超出自己权限的数据,更大可能是由非法用户访问窃取了正常用户的账号,进行了恶意操作。而要想有效遏制这种现象,对交互行为的序列特征进行匹配必不可少。交互行为序列特征匹配过程示意图如图5所示。

图5 交互行为序列特征匹配过程示意图

下面通过相似度计算来完成数据库交互行为序列特征的匹配,其原理如下:将数据库正常交互行为的序列转换成空间向量,将待验证交互行为序列转换成待查空间向量[11];然后计算二者之间的相似度,找出二者之间超过设定阈值的序列片段,确定与正常数据库交互行为序列最相似的交互序列,实现交互行为验证,具体验证流程如图6所示。

图6 交互行为序列特征匹配流程

步骤1:假设x和y分别代表需要比较的两个序列,前者为正常数据库交互行为序列,后者为待检测交互行为序列。将二者转换为空间向量。

步骤2:计算检测交互行为序列与正常交互行为序列之间相似度Z。

(3)

式中,L0待查序列长度;n为待查序列数量;Lt为序列特征长度。

步骤3:按照从大到小的顺序排列相似度,判断待查交互行为序列集与正常数据库交互行为序列最相似的序列L。

步骤4:计算最相似的序列L与待查交互行为序列集中其它序列的相似度指标,将其中的最大值记为序列L对应的阈值M。

步骤5:检索所有交互行为序列,只要与正常数据库交互行为序列之间的阈值距离小于M,就认为该序列所属正常序列样本[12]。

综上所述,实现了基于序列匹配的数据库交互行为公开验证方法。

4 实验研究

本实验测试目标为:验证所提基于序列匹配的数据库交互行为公开验证方法的有效性。在不同攻击方式下,运用本方法后,数据库交互行为验证的查全率以及查准率。

实验首先需要构建仿真平台,如图7所示。

图7 实验平台

设置的实验环境如表4所示。

表4 实验参数

现在注册一个新的账户,该账户为正常用户,访问计算机当中的数据库,进行训练,训练结束后。从网络审计记录中随机抽取一部分数据作为基础,提取其交互行为序列特征,如图8所示。

图8 交互行为序列特征

接着按照表5中非法攻击类型和数量与计算机中的数据库进行交互,得到待查交互行为序列,如图9所示。

表5 非法攻击类型与数量

图9 待查交互行为序列

最后将二者进行相似度匹配,得到匹配结果如表6所示。

表6 查全率和查准率仿真结果

从表6中可以看出,所提验证方法的查全率为96.7%,查准率为98.2%。二者均超过95%,由此可证明所提验证方法的有效性较高。为显示所提验证方法的优越性,利用基于聚类的方法、基于协议分析的方法以及基于信任值的方法再次进行数据库交互行为的公开验证,实验设置参数同样如表5所示,三种方法得出结果如表6所示。将以上四种方法得出的结果对比可知,应用所提的验证方法,其查全率和查准率均达到最大,分别比对比方法高,由此说明所提方法能有效解决三种传统方法存在的问题,并提升了数据库中数据安全性,降低非法窃取和破坏数据的风险。

5 结束语

为保证数据库中数据安全,防止非法窃取和泄露,针对基于聚类的方法、基于协议分析的方法以及基于信任值的方法存在的弊端,即查全率和查准率较低的问题,提出一种基于序列匹配的数据库交互行为公开验证方法,通过对比行为序列特征来发现数据库交互行为的异常,以此发现非法者入侵行为。经实验验证得出,基于序列匹配的数据库交互行为公开验证方法解决了传统方法存在的问题,查全率和查准率提高,降低了数据安全风险,保证数据安全。

猜你喜欢
数据库特征用户
离散型随机变量的分布列与数字特征
基于用户和电路的攻击识别方法
2021少儿出版用户触达能力指数
抓特征解方程组
不忠诚的四个特征
信用卡资深用户
数据库
数据库
数据库
数据库