面向电力信息内外网边界的数据库用户行为安全审计方法与流程

文档序号:11177614阅读:301来源:国知局
面向电力信息内外网边界的数据库用户行为安全审计方法与流程

本发明属于电力信息安全和数据库审计领域,具体涉及面向电力信息内外网边界的数据库用户行为安全审计方法。



背景技术:

目前已建成的以双网隔离为主要特征的电力信息网络安全防护体系中,电力信息内外网之间部署的信息安全网络隔离装置实现了逻辑强隔离,有力保障了电力信息内网业务的安全可靠运行。然而,随着智能电网的发展,信息内外网边界交互日益频繁,遭受攻击的可能性也不断增加。作为信息网第二道防线的信息内外网边界,承载着大量的外网业务与内网数据库服务的重要信息交互,然而信息安全网络隔离装置目前只能提供实时在线的sql语句过滤,更详细的安全事件采集和分析工作难以应对,导致难以评估边界安全状态、难以发现和追溯恶意攻击等问题日益突出,所以亟需在保持高强度安全防护能力的基础上,提高面向信息内外网边界的数据库在线监控和综合审计能力,进一步加强提高电力信息网安全整体防护能力。

数据库审计是保护数据库安全的重要措施。1991年,伊丽莎白(bishop)提出了安全审计由审计和日志两部分组成的理论,该理论对数据库安全审计的研究有着重要的指导意义。针对传统数据库管理系统中审计功能缺乏审计分析及检测入侵的缺陷,leventv.奥曼(orman)初步提出了数据库审计的三种策略:基于规则的审计、基于统计的审计、基于数据挖掘的审计。近年来,国内外公司也开发了多种数据库安全审计产品,如美国ibm的infosphereguardium、以色列imperva公司的securesphere和美国asi公司的dbprotect等,国内的上海复旦光华信息科技股份有限公司的db-audit、安恒信息技术有限公司的das-dbauditor和杭州思福迪公司的logbase业务数据库审计系统等。但是由于公司信息内外网边界上部署的隔离装置采用私有安全通信协议和独立的日志系统,市场上通用的安全审计产品很难与当前的隔离装置兼容,因此有必要研究依托于信息内外边界的专用安全审计系统。

svm是一种基于统计学习理论的机器学习模型,具有小样本学习和泛化能力良好、置信范围和收敛速度可控的优点,其在信息安全中的入侵检测领域获得了大量应用,但 是在入侵检测技术相关性较大的安全审计领域的应用却存在一些不足。

因此,针对现有的信息内外网边界安全监控和边界综合审计方面存在的不足,并且考虑到已有的公司的隔离装置采用私有安全通信协议和独立的日志系统,市场上通用安全审计类产品很难与隔离装置兼容的特点,提出了一种基于ocsvm的数据库用户访问行为的安全审计技术,实现信息内网数据库的安全审计。



技术实现要素:

为解决国网公司信息内外网边界安全监控和边界综合审计方面的不足,本发明提供一种面向电力信息内外网边界的数据库用户行为安全审计方法。本发明提供的技术方案引入svm的一个重要分支ocsvm作为用户行为的挖掘算法。本发明提供的ocsvm训练样本仅需要一个类别数据,非常适合两类分类中某类数据未知或者难以获取的分类情况,如异常检测。

本发明提供的面向电力信息内外网边界的数据库用户行为安全审计方法,其改进之处在于,所述数据库用户访问行为的安全审计方法包括:

(1)处理原始审计日志数据;

(2)训练数据样本构建用户访问行为模式库;

(3)检测数据库用户访问行为是否异常。

进一步的,处理原始审计日志数据的流程包括:

i、特征提取;

ii、sql语句分析;

iii、数值化处理;和

ⅳ、归一化处理。

进一步的,所述步骤i,分析审计日志中用户操作数据库的信息,选择特征向量代表用户的行为事件;

所述特征向量包括用户名、操作行为、操作对象、操作时间和ip地址。

进一步的,所述步骤ii,所述sql语句分析包括解析sql语句的词法和语法,得到特征向量中的操作行为和操作对象;

用lex词法分析器进行所述sql词法分析;

用yacc语法分析器进行所述sql语法分析。

进一步的,所述步骤iii,对用户行为数据中特征向量中的元素用数值映射,得到数 值化的特征向量;

所述用户行为数据包括特征向量固定的时间段内数量一定的用户对数据库操作行为的记录。

进一步的,所述步骤ⅳ中,训练样本经由下式(1)将数值化的特征向量中的元素映射到区间[0,1]:

其中,x为数值化后特征向量中的元素;x*为归一化后特征向量中的元素;max为训练样本数据的最大值;min为训练样本数据的最小值。

进一步的,所述步骤(2)中,将用户历史行为数据作为输入样本得到的ocsvm分类器构建数据库用户访问行为模式库;

进一步的,ocsvm训练数据样本的过程包括:

i、svm单分类功能的获得:svm训练学习所用的工具包libsvm调整训练函数svmtrain()的输入参数;

ii、将非线性分类问题的原始空间样本通过核函数映射到高维特征空间,转化为线性问题;svm的核函数采用径向基核函数,通过调整训练函数的输入参数实现函数调用;

iii、用网格搜索法与10迭交叉验证实现核函数参数与ocsvm训练函数系数的选取;

iiii、样本标签未知的历史正常操作行为样本作为svm输入,所述svm训练学习所得支持向量和分类器的参数构成数据库用户行为模式库。

进一步的,所述步骤(3)中,用ocsvm训练数据样本得到的ocsvm分类器判别待检测日志样本,确定用户访问行为是否异常;

所述ocsvm分类器的判别函数如下式(3)所示:

其中,x_d为待检测样本;xi为支持向量;n为支持向量的数目;αi为拉格朗日乘子;k(xi,xd)表示核函数,ρ为超平面截距。

进一步的,所述检测结果判别标准如svmpredict(x_d)所示:若svmpredict(x_d)=1,则用户行为判别为正常用户行为;若svmpredict(x_d)=-1,则用户行为判别为异常用户行为。

与最接近的现有技术比,本发明具有以下优异效果:

1.本发明提供的技术方案利用ocsvm训练学习仅需一类数据的特点,能够在异常行为样本未知的情况下实现对用户行为的学习,构建出数据库用户行为模式库,并以此实现对用户行为的异常检测,极大的提高了用户行为的异常检测效率。

2.本发明提供的技术方案对审计日志进行了特征选择、sql语句词法和语法分析,实现了对数据库用户访问行为的细粒度精确还原。

3.本发明提供的技术方案考虑到电力信息内外网边界上部署的隔离装置具有私有的安全通信协议和独立的日志系统,市场上通用的日志审计系统很难与隔离装置兼容,结合当前隔离装置的技术特点而提出,有效提高了电力信息网安全整体防护能力。

说明书附图

图1为本发明提供的安全审计方法的审计流程图;

图2为本发明提供的安全审计方法的日志预处理流程图;

图3为本发明提供的安全审计方法的sql语句语法解析流程图;

图4为本发明提供的安全审计方法的sql语句语法解析的实施例图。

具体实施方法

本发明提供了面向电力信息内外网边界的数据库用户行为安全审计方法,通过对审计日志进行特征选择、sql语句词法和语法分析等日志预处理技术,实现了数据库用户行为的精确还原,为用户行为审计提供了有效的数据准备;考虑到用户异常行为样本数据未知和难以获取的特点,通过引入单分类支持向量机(one-classsupportvectormachine,ocsvm)解决了二分类学习中异常样本类缺失的问题,利用ocsvm学习历史正常用户行为数据,构建完成用户行为模式库,以此实现用户异常行为的安全审计,实现对数据库用户访问行为的安全监测,从而为电力信息内外网边界的数据传输提供更深一层的监控和保护。

本发明利用ocsvm作为分类算法实现对数据库用户行为的安全审计,安全审计方法经过三个模块处理,分别是日志预处理模块、ocsvm训练模块和ocsvm检测模块。具体实施方法为:

1、日志预处理模块,审计日志。

日志预处理模块负责对原始的审计日志数据进行处理,生成能够作为ocsvm训练和 识别用的输入数据,处理流程主要包括特征提取、sql语句解析、数值化处理和归一化。

如图1所述的日志预处理流程如图,对日志进行预处理具体流程为:

(1)在审计日志的基础上,分析用户操作数据库的主要信息,选取用户名、操作行为、操作对象、操作时间和ip地址构成五元组特征向量,以此来代表用户的行为事件。特征向量中的操作行为包括select、update、insert和delete等行为,操作对象主要为数据库中的表和视图等信息。

(2)使用lex词法分析器实现sql语句的词法分析;使用yacc语法分析器实现sql语句的语法分析,具体的操作流程如图3所示,对sql语句的词法和语法分析得到语法解析树,得到特征向量中的操作行为和操作对象。

图4为sql语句的词法分析的具体实施例图,用lex词法分析器将sql语句依照词法规则进行划分,再用yacc语法分析器将划分后的sql语句解析得到语法解析树,将语句信息划分为五元组特征向量的元素。

(3)数值化处理用户行为数据。用户行为数据是一段时间内用户对数据库操作行为的记录,这段时间内的用户数量和各特征元素是固定的,可以对特征向量中的每个元素用数值进行一一映射,得到数值化的特征向量。例如,对于有多个用户的数据库系统,可以用整数1到n对数据库系统的多个用户进行映射,实现用户名的数值化处理。同理,其他元素也要进行类似的数值化处理。

(4)归一化。将用户正常行为数据作为训练样本,统一对数值化后的特征向量进行线性变化,是元素映射到区间[0,1],对训练样本归一化处理的转换函数为

其中,x为数值化后特征向量中的元素;x*为归一化后特征向量中的元素;max为训练样本数据的最大值;min为训练样本数据的最小值。

2、ocsvm训练模块。

训练模块将用户历史行为数据作为ocsvm训练的输入样本,得到ocsvm分类器以供检测模块使用,从而构建完成数据库用户访问行为模式库。具体的训练步骤包括:

(1)libsvm作为svm训练学习所用的工具包,所述的工具包通过调整训练函数svmtrain()的输入参数实现svm单分类功能,训练函数输入参数s=2即可实现svm单分类功能。

(2)对于非线性分类问题,需要将原始空间样本通过核函数映射到高维特征空间,转换为线性问题。采用径向基核函数作为svm的核函数,如下式(2)所述:

k(u,v)=exp(-g*||u-v||2)(2)

其中,g为核参数,u和v是原始空间输入向量;

可以通过调整训练函数svmtrain()输入参数t=2实现核函数的调用。核参数g和ocsvm训练函数系数n利用网格搜索法和10迭交叉验证实现参数寻优。

(3)设置历史正常用户行为的样本标签lable=1,将标签未知的历史正常行为样本作为svm输入,使用训练函数svmtrain()训练学习得到支持向量和分类器的参数,构成数据库用户行为模式库,以供检测模块使用。

3、ocsvm检测模块。

对于类型未知的行为样本检测,主要是利用训练模块得到的训练结果构建svm分类器,利用分类器对待检测日志样本进行判别,从而实现用户访问行为的异常检测。在libsvm工具包中,svm用于预测未知行为样本的函数为svmpredict(),ocsvm分类器判别函数为:

其中,x_d为待检测样本;xi为支持向量;n为支持向量的数目;αi为拉格朗日乘子;k(xi,xd)表示核函数,ρ为超平面截距。

对于待检测样本进行检测后,检测结果判别标准为:

若svmpredict(x_d)=1,则用户行为判别为正常用户行为;

若svmpredict(x_d)=-1,则用户行为判别为异常用户行为。

实施例

(1)实验仿真环境。在eclipse开发平台上利用libsvm.jar工具包完成,该工具包能够提供基本svm实现函数。

(2)样本采集。实验正常样本数据采集来源于电力信息内外网边界的隔离装置日志记录,该日志包括操作码、执行时间、sql操作语句、源ip地址、端口号等记录。通过分析正常行为日志数据特征,模拟构造用户越权操作、非法用户操作和敏感表资源读取三种常见异常行为的日志数据,以此作为测试数据,验证本审计方案的可行性。训练样本选取200个,测试样本选取正常行为样本60个、用户越权操作样本36个,非法用户操作32个,敏感资源读取25个。

(3)参数选取。选取gmin=0,gmax=5,每次步进gstep=0.1,nmin=0.1,nmax=1, 每次步进nstep=0.1,使用网格搜索法得到最佳训练参数值为g=0.2,n=0.5。

(4)实验结果。仿真测试结果如表1所示。

表一三种常见异常用户行为检测实验结果

从实验结果可以看出,三种异常行为和正常行为的检测率均达到80%以上,说明基于本方案设计的用户行为审计具有较高的检测精度,有效的保证了较低的误检率。其中,用户越权操作相对于其它两种异常行为误检率较高,主要是因为一方面用户越权操作所涉及的特征属性较多,检测难度较大,另一方面较少的正常行为样本量很难完全覆盖越权操作所有规律,因此,实际应用中可以通过提高正常行为样本量来降低误检率。

最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可以对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1